//Kompozycja warunek 2 - Brak mozliwosci utworzenia czesci bez całości //Kompozycja warunek 1 - Brak współdzielenia części. public static NaprawaSerwisowa UtworzNaprawe(ZgloszenieSerwisowe zgloszenie, DateTime dataRealizacji, Serwisant serwisant) { if (zgloszenie.Equals(null)) { throw new Exception("Całość nie istnieje!"); } else if (serwisant.Equals(null)) { throw new Exception("Naprawa nie może zostać zrealizowana bez Serwisanta"); } else { var naprawa = new NaprawaSerwisowa(dataRealizacji) { //powiązanie ze Zgłoszeniem występuje tylko w jednym miejscu. brak publicznej metody do dodania powiazania _wRamach = zgloszenie, // dodanie powiązań NaprawaSerwisowa<->Serwisant _realizowanaPrzez = serwisant }; serwisant.PrzypiszDoNaprawy(naprawa); return(naprawa); } }
public ZgloszenieSerwisowe UtworzZgloszenie(string opisUsterki, string diagnostyka, Klient klient, Urzadzenie urzadzenie) { var zgloszenie = new ZgloszenieSerwisowe(opisUsterki, diagnostyka); // dodanie powiązań Agent<->ZgloszenieSerwisowe _obsluguje.Add(zgloszenie); zgloszenie.PrzypiszAgenta(this); // dodanie powiązań ZgloszenieSerwisowe<->Klient zgloszenie.PrzypiszUrzadzenie(urzadzenie); urzadzenie.PrzypiszZgloszenie(zgloszenie); //dodanie powiązań Klient<->ZgłoszenieSerwisowe zgloszenie.PrzypiszKlienta(klient); klient.PrzypiszZgloszenie(zgloszenie); return(zgloszenie); }
public void UsunPowiazanieZeZgloszeniem(ZgloszenieSerwisowe zgloszenie) { _zgloszoneWRamach.Remove(zgloszenie.GetNumerZgloszenia()); }
public void PrzypiszZgloszenie(ZgloszenieSerwisowe zgloszenie) { _zgloszoneWRamach.Add(zgloszenie.GetNumerZgloszenia(), zgloszenie); }
public void UsunPowiazanieZeZgloszeniem(ZgloszenieSerwisowe zgloszenie) { _zglasza.Remove(zgloszenie); }
public void PrzypiszZgloszenie(ZgloszenieSerwisowe zgloszenie) { _zglasza.Add(zgloszenie); }
public void UsunPowiazanieZeZgloszeniem(ZgloszenieSerwisowe zgloszenie) { _obsluguje.Remove(zgloszenie); }