コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        //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);
            }
        }
コード例 #5
0
 public static void Delete(AkcijskaProdaja ap)
 {
     ap.Obrisan = true;
     Update(ap);
 }