public void UsunNaprawe() { //usuniecie powiazanych obiektow PodzespolNaprawa foreach (var czesc in _zuzyla) { czesc.UsunPodzespolNaprawa(); } // usuniecie powiazania z Serwisantem _realizowanaPrzez.UsunPowiazanieNaprawa(this); //usuniecie powiazan ze ZgloszeniemSerwisowym _wRamach.UsunPowiazanaNaprawe(this); // usuniecie z ekstensji ObjectPlus.ZwrocEkstensje(typeof(NaprawaSerwisowa)).Remove(this); }
//Kompozycja warunek 3 - Usuwanie części przy usunięciu całości. public void UsunZgloszenie() { // usuniecie powiazania z Agentem _obslugiwanePrzez.UsunPowiazanieZeZgloszeniem(this); //usuniecie powiazania z Klientem _zglaszanePrzez.UsunPowiazanieZeZgloszeniem(this); // usuniecie powiazania z Urzadzeniem _dotyczace.UsunPowiazanieZeZgloszeniem(this); //usuniecie powiazanych napraw for (int i = _zawierajace.Count - 1; i >= 0; i--) { _zawierajace[i].UsunNaprawe(); } //usuniecie zgloszenia ObjectPlus.ZwrocEkstensje(typeof(ZgloszenieSerwisowe)).Remove(this); }
static void Main(string[] args) { // ObjectPlus.OdczytajEkstensje(); var s1 = new Serwisant("Damian", "Dabacki", "123456789", 200.0, "02-554"); var a1 = new Agent("Damian", "Dabacki", "123456789", new DateTime( 2007, 2, 1)); var k1 = new Klient("Kamil", "Kabacki", "512532525", new Adres("nowa", "15/5", "02-554", "Warszawa")); var u1 = new Desktop("3010", DateTime.Now, Desktop.TypObudowy.MT, false); u1.DodajZlacze(Komputer.TypyZlacz.HDMI, 1); u1.DodajZlacze(Komputer.TypyZlacz.DP, 2); var zgloszenie = a1.UtworzZgloszenie("gjhgjh", "gfgfdgf", k1, u1); var naprawa = zgloszenie.ZlecNaprawe(DateTime.Now, s1); ObjectPlus.PokazEkstensje(typeof(Serwisant)); ObjectPlus.PokazEkstensje(typeof(Agent)); ObjectPlus.PokazEkstensje(typeof(Klient)); ObjectPlus.PokazEkstensje(typeof(ZgloszenieSerwisowe)); ObjectPlus.PokazEkstensje(typeof(NaprawaSerwisowa)); zgloszenie.PokazPowiazania(); // naprawa.UsunNaprawe(); zgloszenie.UsunZgloszenie(); Console.WriteLine("\n__________________Powiazania po usunieciu__________________"); zgloszenie.PokazPowiazania(); Console.WriteLine("\n_________________po usunieciu___________________"); ObjectPlus.PokazEkstensje(typeof(Serwisant)); ObjectPlus.PokazEkstensje(typeof(Agent)); ObjectPlus.PokazEkstensje(typeof(Klient)); ObjectPlus.PokazEkstensje(typeof(ZgloszenieSerwisowe)); ObjectPlus.PokazEkstensje(typeof(NaprawaSerwisowa)); // ObjectPlus.ZapiszEkstensje(); Console.Read(); }
public void UsunPodzespolNaprawa() { _uzyty.UsunPowiazaniaZNaprawa(this); ObjectPlus.ZwrocEkstensje(typeof(PodzespolNaprawa)).Remove(this); }