//ustalanie czasu wydruku na podstawie nakładu produktu oraz wydajności drukarni public void CzasWydruku(Zlecenie z) { double x = z.GetProdukt().strony *z.GetProdukt().naklad / wydajnosc; z.ileDni = (Int16)Math.Round(x); foreach (Zlecenie item in kolejka) { z.ileDni += item.ileDni; } }
//ustalanie ceny sprzedaży public void UstalCene(Zlecenie z) { Ksiazka k = (Ksiazka)z.GetProdukt(); double x = ((float)k.strony / 30) * ((float)k.ocena / 5); if (z.GetProdukt().GetType() == typeof(Album)) { x = x * 1.5; } k.cena = 30 * (Int32)Math.Round(x); if (k.cena < 3) { k.cena = 3; } }
//wydawnictwo czyta książkę, aby ocenić pozycję public void CzytajKsiazke(Zlecenie z) { Random r = new Random(); Ksiazka k = (Ksiazka)z.GetProdukt(); k.ocena = r.Next(1, 10); k.naklad = 1000 * k.ocena; }
//dodawanie zamówienie do kolejki private void Dodaj_Click(object sender, RoutedEventArgs e) { //sprawdzenie czy wszystkie dane zostały podane if (t.Text == "") { MessageBox.Show("Podaj tytuł"); return; } if (typy.SelectedItem == null) { MessageBox.Show("Wybierz typ produktu"); return; } if (str.Text == "") { MessageBox.Show("Podaj ilość stron"); return; } if (Ilu.SelectedItem == null) { MessageBox.Show("Wybierz ilość autorów"); return; } if (page.GetWydawnictwo().ZbierzZlecenia().Find(x => x.GetProdukt().tytul == t.Text) != null) { MessageBox.Show("Taki tytuł już istnieje w naszej bazie"); return; } TextBox t1, t2; ComboBox c; Zlecenie z = new Zlecenie() { stan = "czeka" }; //podział dodawania zlecenia zależnie od wybranego typu produktu if (typy.SelectedItem.ToString() == "Miesiecznik") { SprawdzStr(); z.UstawProdukt(new Miesiecznik(30) { tytul = t.Text, strony = Int32.Parse(str.Text), naklad = 8000, cena = 10 }); page.GetWydawnictwo().PrzyjmijZamowienie(z); for (int i = 1; i <= (Int32)Ilu.SelectedItem; i++) { c = (ComboBox)Panel.FindName("combo" + i.ToString()); if (c.SelectedItem == null) { MessageBox.Show("Wybierz autora"); return; } Autor a = page.GetLista().Find(x => x.Imie + " " + x.Nazwisko == c.SelectedItem.ToString()); a.dzielo = z.GetProdukt().tytul; z.GetProdukt().DodajAutora(a); } } if (typy.SelectedItem.ToString() == "Tygodnik") { SprawdzStr(); z.UstawProdukt(new Tygodnik(7) { tytul = t.Text, strony = Int32.Parse(str.Text), naklad = 2000, cena = 2 }); page.GetWydawnictwo().PrzyjmijZamowienie(z); for (int i = 1; i <= (Int32)Ilu.SelectedItem; i++) { c = (ComboBox)Panel.FindName("combo" + i.ToString()); if (c.SelectedItem == null) { MessageBox.Show("Wybierz autora"); return; } Autor a = page.GetLista().Find(x => x.Imie + " " + x.Nazwisko == c.SelectedItem.ToString()); a.dzielo = z.GetProdukt().tytul; z.GetProdukt().DodajAutora(a); } } if (typy.SelectedItem.ToString() == "Romans") { SprawdzStr(); z.UstawProdukt(new Romans() { tytul = t.Text, strony = Int32.Parse(str.Text) }); page.GetWydawnictwo().CzytajKsiazke(z); page.GetWydawnictwo().UstalCene(z); page.GetWydawnictwo().PrzyjmijZamowienie(z); for (int i = 1; i <= (Int32)Ilu.SelectedItem * 2; i += 2) { int x = i + 1; t1 = (TextBox)Panel.FindName("autor" + i.ToString()); t2 = (TextBox)Panel.FindName("autor" + x.ToString()); if (t1.Text == "" || t2.Text == "") { MessageBox.Show("Uzupełnij dane autora"); return; } Autor a = new Autor() { Imie = t1.Text, Nazwisko = t2.Text, coPisze = typy.SelectedItem.ToString() }; if (page.GetLista().Find(y => y.Imie == a.Imie && y.Nazwisko == a.Nazwisko) != null) { MessageBox.Show("Taki autor już znajduje się w bazie"); return; } a.DodajUmowe(new ODzielo() { stawka = 10 }); a.dzielo = z.GetProdukt().tytul; page.DodajAutoraDoListy(a); z.GetProdukt().DodajAutora(a); } } if (typy.SelectedItem.ToString() == "Sensacja") { SprawdzStr(); z.UstawProdukt(new Sensacja() { tytul = t.Text, strony = Int32.Parse(str.Text) }); page.GetWydawnictwo().CzytajKsiazke(z); page.GetWydawnictwo().UstalCene(z); page.GetWydawnictwo().PrzyjmijZamowienie(z); for (int i = 1; i <= (Int32)Ilu.SelectedItem * 2; i += 2) { int x = i + 1; t1 = (TextBox)Panel.FindName("autor" + i.ToString()); t2 = (TextBox)Panel.FindName("autor" + x.ToString()); if (t1.Text == "" || t2.Text == "") { MessageBox.Show("Uzupełnij dane autora"); return; } Autor a = new Autor() { Imie = t1.Text, Nazwisko = t2.Text, coPisze = typy.SelectedItem.ToString() }; if (page.GetLista().Find(y => y.Imie == a.Imie && y.Nazwisko == a.Nazwisko) != null) { MessageBox.Show("Taki autor już znajduje się w bazie"); return; } a.DodajUmowe(new ODzielo() { stawka = 10 }); a.dzielo = z.GetProdukt().tytul; page.DodajAutoraDoListy(a); z.GetProdukt().DodajAutora(a); } } if (typy.SelectedItem.ToString() == "Album") { SprawdzStr(); z.UstawProdukt(new Album() { tytul = t.Text, strony = Int32.Parse(str.Text) }); page.GetWydawnictwo().CzytajKsiazke(z); page.GetWydawnictwo().UstalCene(z); page.GetWydawnictwo().PrzyjmijZamowienie(z); for (int i = 1; i <= (Int32)Ilu.SelectedItem * 2; i += 2) { int x = i + 1; t1 = (TextBox)Panel.FindName("autor" + i.ToString()); t2 = (TextBox)Panel.FindName("autor" + x.ToString()); if (t1.Text == "" || t2.Text == "") { MessageBox.Show("Uzupełnij dane autora"); return; } Autor a = new Autor() { Imie = t1.Text, Nazwisko = t2.Text, coPisze = typy.SelectedItem.ToString() }; if (page.GetLista().Find(y => y.Imie == a.Imie && y.Nazwisko == a.Nazwisko) != null) { MessageBox.Show("Taki autor już znajduje się w bazie"); return; } a.DodajUmowe(new ODzielo() { stawka = 10 }); a.dzielo = z.GetProdukt().tytul; page.DodajAutoraDoListy(a); z.GetProdukt().DodajAutora(a); } } this.Close(); }