private Skaut(Pracownik pracownik, List <String> regiony, double nowaPensja) : base(pracownik.Klub, pracownik.Imie, pracownik.Nazwisko, pracownik.Narodowosc, pracownik.DataUrodzenia, pracownik.DataZatrudnienia, nowaPensja) { Type typ = typeof(Pracownik); Klub klub = pracownik.Klub; Regiony = regiony; if (typ == typeof(GlownySkaut)) { klub.UsunGlownegoSkauta((GlownySkaut)pracownik); } if (typ == typeof(Dyrektor)) { klub.UsunPracownika(pracownik); Dyrektor.Extent.Remove((Dyrektor)pracownik); } if (typ == typeof(Prezes)) { klub.UsunPrezesa((Prezes)pracownik); } extent.Add(this); }
//Stworzenie skauta na podstawie istniejącego obiektu public static Skaut DodajSkauta(Pracownik pracownik, List <String> regiony, double nowaPensja) { Klub klub = pracownik.Klub; Skaut skaut = new Skaut(pracownik, regiony, nowaPensja); klub.DodajPracownika(skaut); return(skaut); }
//Stworzenie dyrektora na podstawie istniejącego obiektu public static Dyrektor DodajDyrektora(Pracownik pracownik, List <TypDyrektora> stanowiska, double nowaPensja) { Klub klub = pracownik.Klub; Dyrektor dyrektor = new Dyrektor(pracownik, stanowiska, nowaPensja); klub.DodajPracownika(dyrektor); return(dyrektor); }
//Stworzenie prezesa na podstawie istniejącego obiektu public static Prezes DodajPrezesa(Pracownik pracownik, DateTime poczatekKadencji, double nowaPensja) { Klub klub = pracownik.Klub; Prezes prezes = new Prezes(pracownik, poczatekKadencji, nowaPensja); klub.DodajPracownika(prezes); klub.DodajPrezesa(prezes); return(prezes); }
//Promocja skauta na głównego skauta public static GlownySkaut DodajGlownegoSkauta(Skaut skaut, Pracownik prezes, DateTime dataPromocji, double nowaPensja) { Klub klub = skaut.Klub; GlownySkaut glownySkaut = new GlownySkaut(skaut, prezes, dataPromocji, nowaPensja); klub.DodajPracownika(glownySkaut); klub.DodajGlownegoSkauta(glownySkaut); return(glownySkaut); }
private GlownySkaut(Skaut skaut, Pracownik prezes, DateTime dataPromocji, double nowaPensja) : base(skaut.Klub, skaut.Imie, skaut.Nazwisko, skaut.Narodowosc, skaut.DataUrodzenia, skaut.DataZatrudnienia, nowaPensja) { Klub klub = skaut.Klub; klub.UsunPracownika(skaut); Skaut.Extent.Remove(skaut); Prezes = (Prezes)prezes; DataPromocji = dataPromocji; }
//Zwolnienie pracownika public void UsunPracownika(Pracownik pracownik) { Type typ = typeof(Pracownik); if (!pracownicy.Contains(pracownik)) { throw new Exception("Pracownik nie pracuje w tym klubie"); } pracownicy.Remove(pracownik); wszyscyPracownicy.Remove(pracownik); if (typ == typeof(Dyrektor) || typ == typeof(Skaut)) { List <Pracownik> extent = (List <Pracownik>)typ.GetProperty("Extent", BindingFlags.Static | BindingFlags.Public).GetValue(null, null); extent.Remove(pracownik); } }
//Zatrudnienie pracownika public void DodajPracownika(Pracownik pracownik) { if (pracownicy.Contains(pracownik)) { throw new Exception("Pracownik już pracuje w tym klubie"); } if (!pracownicy.Contains(pracownik)) { if (wszyscyPracownicy.Contains(pracownik)) { throw new Exception("Pracownik pracuje już w innym klubie"); } pracownicy.Add(pracownik); wszyscyPracownicy.Add(pracownik); } }
public override bool Equals(object obj) { if ((obj == null) || !this.GetType().Equals(obj.GetType())) { return(false); } else { Pracownik pracownik = (Pracownik)obj; if (Klub == pracownik.Klub && Imie == pracownik.Imie && Nazwisko == pracownik.Nazwisko && Narodowosc == pracownik.Narodowosc && DataUrodzenia == pracownik.DataUrodzenia && DataZatrudnienia == pracownik.DataZatrudnienia && Pensja == pracownik.Pensja) { return(true); } else { return(false); } } }
private Dyrektor(Pracownik pracownik, List <TypDyrektora> stanowiska, double nowaPensja) : base(pracownik.Klub, pracownik.Imie, pracownik.Nazwisko, pracownik.Narodowosc, pracownik.DataUrodzenia, pracownik.DataZatrudnienia, nowaPensja) { Type typ = typeof(Pracownik); Klub klub = pracownik.Klub; if (stanowiska.Contains(TypDyrektora.Sportowy)) { DyrektorSportowy = true; } if (stanowiska.Contains(TypDyrektora.Transferowy)) { DyrektorTransferowy = true; } if (stanowiska.Contains(TypDyrektora.Sportowy) && stanowiska.Contains(TypDyrektora.Transferowy)) { DyrektorSportowy = true; DyrektorTransferowy = true; } if (typ == typeof(Skaut)) { klub.UsunPracownika(pracownik); Skaut.Extent.Remove((Skaut)pracownik); } if (typ == typeof(GlownySkaut)) { klub.UsunGlownegoSkauta((GlownySkaut)pracownik); } if (typ == typeof(Prezes)) { klub.UsunPrezesa((Prezes)pracownik); } extent.Add(this); }
private Prezes(Pracownik pracownik, DateTime poczatekKadencji, double nowaPensja) : base(pracownik.Klub, pracownik.Imie, pracownik.Nazwisko, pracownik.Narodowosc, pracownik.DataUrodzenia, pracownik.DataZatrudnienia, nowaPensja) { Type typ = typeof(Pracownik); Klub klub = pracownik.Klub; PoczatekKadencji = poczatekKadencji; if (typ == typeof(GlownySkaut)) { klub.UsunGlownegoSkauta((GlownySkaut)pracownik); } if (typ == typeof(Skaut)) { klub.UsunPracownika(pracownik); Skaut.Extent.Remove((Skaut)pracownik); } if (typ == typeof(Dyrektor)) { klub.UsunPracownika(pracownik); Dyrektor.Extent.Remove((Dyrektor)pracownik); } }