sobota, 6 września 2008

II System płacowy (cz. 3) - Model dziedziny (Mapowanie)

Skoro mamy już warstwę dostępu do danych, to przyszedł czas na zrobienie modelu dziedziny.

Najpierw musimy się zastanowić jakie tabele w bazie będziemy mieli hmm

1. Zawód - będą przechowywane tutaj nazwy zawodów
2. Pracownik - jak się nie trudno domyśleć będą tutaj pracownicy
3. Przepracowane godziny- ilość przepracowanych godzin

To chyba tyle (przynajmniej na teraz).

Bierzmy się zatem do stworzenie modelu dziedziny.

A tak w ogóle to co to jest ten cały model? Można skrócić wywód ;) i zapisać go w jednym zdaniu: Model dziedziny są to obiekty, które modelują jakąś dziedzinę (wow odkrycie ;)). U nas będą to po prostu zmapowane (jeden do jednego) tabele.

Okey skoro już wiemy co to jest, zatem przejdźmy do akcji. Ale pierwsze... czas na obiad ;)

[po 30 min. przerwy obiadowej nasz zespół pełny (jedzenia ;)) zapału wkracza do pokoju by kontynuować pracę]


Na czym to skończyliśmy hmm... coś tam poudawaliśmy, pogadaliśmy sobie potem była przerwa... a tak! mapowanie tabel :)

Użyjemy sposobu mapowania: Foreign Key Mapping

Ale zaraz na razie nie mamy czego mapować, musimy utworzyć tabele:

zawod
id : int,
nazwa : varchar

pracownik
id : int,
imie : varchar
zawod_id : int

przepracowane_godziny
id : int,
pracownik_id : int
ilosc_godzin : int
data : dateTime

Mapnijmy to ;)

Zawód:
public class Zawod
{
public int Id { get; set; }
public string Nazwa { get; set; }

public Zawod(int id, string nazwa)
{
this.id = id;
this.Nazwa = nazwa;
}
}


Pracownik:
public class Pracownik
{
public int Id { get; set; }
public string Imie { get; set; }
public int ZawodId { get; set; }

public Pracownik (int id, string imie, int zawodId)
{
this.Id = id;
this.Imie = imie;
this.ZawodId = zawodId;
}
}


Przepracowane godziny:
public class PrzepracowaneGodziny
{
public int Id { get; set; }
public int PracownikId { get; set; }
public int IloscGodzin { get; set; }
public DateTime Data { get; set; }

public PrzepracowaneGodziny(int id, int pracownikId, int iloscGodzin, DateTime data)
{
this.Id = id;
this.PracownikId = pracownikId;
this.IloscGodzin = iloscGodzin;
this.Data = data;
}
}


Job done...

Brak komentarzy: