public ProdajaWindow(Korisnik korisnik, Prodaja prodaja, Operacija operacija) { InitializeComponent(); this.korisnik = korisnik; this.prodaja = prodaja; this.operacija = operacija; if (prodaja.Id == 0) { Random rn = new Random(); int num = rn.Next(0, 26); char let = (char)('a' + num); prodaja.BrRacuna = "R" + (ProdajaDAO.GetLastId() + 1).ToString() + let; lblImeProdavaca.Content = korisnik.KorisnickoIme; lblDatumProdaje.Content = DateTime.Now.Date; } else { lblImeProdavaca.DataContext = prodaja; lblDatumProdaje.Content = prodaja.DatumProdaje; } tbKupac.MaxLength = 20; lblBrRacuna.DataContext = prodaja; prodaja.DatumProdaje = DateTime.Now.Date; tbKupac.DataContext = prodaja; tbCenaPDV.DataContext = prodaja; dgNamestaj.AutoGenerateColumns = false; dgNamestaj.IsSynchronizedWithCurrentItem = true; dgNamestaj.DataContext = this; view = CollectionViewSource.GetDefaultView(prodaja.ListaProdajeNamestaja); dgNamestaj.ItemsSource = view; dgDodatnaUsluga.AutoGenerateColumns = false; dgDodatnaUsluga.IsSynchronizedWithCurrentItem = true; dgDodatnaUsluga.DataContext = this; viewDU = CollectionViewSource.GetDefaultView(prodaja.ListaDodatnihUsluga); dgDodatnaUsluga.ItemsSource = viewDU; if (operacija == Operacija.INFO) { tbKupac.IsReadOnly = true; btnDodajDU.IsEnabled = false; btnObrisiDU.IsEnabled = false; btnDodajN.IsEnabled = false; btnObrisiN.IsEnabled = false; } }
private void Potvrdi_click(object sender, RoutedEventArgs e) { var listaStavki = ProdajaNamestaj.NadjiStavkuProdaje(prodaja.ListaProdajeNamestajaId); if (ForceValidation() == true) { return; } if (prodaja.ListaProdajeNamestaja.Count < 1) { MessageBox.Show("Morate kupiti barem jedan namestaj", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Information); } else { switch (operacija) { case Operacija.DODAVANJE: this.DialogResult = true; prodaja.ProdavacId = korisnik.Id; ProdajaDAO.Create(prodaja); foreach (var item in prodaja.ListaProdajeNamestaja) { item.ProdajaId = ProdajaDAO.GetLastId(); ProdajaNamestajDAO.Create(item); } foreach (var item in prodaja.ListaDodatnihUsluga) { item.ProdajaId = ProdajaDAO.GetLastId(); ProdajaDodatnaUslugaDAO.Create(item); } break; case Operacija.IZMENA: this.DialogResult = true; var listaProvera = ProdajaNamestajDAO.LoadByProdajaId(prodaja.Id); foreach (var prodajaNamestaj in prodaja.ListaProdajeNamestaja.ToList()) { bool postojiProdajaNamestaj = false; foreach (var item in listaProvera.ToList()) { if (item.Id == prodajaNamestaj.Id) { postojiProdajaNamestaj = true; listaProvera.Remove(item); break; } if (item.NamestajId == prodajaNamestaj.NamestajId) { if (item.Kolicina != prodajaNamestaj.Kolicina) { ProdajaNamestajDAO.Update(item); break; } } } if (postojiProdajaNamestaj == false) { prodajaNamestaj.ProdajaId = prodaja.Id; ProdajaNamestajDAO.Create(prodajaNamestaj); } } foreach (var item in listaProvera.ToList()) { ProdajaNamestajDAO.Delete(item, ProdajaNamestajDAO.TipBrisanja.ProdajaNamestaj, 0); } //Provera za Dodatnu uslugu var listaProveraDU = ProdajaDodatnaUslugaDAO.LoadByProdajaId(prodaja.Id); foreach (var prodajaDodatnaUsluga in prodaja.ListaDodatnihUsluga.ToList()) { bool postojiProdajaDU = false; foreach (var item in listaProveraDU.ToList()) { if (item.Id == prodajaDodatnaUsluga.Id) { postojiProdajaDU = true; listaProveraDU.Remove(item); break; } } if (postojiProdajaDU == false) { prodajaDodatnaUsluga.ProdajaId = prodaja.Id; ProdajaDodatnaUslugaDAO.Create(prodajaDodatnaUsluga); } } foreach (var item in listaProveraDU.ToList()) { ProdajaDodatnaUslugaDAO.Delete(item, ProdajaDodatnaUslugaDAO.TipBrisanja.ProdajaDodatnaUsluga, 0); } ProdajaDAO.Update(prodaja); break; } } }