public static void Create(ProdajaNamestaj prodajaNamestaj) { try { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = @"INSERT INTO ProdajaNamestaj (ProdajaId, NamestajId, Kolicina, Cena, Obrisan) " + "VALUES (@ProdajaId, @NamestajId, @Kolicina, @Cena, @Obrisan);"; cmd.CommandText += "SELECT SCOPE_IDENTITY();"; cmd.Parameters.Add(new SqlParameter("@ProdajaId", prodajaNamestaj.ProdajaId)); cmd.Parameters.Add(new SqlParameter("@NamestajId", prodajaNamestaj.NamestajId)); cmd.Parameters.Add(new SqlParameter("@Kolicina", prodajaNamestaj.Kolicina)); cmd.Parameters.Add(new SqlParameter("@Cena", prodajaNamestaj.UkupnaCena)); cmd.Parameters.Add(new SqlParameter("@Obrisan", prodajaNamestaj.Obrisan)); cmd.Parameters.Add(new SqlParameter("@IdPN", prodajaNamestaj.Id)); prodajaNamestaj.Id = int.Parse(cmd.ExecuteScalar().ToString()); } Projekat.Instance.ProdajaNamestaj.Add(prodajaNamestaj); } catch (Exception) { MessageBox.Show("Doslo je do greske prilikom snimanja u bazu, Molimo Vas pokusajte ponovo", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Information); } }
public static void Load() { try { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = @"SELECT * " + "FROM ProdajaNamestaj " + "WHERE Obrisan = 0; "; SqlDataAdapter sqlDA = new SqlDataAdapter(); sqlDA.SelectCommand = cmd; DataSet dsA = new DataSet(); // izvrsavanje upita sqlDA.Fill(dsA, "ProdajaNamestaj"); foreach (DataRow row in dsA.Tables["ProdajaNamestaj"].Rows) { ProdajaNamestaj prodajaNamestaj = new ProdajaNamestaj(); prodajaNamestaj.Id = int.Parse(row["IdPN"].ToString()); prodajaNamestaj.NamestajId = int.Parse(row["NamestajId"].ToString()); prodajaNamestaj.ProdajaId = int.Parse(row["ProdajaId"].ToString()); prodajaNamestaj.Kolicina = int.Parse(row["Kolicina"].ToString()); prodajaNamestaj.Obrisan = Boolean.Parse(row["Obrisan"].ToString()); prodajaNamestaj.UkupnaCena = double.Parse(row["Cena"].ToString()); Projekat.Instance.ProdajaNamestaj.Add(prodajaNamestaj); } foreach (var prodaja in Projekat.Instance.Prodaja) { if (prodaja.ListaProdajeNamestajaId == null) { prodaja.ListaProdajeNamestajaId = new ObservableCollection <int?>(); } foreach (var prodajaNamestaj in Projekat.Instance.ProdajaNamestaj) { if (prodaja.Id == prodajaNamestaj.ProdajaId) { prodaja.ListaProdajeNamestajaId.Add(prodajaNamestaj.Id); } } } } } catch (Exception) { MessageBox.Show("Doslo je do greske prilikom ucitavanje iz baze, Molimo Vas pokusajte ponovo", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Information); } }
public StavkaWindow(ProdajaNamestaj stavka, int akcijaId, Parametar parametar) { InitializeComponent(); this.stavka = stavka; this.parametar = parametar; this.akcijaId = akcijaId; if (parametar == Parametar.DODATNAUSLUGA) { dataGridNamestaj.Visibility = Visibility.Collapsed; dgDodatnaUsluga.AutoGenerateColumns = false; dgDodatnaUsluga.IsSynchronizedWithCurrentItem = true; dgDodatnaUsluga.DataContext = this; viewd = CollectionViewSource.GetDefaultView(Projekat.Instance.DodatneUsluge); viewd.Filter = DodatnaUslugaFilter; dgDodatnaUsluga.ItemsSource = viewd; tbKolicina.Visibility = Visibility.Collapsed; lbKolicina.Visibility = Visibility.Collapsed; tbPopust.Visibility = Visibility.Collapsed; } else { dgDodatnaUsluga.Visibility = Visibility.Collapsed; dataGridNamestaj.AutoGenerateColumns = false; dataGridNamestaj.IsSynchronizedWithCurrentItem = true; dataGridNamestaj.DataContext = this; if (parametar == Parametar.PRODAJA) { viewn = CollectionViewSource.GetDefaultView(Projekat.Instance.Namestaji); viewn.Filter = NamestajFilter; dataGridNamestaj.ItemsSource = viewn; tbKolicina.DataContext = stavka; tbPopust.Visibility = Visibility.Collapsed; } else if (parametar == Parametar.AKCIJA) { if (namestajNotInAkcija.Count == 0) { MessageBox.Show("Nema dostupnih namestaja za akciju", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Information); } namestajNotInAkcija = NamestajDAO.LoadNamestajNotInAkcija(); viewn = CollectionViewSource.GetDefaultView(namestajNotInAkcija); dataGridNamestaj.ItemsSource = viewn; tbKolicina.Visibility = Visibility.Collapsed; tbPopust.DataContext = naAkciji; tbPopust.Visibility = Visibility.Visible; lbKolicina.Content = "Popust"; } } }
public static ObservableCollection <ProdajaNamestaj> LoadByProdajaId(int prodajaId) { try { var lista = new ObservableCollection <ProdajaNamestaj>(); using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = @"SELECT * " + "FROM ProdajaNamestaj " + "WHERE Obrisan = 0 and ProdajaId=@ProdajaId;"; SqlDataAdapter sqlDA = new SqlDataAdapter(); sqlDA.SelectCommand = cmd; cmd.Parameters.Add(new SqlParameter("@ProdajaId", prodajaId)); DataSet dsA = new DataSet(); // izvrsavanje upita sqlDA.Fill(dsA, "ProdajaNamestaj"); foreach (DataRow row in dsA.Tables["ProdajaNamestaj"].Rows) { ProdajaNamestaj prodajaNamestaj = new ProdajaNamestaj(); prodajaNamestaj.Id = int.Parse(row["IdPN"].ToString()); prodajaNamestaj.NamestajId = int.Parse(row["NamestajId"].ToString()); prodajaNamestaj.ProdajaId = int.Parse(row["ProdajaId"].ToString()); prodajaNamestaj.Kolicina = int.Parse(row["Kolicina"].ToString()); prodajaNamestaj.Obrisan = Boolean.Parse(row["Obrisan"].ToString()); prodajaNamestaj.UkupnaCena = double.Parse(row["Cena"].ToString()); lista.Add(prodajaNamestaj); } } return(lista); } catch (Exception) { MessageBox.Show("Doslo je do greske prilikom citanja iz baze, Molimo Vas pokusajte ponovo", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Information); return(null); } }
public static void Delete(ProdajaNamestaj prodajaNamestaj, TipBrisanja tipBrisanja, int prodajaId) { try { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); switch (tipBrisanja) { case TipBrisanja.ProdajaId: cmd.CommandText = @"UPDATE ProdajaNamestaj SET Obrisan = 1 WHERE ProdajaId=@ProdajaId"; cmd.Parameters.Add(new SqlParameter("@Obrisan", prodajaNamestaj.Obrisan)); cmd.Parameters.Add(new SqlParameter("@ProdajaId", prodajaId)); var i = cmd.ExecuteNonQuery(); break; case TipBrisanja.ProdajaNamestaj: cmd.CommandText = @"UPDATE ProdajaNamestaj SET Obrisan = 1 " + "WHERE IdPN=@IdPN"; cmd.Parameters.Add(new SqlParameter("@IdPN", prodajaNamestaj.Id));; var ii = cmd.ExecuteNonQuery(); break; } foreach (var pn in Projekat.Instance.ProdajaNamestaj) { if (pn.Id == prodajaNamestaj.Id) { pn.Obrisan = true; } } } } catch (Exception) { MessageBox.Show("Doslo je do greske prilikom snimanja u bazu, Molimo Vas pokusajte ponovo", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Information); } }
public static void Update(ProdajaNamestaj prodajaNamestaj) { try { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = @"UPDATE ProdajaNamestaj SET ProdajaId=@ProdajaId , NamestajId=@NamestajId, Kolicina=@Kolicina, Cena=@Cena, Obrisan=@Obrisan " + "WHERE IdPN=@IdPN;"; cmd.Parameters.Add(new SqlParameter("@ProdajaId", prodajaNamestaj.ProdajaId)); cmd.Parameters.Add(new SqlParameter("@NamestajId", prodajaNamestaj.NamestajId)); cmd.Parameters.Add(new SqlParameter("@Kolicina", prodajaNamestaj.Kolicina)); cmd.Parameters.Add(new SqlParameter("@Cena", prodajaNamestaj.UkupnaCena)); cmd.Parameters.Add(new SqlParameter("@Obrisan", prodajaNamestaj.Obrisan)); cmd.Parameters.Add(new SqlParameter("@IdPN", prodajaNamestaj.Id)); var uu = cmd.ExecuteNonQuery(); foreach (var pn in Projekat.Instance.ProdajaNamestaj) { if (prodajaNamestaj.Id == pn.Id) { pn.NamestajId = prodajaNamestaj.NamestajId; pn.Kolicina = prodajaNamestaj.Kolicina; pn.UkupnaCena = prodajaNamestaj.UkupnaCena; pn.Obrisan = prodajaNamestaj.Obrisan; } } } } catch (Exception) { MessageBox.Show("Doslo je do greske prilikom snimanja u bazu, Molimo Vas pokusajte ponovo", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Information); } }
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; } } }