public void Kupi(ProdajnoMesto mesto, int proizvod, NacinPlacanja nacinPlacanja) { Proizvod trazenProizvod = mesto.ListaProizvoda.FirstOrDefault(p => p.Id == proizvod); if (trazenProizvod != null && trazenProizvod.Cena <= Dzeparac) { string message = $"Kupljen proizvod: Proizvod ID: [{proizvod}], Naziv mesta: [{mesto.Naziv}], Ime zaposlenog prodavca: [{mesto.ListaZaposlenih.FirstOrDefault(r => r.Zaduzenje == "prodavac").Ime}], Nacin placanja: [{nacinPlacanja.ToString()}], Ime kupca: [{Ime}]"; Korpa.Add(trazenProizvod); Dzeparac -= trazenProizvod.Cena; mesto.ListaProizvoda.Remove(trazenProizvod); Log logger = new Log(); DateTime time = DateTime.Now; logger.LogAction(time, "KupovinaLog", message); } else if (trazenProizvod == null) { Console.WriteLine("Proizvod trenutno nije dostupan u prodavnici."); } else { Console.WriteLine("Nemate dovoljno sredstava."); } }
private void PopuniTabele() { dgProdajaDU.SelectedIndex = 0; tbUkupnaCenaPdv.DataContext = prodajaNamestaja; tbUkupnaCena.DataContext = prodajaNamestaja; tbDatum.DataContext = prodajaNamestaja; tbKupac.DataContext = prodajaNamestaja; tbKupac.MaxLength = 30; dgRacun.ItemsSource = Korpa; switch (operacija) { case Operacija.DODAVANJE: prodajaNamestaja.DatumProdaje = DateTime.Today; ListaDU = DodatnaUslugaDAO.GetAllNotSoldForId(0); break; case Operacija.IZMENA: var temp = prodajaNamestaja.UkupnaCena; prodajaNamestaja.UkupnaCenaPdv = temp + temp * ProdajaNamestaja.PDV; JedinicaProdajeDAO.GetAllForId(prodajaNamestaja.Id).ToList().ForEach(x => { Korpa.Add(x); }); ProdataDodatnaUslugaDAO.GetAllForId(prodajaNamestaja.Id).ToList().ForEach(x => { Korpa.Add(x); }); ListaDU = DodatnaUslugaDAO.GetAllNotSoldForId(prodajaNamestaja.Id); break; } view = CollectionViewSource.GetDefaultView(Projekat.Instance.Namestaji); view.Filter = obrisanFilterN; dgProdajaN.ItemsSource = view; dgProdajaN.SelectedIndex = 0; view = CollectionViewSource.GetDefaultView(ListaDU); view.Filter = obrisanFilterDU; dgProdajaDU.ItemsSource = view; //--------------------------------- dgProdajaN.IsReadOnly = true; dgProdajaN.IsSynchronizedWithCurrentItem = true; dgProdajaN.ColumnWidth = new DataGridLength(1, DataGridLengthUnitType.Star); dgProdajaN.CanUserSortColumns = false; dgProdajaN.CanUserAddRows = false; dgProdajaN.CanUserDeleteRows = false; //-- dgProdajaDU.IsReadOnly = true; dgProdajaDU.IsSynchronizedWithCurrentItem = true; dgProdajaDU.ColumnWidth = new DataGridLength(1, DataGridLengthUnitType.Star); dgProdajaDU.CanUserSortColumns = false; dgProdajaDU.CanUserAddRows = false; dgProdajaDU.CanUserDeleteRows = false; //-- dgRacun.IsReadOnly = true; dgRacun.IsSynchronizedWithCurrentItem = true; dgRacun.CanUserSortColumns = false; dgRacun.CanUserAddRows = false; dgRacun.CanUserDeleteRows = false; }
private void btnDodaj_Click(object sender, RoutedEventArgs e) { double tempCena = 0; switch (radSa) { case RadSa.NAMESTAJ: if (dgProdajaN.SelectedItem == null) { ErrorMessagePrint("Niste nista izabrali. ", "Upozorenje"); return; } Namestaj selektovaniNamestaj = (Namestaj)dgProdajaN.SelectedItem; if (selektovaniNamestaj.BrKomada == 0) { ErrorMessagePrint("Namestaj je rasprodat.", "Upozorenje"); return; } bool postoji = false; foreach (var item in Korpa) { if (item.GetType() == typeof(JedinicaProdaje)) { var tempJP = (JedinicaProdaje)item; if (tempJP.NamestajId == selektovaniNamestaj.Id) { var brKomadaUkupno = selektovaniNamestaj.BrKomada; brKomadaUkupno = tempJP.Kolicina + selektovaniNamestaj.BrKomada; var unosKolicine = new KolicinaWindow(brKomadaUkupno, tempJP.Kolicina); unosKolicine.ShowDialog(); if (unosKolicine.DialogResult == true) { tempJP.Kolicina += unosKolicine.Kolicina; selektovaniNamestaj.BrKomada -= unosKolicine.Kolicina; tempCena = selektovaniNamestaj.AkcijskaCena * unosKolicine.Kolicina; postoji = true; break; } else { return; } } } } if (postoji == false) { var unosKolicine = new KolicinaWindow(selektovaniNamestaj.BrKomada, 0); unosKolicine.ShowDialog(); if (unosKolicine.DialogResult == true) { JedinicaProdaje jd = new JedinicaProdaje { NamestajId = selektovaniNamestaj.Id, Kolicina = unosKolicine.Kolicina, }; Korpa.Add(jd); selektovaniNamestaj.BrKomada -= unosKolicine.Kolicina; tempCena = selektovaniNamestaj.AkcijskaCena * unosKolicine.Kolicina; } else { return; } } prodajaNamestaja.UkupnaCena += tempCena; prodajaNamestaja.UkupnaCenaPdv += tempCena + tempCena * ProdajaNamestaja.PDV; return; case RadSa.DODATNAUSLUGA: if (dgProdajaDU.SelectedItem == null) { ErrorMessagePrint("Niste nista izabrali. ", "Upozorenje"); return; } DodatnaUsluga selektovanaDodatnaUsluga = (DodatnaUsluga)dgProdajaDU.SelectedItem; tempCena = selektovanaDodatnaUsluga.Cena; prodajaNamestaja.UkupnaCena += tempCena; prodajaNamestaja.UkupnaCenaPdv += tempCena + tempCena * ProdajaNamestaja.PDV; var tempDU = new ProdataDU { DodatnaUslugaId = selektovanaDodatnaUsluga.Id, Obrisan = false }; Korpa.Add(tempDU); ListaDU.Remove(selektovanaDodatnaUsluga); return; } }