public static AkcijskaProdaja Create(AkcijskaProdaja ap) { try { using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "INSERT INTO AkcijskaProdaja (Naziv,Popust,DatumPocetka,DatumZavrsetka,Obrisan) VALUES (@Naziv,@Popust,@DatumPocetka,@DatumZavrsetka,@Obrisan);"; cmd.CommandText += "SELECT SCOPE_IDENTITY();"; cmd.Parameters.AddWithValue("Naziv", ap.Naziv); cmd.Parameters.AddWithValue("Popust", ap.Popust); cmd.Parameters.AddWithValue("DatumPocetka", ap.DatumPocetka); cmd.Parameters.AddWithValue("DatumZavrsetka", ap.DatumZavrsetka); cmd.Parameters.AddWithValue("Obrisan", ap.Obrisan); ap.Id = int.Parse(cmd.ExecuteScalar().ToString()); //executeScalar izvrsava upit for (int i = 0; i < ap.NamestajAkcija.Count; i++) { SqlCommand command = conn.CreateCommand(); command.CommandText = "INSERT INTO NaAkciji (NamestajId,AkcijskaProdajaId,Obrisan) VALUES (@NamestajId,@AkcijskaProdajaId,@Obrisan);"; command.Parameters.AddWithValue("NamestajId", ap.NamestajAkcija[i].NamestajId); command.Parameters.AddWithValue("AkcijskaProdajaId", ap.Id); command.Parameters.AddWithValue("Obrisan", ap.Obrisan); command.ExecuteNonQuery(); foreach (var n in Projekat.Instance.Namestaj) { if (n.Id == ap.NamestajAkcija[i].NamestajId) { n.CenaNaAkciji = n.JedinicnaCena - n.JedinicnaCena * (ap.Popust / 100); n.AkcijaId = ap.Id; Namestaj.Update(n); } } } } Projekat.Instance.AkcijskaProdaja.Add(ap); return(ap); } catch (Exception) { MessageBox.Show("Upis u bazu nije uspeo.\n Molim da pokusate ponovo!", "Greska", MessageBoxButton.OK, MessageBoxImage.Warning); return(null); } }
public static ObservableCollection <AkcijskaProdaja> PretragaAkcije(string unos, TipPretrage tipPretrage, DateTime?poDatumu) { var akcija = new ObservableCollection <AkcijskaProdaja>(); using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString)) { SqlCommand cmd = conn.CreateCommand(); SqlDataAdapter da = new SqlDataAdapter(); switch (tipPretrage) { case TipPretrage.NAZIV: cmd.CommandText = "SELECT * FROM AkcijskaProdaja WHERE Naziv LIKE @unos AND Obrisan = 0;"; cmd.Parameters.AddWithValue("unos", "%" + unos.Trim() + "%"); break; case TipPretrage.DATUMP: cmd.CommandText = "SELECT * FROM AkcijskaProdaja WHERE Obrisan = 0 AND DatumPocetka = @poDatumu;"; cmd.Parameters.AddWithValue("poDatumu", poDatumu); break; case TipPretrage.DATUMZ: cmd.CommandText = "SELECT * FROM AkcijskaProdaja WHERE DatumZavrsetka = @poDatumu AND Obrisan = 0;"; cmd.Parameters.AddWithValue("poDatumu", poDatumu); break; case TipPretrage.NAMESTAJ: cmd.CommandText = "SELECT * FROM AkcijskaProdaja ap INNER JOIN NaAkciji na ON ap.Id = na.AkcijskaProdajaId INNER JOIN Namestaj n ON n.Id = na.NamestajId WHERE n.Naziv LIKE @unos;"; cmd.Parameters.AddWithValue("unos", "%" + unos.Trim() + "%"); break; } da.SelectCommand = cmd; DataSet ds = new DataSet(); da.Fill(ds, "AkcijskaProdaja"); foreach (DataRow row in ds.Tables["AkcijskaProdaja"].Rows) { var ap = new AkcijskaProdaja(); ap.Id = int.Parse(row["Id"].ToString()); ap.DatumPocetka = DateTime.Parse(row["DatumPocetka"].ToString()); ap.DatumZavrsetka = DateTime.Parse(row["DatumZavrsetka"].ToString()); ap.Popust = int.Parse(row["Popust"].ToString()); ap.Naziv = row["Naziv"].ToString(); ap.Obrisan = bool.Parse(row["Obrisan"].ToString()); akcija.Add(ap); } } return(akcija); }
public static ObservableCollection <AkcijskaProdaja> GetAll() { var akcija = new ObservableCollection <AkcijskaProdaja>(); using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); SqlDataAdapter da = new SqlDataAdapter(); cmd.CommandText = "SELECT * FROM AkcijskaProdaja WHERE Obrisan = 0;"; da.SelectCommand = cmd; DataSet ds = new DataSet(); da.Fill(ds, "AkcijskaProdaja"); // izvrsavanje upita foreach (DataRow row in ds.Tables["AkcijskaProdaja"].Rows) { var ap = new AkcijskaProdaja(); ap.Id = int.Parse(row["Id"].ToString()); ap.Naziv = row["Naziv"].ToString(); ap.Popust = double.Parse(row["Popust"].ToString()); ap.DatumPocetka = DateTime.Parse(row["DatumPocetka"].ToString()); ap.DatumZavrsetka = DateTime.Parse(row["DatumZavrsetka"].ToString()); ap.Obrisan = bool.Parse(row["Obrisan"].ToString()); if (DateTime.Today > ap.DatumZavrsetka) { AkcijskaProdaja.Delete(ap); } akcija.Add(ap); } return(akcija); } }
//azuriranje baze public static void Update(AkcijskaProdaja ap) { try { using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString)) { conn.Open(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = "UPDATE AkcijskaProdaja SET Naziv = @Naziv,Popust = @Popust,DatumPocetka = @DatumPocetka,DatumZavrsetka = @DatumZavrsetka, Obrisan= @Obrisan WHERE Id = @Id"; cmd.Parameters.AddWithValue("Id", ap.Id); cmd.Parameters.AddWithValue("Naziv", ap.Naziv); cmd.Parameters.AddWithValue("Popust", ap.Popust); cmd.Parameters.AddWithValue("DatumPocetka", ap.DatumPocetka); cmd.Parameters.AddWithValue("DatumZavrsetka", ap.DatumZavrsetka); cmd.Parameters.AddWithValue("Obrisan", ap.Obrisan); cmd.ExecuteNonQuery(); } //azuriranje modela foreach (var akcija in Projekat.Instance.AkcijskaProdaja) { if (ap.Id == akcija.Id) { akcija.Naziv = ap.Naziv; akcija.Popust = ap.Popust; akcija.DatumPocetka = ap.DatumPocetka; akcija.DatumZavrsetka = ap.DatumZavrsetka; akcija.Obrisan = ap.Obrisan; } } } catch (Exception) { MessageBox.Show("Upis u bazu nije uspeo.\n Molim da pokusate ponovo!", "Greska", MessageBoxButton.OK, MessageBoxImage.Warning); } }
public static void Delete(AkcijskaProdaja ap) { ap.Obrisan = true; Update(ap); }