예제 #1
0
 public Decyzja(Prezes prezes, Zawodnik zawodnik, TypDecyzji typ, String komentarz)
 {
     idOstatniaDecyzja++;
     IdDecyzja = idOstatniaDecyzja;
     Prezes    = prezes;
     Zawodnik  = zawodnik;
     Typ       = Helper.GetEnumDescription(typ);
     Komentarz = komentarz;
     extent.Add(this);
 }
예제 #2
0
        //Podjęcie decyzji w sprawie zawodnika
        public Decyzja PodejmijDecyzje(Zawodnik zawodnik, TypDecyzji typ, String komentarz)
        {
            //Decyzję można podjąć, jeśli wcześniej stworzono kosztorys
            if (zawodnik.Kosztorys == null)
            {
                throw new Exception("Nnie sporządzono kosztorysu dla tego zawodnika");
            }
            Decyzja decyzja = new Decyzja(this, zawodnik, typ, komentarz);

            return(decyzja);
        }
예제 #3
0
파일: Kosztorys.cs 프로젝트: Tomasho1/MAS
 public Kosztorys(Dyrektor dyrektor, Zawodnik zawodnik, double szacowanaCena, double szacowanaPensja)
 {
     idOstatniKosztorys++;
     IdKosztorys     = idOstatniKosztorys;
     Dyrektor        = dyrektor;
     Zawodnik        = zawodnik;
     SzacowanaCena   = szacowanaCena;
     SzacowanaPensja = szacowanaPensja;
     extent.Add(this);
     zawodnik.Kosztorys = this;
 }
예제 #4
0
 public Raport(Skaut skaut, Zawodnik zawodnik, Mecz mecz, string komentarz)
 {
     idOstatniRaport++;
     IdRaport  = idOstatniRaport;
     Zawodnik  = zawodnik;
     Skaut     = skaut;
     Mecz      = mecz;
     Komentarz = komentarz;
     extent.Add(this);
     zawodnik.DodajRaport(skaut, this);
     skaut.DodajRaport(zawodnik, this);
 }
예제 #5
0
파일: GlownySkaut.cs 프로젝트: Tomasho1/MAS
 //Zmiana statusu zawodnika
 public void ZmienStatusZawodnika(Zawodnik zawodnik, StatusZawodnika status)
 {
     //Zmiana statusu zawodnika może nastąpić tylko wtedy, gdy posiada on domyślny status lub został skierowany do dalszej obserwacji
     if (zawodnik.Status == Helper.GetEnumDescription(StatusZawodnika.PoObserwacji) || zawodnik.Status == Helper.GetEnumDescription(StatusZawodnika.DoDalszejObserwacji))
     {
         zawodnik.Status = Helper.GetEnumDescription(status);
     }
     else
     {
         throw new Exception("Nie możesz zmienić statusu tego zawodnika");
     }
 }
예제 #6
0
파일: Dyrektor.cs 프로젝트: Tomasho1/MAS
        //Wydanie opinii na temat konkretnego zawodnika
        public void WydajOpinie(Zawodnik zawodnik, Opinia opinia)
        {
            //Opinię można wydać tylko dla zawodników zarekomendowanych przez głównego skauta
            if (zawodnik.Status == Helper.GetEnumDescription(StatusZawodnika.Zarekomendowany))
            {
                zawodnik.Opinia = Helper.GetEnumDescription(opinia);
            }

            else
            {
                throw new Exception("Nie możesz wydać opinii dla tego zawodnika");
            }
        }
예제 #7
0
파일: Dyrektor.cs 프로젝트: Tomasho1/MAS
        public Kosztorys StworzKosztorys(Zawodnik zawodnik, double szacowanaCena, double szacowanaPensja)
        {
            //Tylko dyrektor sportowy ma prawo stworzyć kosztorys
            if (!DyrektorSportowy)
            {
                throw new Exception("Tylko dyrektor sportowy może tworzyć kosztorys");
            }
            //Kosztorys dla zawodnika jest tworzony po wydaniu pozytywnej opinii przez dyrektora ds. transferów
            if (zawodnik.Opinia != Helper.GetEnumDescription(Opinia.Pozytywna))
            {
                throw new Exception("Zawodnik nie otrzymał pozytywnej opinii dyrektora ds. transferów");
            }

            Kosztorys kosztorys = new Kosztorys(this, zawodnik, szacowanaCena, szacowanaPensja);

            return(kosztorys);
        }
예제 #8
0
파일: Skaut.cs 프로젝트: Tomasho1/MAS
        //Stworzenie raportu
        public Raport StworzRaport(Zawodnik zawodnik, Mecz mecz, String komentarz)
        {
            Raport raport = new Raport(this, zawodnik, mecz, komentarz);

            return(raport);
        }
예제 #9
0
파일: Skaut.cs 프로젝트: Tomasho1/MAS
 //Dodanie raportu do listy
 public void DodajRaport(Zawodnik zawodnik, Raport raport)
 {
     raporty.Add(new KeyValuePair <Zawodnik, Raport>(zawodnik, raport));
 }
