Пример #1
0
        //  metoda przedłużania tygodników oraz miesięczników, jednak nie działa do końca jak trzeba, więc nie ma faktycznej realizacji w kodzie
        //public void Przedluzanie()
        //{
        //    foreach (Drukarnia d in drukarnie)
        //    {
        //        foreach (Zlecenie z in d.GetZlecenia())
        //        {
        //            if (z.GetProdukt().GetType().Name == "Tygodnik")
        //            {
        //                Tygodnik t = (Tygodnik)z.GetProdukt();
        //                if ( (Dzien - t.DataRozpoczecia()) % t.Czestotliwosc()  == 0)
        //                {
        //                    Zlecenie zl = new Zlecenie() { stan = "czeka" };
        //                    PrzyjmijZamowienie(zl);
        //                }
        //            }
        //            if (z.GetProdukt().GetType().Name == "Miesiecznik")
        //            {
        //                Miesiecznik m = (Miesiecznik)z.GetProdukt();
        //                if ((Dzien - m.DataRozpoczecia()) % m.Czestotliwosc() == 0)
        //                {
        //                    Zlecenie zl = new Zlecenie() { stan = "czeka" };
        //                    zl.UstawProdukt(new Miesiecznik(30, Dzien) { tytul = m.tytul + (Dzien / m.Czestotliwosc()), cena = m.cena, naklad = m.naklad, strony = m.strony });
        //                    foreach (Autor a in m.GetAutorzy()) zl.GetProdukt().DodajAutora(a);
        //                    PrzyjmijZamowienie(zl);
        //                }
        //            }
        //        }
        //    }
        //}

        //przydzielanie zleceń dla drukarni na koniec każdego dnia
        public void PrzydzielZlecenia()
        {
            foreach (Zlecenie z in zlecenia)
            {
                Drukarnia d = NajmniejZajeta(z.GetProdukt().GetType().Name);
                d.CzasWydruku(z);
                d.DodajZlecenie(z);
            }
            zlecenia.Clear();
        }
Пример #2
0
        //sprawdzenie, która drukarnia jest w danym momencie najmniej zajęta, aby drukowanie kolejnych zleceń przebiegało możliwie szybko
        public Drukarnia NajmniejZajeta(string typ)
        {
            Drukarnia dr = drukarnie[0];

            foreach (Drukarnia d in drukarnie)
            {
                if (d.zajeta < dr.zajeta && d.CzyMozeDrukowac(typ) == true)
                {
                    dr = d;
                }
            }
            return(dr);
        }
Пример #3
0
        //kupowanie drukarni
        public void KupDrukarnie()
        {
            Random    r    = new Random();
            Drukarnia d    = new Drukarnia();
            double    cena = 2000 * ((float)d.jakosc / 5.0) * ((float)d.wydajnosc / 35000.0);

            if (cena < 2500)
            {
                cena = 2500;
            }
            cena   = Math.Round(cena);
            Saldo -= cena;
            drukarnie.Add(d);
        }
Пример #4
0
        //znajdowanie najlepszej jakościowo drukarni, aby umożliwić jej drukowanie albumów
        public void CoDrukujeDrukarnia()
        {
            Drukarnia d = new Drukarnia();

            d.jakosc = 0;
            foreach (Drukarnia dr in drukarnie)
            {
                if (dr.jakosc > d.jakosc)
                {
                    d = dr;
                }
            }
            d.DodajCoDrukuje("Album");
        }
Пример #5
0
        //wczytywanie stanu drukarni
        public List <Drukarnia> WczytajDrukarnie()
        {
            List <Drukarnia> drukarnie = new List <Drukarnia>();

            for (int i = 1; i <= 3; i++)
            {
                if (File.Exists("drukarnia" + i.ToString() + ".txt"))
                {
                    Drukarnia d = new Drukarnia();
                    string[]  lines = File.ReadAllLines("drukarnia" + i.ToString() + ".txt");
                    int       x = 1, l = lines.Length;
                    string[]  tmp = lines[x].Split(';');
                    foreach (string s in tmp)
                    {
                        d.DodajCoDrukuje(s);
                    }
                    while (lines[x] != "Zlecenia")
                    {
                        x++;
                    }
                    x++;
                    while (lines[x] != "Staty")
                    {
                        tmp = lines[x].Split(';');
                        Zlecenie z = new Zlecenie()
                        {
                            ileDni = Int32.Parse(tmp[4]), stan = tmp[5]
                        };
                        z.UstawDrukarnie(d);
                        if (tmp[6] == "Tygodnik")
                        {
                            z.UstawProdukt(new Tygodnik(7)
                            {
                                cena = Int32.Parse(tmp[0]), naklad = Int32.Parse(tmp[1]), strony = Int32.Parse(tmp[2]), tytul = tmp[3]
                            });
                        }
                        else if (tmp[6] == "Miesiecznik")
                        {
                            z.UstawProdukt(new Miesiecznik(30)
                            {
                                cena = Int32.Parse(tmp[0]), naklad = Int32.Parse(tmp[1]), strony = Int32.Parse(tmp[2]), tytul = tmp[3]
                            });
                        }
                        else if (tmp[6] == "Romans")
                        {
                            z.UstawProdukt(new Romans()
                            {
                                cena = Int32.Parse(tmp[0]), naklad = Int32.Parse(tmp[1]), strony = Int32.Parse(tmp[2]), tytul = tmp[3]
                            });
                        }
                        else if (tmp[6] == "Sensacja")
                        {
                            z.UstawProdukt(new Sensacja()
                            {
                                cena = Int32.Parse(tmp[0]), naklad = Int32.Parse(tmp[1]), strony = Int32.Parse(tmp[2]), tytul = tmp[3]
                            });
                        }
                        else
                        {
                            z.UstawProdukt(new Album()
                            {
                                cena = Int32.Parse(tmp[0]), naklad = Int32.Parse(tmp[1]), strony = Int32.Parse(tmp[2]), tytul = tmp[3]
                            });
                        }
                        d.DodajZlecenie(z);
                        x++;
                    }
                    x++;
                    tmp         = lines[x].Split(';');
                    d.jakosc    = Int32.Parse(tmp[0]);
                    d.wydajnosc = Int32.Parse(tmp[1]);
                    d.zajeta    = Int32.Parse(tmp[2]);
                    drukarnie.Add(d);
                }
            }
            return(drukarnie);
        }
Пример #6
0
 public void UstawDrukarnie(Drukarnia d)
 {
     drukarnia = d;
 }