Exemplo n.º 1
0
        static void Main(string[] args)
        {
            var wynagrodzenie = new Wynagrodzenie(100, 100, 0.9);
            var pracownik     = new Pracownik(wynagrodzenie, 1, "Jan", "Kowalski", "regular", TypUmowy.OPace, 1233421431241,
                                              DateTime.Parse("01-01-2000"));

            Console.WriteLine(pracownik.Pensja);
            InformacjeOOsobie(pracownik);

//            var osoba = new Osoba("Jan", "Kowalski", DateTime.Parse("01-02-2000"));
//            InformacjeOOsobie(osoba);

            var klient = new Klient("Test", "Test", DateTime.Parse("01-03-2000"));

            Console.WriteLine(klient.DataUtworzeniaKlienta);
            InformacjeOOsobie(klient);

            var menadzer = new Menadzer(new Wynagrodzenie(10000, 100, 0.5), 23, "Albert", "Einstein", TypUmowy.OPace, 1231231234123, "Test",
                                        DateTime.Parse("01-04-2000"));

            InformacjeOOsobie(menadzer);

            ZmienNazweStanowiska(pracownik, "test");
            ZmienNazweStanowiska(menadzer, "test2");

            var pracownicy = new Pracownicy();

            pracownicy.Add(menadzer);
            pracownicy.Add(pracownik);
            pracownicy.Add(Pracownik.UtworzPracownika("test", "test"));

            var janKowalski = pracownicy["Jan", "Kowalski"];

            Console.WriteLine(janKowalski.NazwaStanowiska);
            janKowalski.WyplacWynagrodzenie();
            Console.WriteLine(janKowalski[0]
                              .Tytul);

            pracownicy.UsunPracownika(janKowalski);
            var usunietyPracownik = pracownicy["Jan", "Kowalski"];

            Console.WriteLine(usunietyPracownik == null);
            Console.WriteLine(pracownicy.PobierzPracownika(p => p.Imie == "test")
                              .Nazwisko);

            Console.WriteLine(menadzer.Equals(pracownik));
            Console.WriteLine(pracownik.Equals(usunietyPracownik));

            Console.WriteLine(menadzer.CompareTo(pracownik));
            Console.WriteLine(pracownik.CompareTo(usunietyPracownik));

            foreach (var p in pracownicy)
            {
                Console.WriteLine(p.ToString());
            }

            try
            {
                new Pracownik(wynagrodzenie, 10, "Umowa", "O prace", "na czas nieokreslony", TypUmowy.OPace, true, 123454645, DateTime.Now);
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e);
            }

            try
            {
                new Pracownik(new Wynagrodzenie(100000, 10000, 1), 10, "Zbyt", "wysokie", "wynagrodzenie", TypUmowy.OPace, false, 123454645,
                              DateTime.Now);
            }
            catch (ArgumentException e)
            {
                Console.WriteLine(e);
            }

            Console.WriteLine(menadzer == pracownik);
            Console.WriteLine(menadzer != pracownik);

            Console.WriteLine((double)menadzer);

            menadzer.OnZmianaWynagrodzenia += (staraWartosc, nowaWartosc) =>
            {
                Console.WriteLine("Zmiana wynagrodzenia. Stara wartosc: {0}. Nowa wartosc: {1}", staraWartosc,
                                  nowaWartosc);
            };

            menadzer.ZmienWynagrodzenie(6000, 3000, 0);


            var xmlSerializer = new XmlSerializer(typeof(Pracownicy));

            using (var stream = new StreamWriter(new FileStream("pracownicy.xml", FileMode.OpenOrCreate)))
            {
                xmlSerializer.Serialize(stream, pracownicy);
            }

            using (var stream = new StreamReader(new FileStream("pracownicy.xml", FileMode.OpenOrCreate)))
            {
                var deserialize = xmlSerializer.Deserialize(stream) as Pracownicy;
                if (deserialize == null)
                {
                    return;
                }

                foreach (var p in deserialize)
                {
                    Console.WriteLine(p.ToString());
                }
            }
        }
Exemplo n.º 2
0
 public Pracownik(string imie, string nazwisko, DateTime dataZatrudnienia, Wynagrodzenie wynagrodzenie)
     : this(imie, nazwisko, dataZatrudnienia)
 {
     this.wynagrodzenie = wynagrodzenie;
 }