예제 #10
0
파일: Program.cs 프로젝트: Tomasho1/MAS
        static void Main(string[] args)
        {
            Klub k1 = new Klub("Hutnik Warszawa", "Polska", "Stadion Hutnika Warszawa", 1957, "IV Liga", 5);

            Prezes p1 = Prezes.DodajPrezesa(k1, "Daniel", "Lewandowski", "Polska", new DateTime(1965, 04, 21), new DateTime(2002, 05, 02), 10000, new DateTime(2016, 07, 01));

            Dyrektor d1 = Dyrektor.DodajDyrektora(k1, "Konrad", "Wójcicki", "Polska", new DateTime(1981, 10, 15), new DateTime(2018, 06, 21), 7000, new List <TypDyrektora>()
            {
                TypDyrektora.Sportowy, TypDyrektora.Transferowy
            });


            Mecz m1 = new Mecz(new DateTime(2021, 04, 15), "Ursus Warszawa", "Varsowia Warszawa", "2:1");
            Mecz m2 = new Mecz(new DateTime(2021, 04, 22), "Pogoń Siedlce", "Varsowia Warszawa", "0:2");
            Mecz m3 = new Mecz(new DateTime(2021, 05, 04), "Dąb Wieliszew", "Okęcie Warszawa", "4:1");
            Mecz m4 = new Mecz(new DateTime(2021, 05, 10), "Okęcie Warszawa", "Rozwój Warszawa", "0:0");
            Mecz m5 = new Mecz(new DateTime(2021, 05, 10), "Huragan Wołomin", "Sokół Serock", "0:6");
            Mecz m6 = new Mecz(new DateTime(2021, 05, 23), "Uniao de Leiria", "Estrela de Amadora", "0:1");
            Mecz m7 = new Mecz(new DateTime(2021, 05, 18), "Bug Wyszków", "Wicher Kobyłka", "2:3");
            Mecz m8 = new Mecz(new DateTime(2021, 05, 18), "Varsowia Warszawa", "Rozwój Warszawa", "3:0");

            Zawodnik z1 = new Zawodnik("Mikołaj", "Kwiatkowski", "Polska", "Środkowy pomocnik", new DateTime(1999, 07, 22), "Varsowia Warszawa", 10000);
            Zawodnik z2 = new Zawodnik("Adam", "Kozłowski", "Polska", "Bramkarz", new DateTime(2001, 12, 19), "Okęcie Warszawa", 7500);
            Zawodnik z3 = new Zawodnik("Sebastian", "Michalski", "Polska", "Lewy obrońca", new DateTime(1996, 02, 06), "Huragan Wołomin", 3000);
            Zawodnik z4 = new Zawodnik("Andre", "Martins", "Portugalia", "Napastnik", new DateTime(1998, 06, 04), "Estrela de Amadora", 40000);
            Zawodnik z5 = new Zawodnik("Arkadiusz", "Filipiuk", "Polska", "Środkowy obrońca", new DateTime(1996, 10, 14), "Wicher Kobyłka", 9000);
            Zawodnik z6 = new Zawodnik("Jakub", "Stefańczyk", "Polska", "Prawy pomocnik", new DateTime(1994, 01, 12), "Varsowia Warszawa", 12000);
            Zawodnik z7 = new Zawodnik("Angel", "Torres", "Hiszpania", "Napastnik", new DateTime(2003, 11, 29), "Uniao de Leiria", 25000);

            Skaut s1 = Skaut.DodajSkauta(k1, "Tomasz", "Kowalski", "Polska", new DateTime(1978, 02, 06), new DateTime(2014, 04, 29), 4500, new List <String>()
            {
                "Polska"
            });
            Skaut s2 = Skaut.DodajSkauta(k1, "Robert", "Nowak", "Polska", new DateTime(1970, 11, 10), new DateTime(2007, 08, 17), 5000, new List <String>()
            {
                "Polska"
            });
            Skaut s3 = Skaut.DodajSkauta(k1, "Damian", "Pacholczyk", "Polska", new DateTime(1985, 04, 08), new DateTime(2020, 10, 09), 4000, new List <String>()
            {
                "Polska"
            });
            Skaut s4 = Skaut.DodajSkauta(k1, "Michał", "Górski", "Polska", new DateTime(1981, 08, 30), new DateTime(2019, 09, 27), 4000, new List <String>()
            {
                "Polska, Słowacja"
            });
            Skaut s5 = Skaut.DodajSkauta(k1, "Luis", "Castro", "Portugalia", new DateTime(1965, 09, 01), new DateTime(2016, 02, 11), 4000, new List <String>()
            {
                "Portugalia, Hiszpania"
            });

            GlownySkaut gs1 = p1.AwansujSkauta(s2, 6000);

            //Przypadek 1 - Modelowy
            s1.StworzRaport(z1, m1, "Bardzo dobry występ. Aktywny, strzelił jedynego gola dla swojego zespołu");
            gs1.ZmienStatusZawodnika(z1, StatusZawodnika.DoDalszejObserwacji);
            s1.StworzRaport(z1, m2, "Kolejny pozytywny występ, choć tym razem bez bramki ani asysty");
            gs1.ZmienStatusZawodnika(z1, StatusZawodnika.Zarekomendowany);
            d1.WydajOpinie(z1, Opinia.Pozytywna);
            d1.StworzKosztorys(z1, 20000, 13000);
            p1.PodejmijDecyzje(z1, TypDecyzji.Zgoda, "Zawodnik z dużym potencjałem, na którego nas stać");

            //Przypadek 2 - Oczekuje na drugą zmianę statusu
            s3.StworzRaport(z6, m1, "Robił dużo wiatru po prawej stronie, ale rzadko kiedy coś z tego wynikało. Nieco egoistyczny na boisku");
            gs1.ZmienStatusZawodnika(z6, StatusZawodnika.DoDalszejObserwacji);
            s1.StworzRaport(z6, m8, "Wszedł na boisko z ławki rezerwowych na ostatni kwadrans, prawie strzelił gola");

            //Przypadek 3 - Negatywna opinia kończy proces
            s3.StworzRaport(z2, m3, "Puścił cztery bramki, jednak pretensje można mieć tylko o jedną z nich. Nieźle wyprowadzał piłkę");
            gs1.ZmienStatusZawodnika(z2, StatusZawodnika.DoDalszejObserwacji);
            s4.StworzRaport(z2, m4, "Tym razem na zero z tyłu, choć popełniał błędy i miał szczęście, że nie zostały one zamienione na bramki");
            gs1.ZmienStatusZawodnika(z2, StatusZawodnika.Zarekomendowany);
            d1.WydajOpinie(z2, Opinia.Negatywna);

            //Przypadek 4 - Zawiszenie obserwacji
            s4.StworzRaport(z3, m5, "Najsłabszy na boisku, przeciwnicy robili z nim co chcieli");
            gs1.ZmienStatusZawodnika(z3, StatusZawodnika.ZawieszenieObserwacji);

            //Przypadek 5 - Odmowna decyzja prezesa
            s5.StworzRaport(z4, m6, "Strzelec jedynego gola, wypracował też karnego. Pomimo swojego wzrostu bardzo ruchliwy i dynamiczny. Potencjalnie gwiazda ligi");
            gs1.ZmienStatusZawodnika(z4, StatusZawodnika.Zarekomendowany);
            d1.WydajOpinie(z4, Opinia.Pozytywna);
            d1.StworzKosztorys(z4, 100000, 70000);
            p1.PodejmijDecyzje(z1, TypDecyzji.Odrzucenie, "Pomimo niewątpliwego talentu niestety poza naszym zasięgiem finansowym");

            //Przypadek 6 - Modelowy v2
            s1.StworzRaport(z5, m7, "Wygrywał wiele pojedynków powietrznych. Brakuje mu nieco koordynacji, ale myślę, że można nad tym popracować");
            gs1.ZmienStatusZawodnika(z5, StatusZawodnika.DoDalszejObserwacji);
            s1.StworzRaport(z5, m8, "Skała, był wprost nie do przejścia. Dzięki niemu zespół nie stracił żadnej bramki");
            gs1.ZmienStatusZawodnika(z5, StatusZawodnika.Zarekomendowany);
            d1.WydajOpinie(z5, Opinia.Pozytywna);
            d1.StworzKosztorys(z5, 16000, 12000);
            p1.PodejmijDecyzje(z1, TypDecyzji.Zgoda, "Wygląda na stosunkowo tanie wzmocnienie kulejącej u nas obrony");

            //Przypadek 7 - Oczekuje na drugą zmianę statusu
            s5.StworzRaport(z7, m6, "Niski, zwinny napastnik, łatwo dochodził do sytuacji strzeleckich, za to miał problemy z wykończeniem");
            gs1.ZmienStatusZawodnika(z7, StatusZawodnika.DoDalszejObserwacji);


            Helper.SaveExtent <Decyzja>("Decyzje.bin");
            Helper.ReadExtent <Decyzja>();
            Helper.ShowExtent <Decyzja>();

            Helper.SaveExtent <Dyrektor>("Dyrektorzy.bin");
            Helper.ReadExtent <Dyrektor>();
            Helper.ShowExtent <Dyrektor>();

            Helper.SaveExtent <Klub>("Kluby.bin");
            Helper.ReadExtent <Klub>();
            Helper.ShowExtent <Klub>();

            Helper.SaveExtent <Kosztorys>("Kosztorysy.bin");
            Helper.ReadExtent <Kosztorys>();
            Helper.ShowExtent <Kosztorys>();

            Helper.SaveExtent <Mecz>("Mecze.bin");
            Helper.ReadExtent <Mecz>();
            Helper.ShowExtent <Mecz>();

            Helper.SaveExtent <Raport>("Raporty.bin");
            Helper.ReadExtent <Raport>();
            Helper.ShowExtent <Raport>();

            Helper.SaveExtent <Skaut>("Skauci.bin");
            Helper.ReadExtent <Skaut>();
            Helper.ShowExtent <Skaut>();

            Helper.SaveExtent <Zawodnik>("Zawodnicy.bin");
            Helper.ReadExtent <Zawodnik>();
            Helper.ShowExtent <Zawodnik>();
        }