예제 #1
0
        public NaprawaSerwisowa ZlecNaprawe(DateTime dataRealizacji, Serwisant serwisant)
        {
            //dodanie powiazan ZgloszenieSerwisowe<->NaprawaSerwisowa
            var naprawa = NaprawaSerwisowa.UtworzNaprawe(this, dataRealizacji, serwisant);

            _zawierajace.Add(naprawa);
            return(naprawa);
        }
예제 #2
0
        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();
        }
예제 #3
0
        //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);
            }
        }