public static ObservableCollection <Namestaj> NamestajNijeNaAkciji()
        {
            var namestaj = new ObservableCollection <Namestaj>();

            using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString))
            {
                SqlCommand     cmd = conn.CreateCommand();
                SqlDataAdapter da  = new SqlDataAdapter();
                cmd.CommandText  = "SELECT * FROM Namestaj WHERE Obrisan = 0 AND Id NOT IN (SELECT NamestajId FROM NaAkciji WHERE Obrisan = 0)";
                da.SelectCommand = cmd;
                DataSet ds = new DataSet();
                da.Fill(ds, "Namestaj"); // izvrsavanje upita

                foreach (DataRow row in ds.Tables["Namestaj"].Rows)
                {
                    var n = new Namestaj();
                    n.Id                = int.Parse(row["Id"].ToString());
                    n.TipNamestajaId    = int.Parse(row["TipNamestajaId"].ToString());
                    n.AkcijaId          = int.Parse(row["AkcijskaProdajaId"].ToString());
                    n.Naziv             = row["Naziv"].ToString();
                    n.Sifra             = row["Sifra"].ToString();
                    n.JedinicnaCena     = double.Parse(row["Cena"].ToString());
                    n.KolicinaUMagacinu = int.Parse(row["Kolicina"].ToString());
                    n.CenaNaAkciji      = double.Parse(row["CenaNaAkciji"].ToString());
                    n.Obrisan           = bool.Parse(row["Obrisan"].ToString());

                    namestaj.Add(n);
                }
            }
            return(namestaj);
        }
Exemple #2
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);
            }
        }
        //azuriranje baze
        public static void Update(Namestaj n)
        {
            try
            {
                using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString))
                {
                    conn.Open();

                    SqlCommand cmd = conn.CreateCommand();


                    cmd.CommandText = "UPDATE Namestaj SET TipNamestajaId = @TipNamestajaId,AkcijskaProdajaId = @AkcijskaProdajaId, CenaNaAkciji = @CenaNaAkciji,Naziv = @Naziv,Sifra = @Sifra,Cena = @Cena,Kolicina = @Kolicina, Obrisan= @Obrisan WHERE Id = @Id";
                    //cmd.CommandText += "SELECT SCOPE_IDENTITY();";
                    cmd.Parameters.AddWithValue("Id", n.Id);
                    cmd.Parameters.AddWithValue("TipNamestajaId", n.TipNamestajaId);
                    cmd.Parameters.AddWithValue("AkcijskaProdajaId", n.AkcijaId);
                    cmd.Parameters.AddWithValue("Naziv", n.Naziv);
                    cmd.Parameters.AddWithValue("Sifra", n.Sifra);
                    cmd.Parameters.AddWithValue("Cena", n.JedinicnaCena);
                    cmd.Parameters.AddWithValue("Kolicina", n.KolicinaUMagacinu);
                    cmd.Parameters.AddWithValue("CenaNaAkciji", n.CenaNaAkciji);
                    cmd.Parameters.AddWithValue("Obrisan", n.Obrisan);

                    cmd.ExecuteNonQuery();
                }
                //azuriranje modela
                foreach (var namestaj in Projekat.Instance.Namestaj)
                {
                    if (n.Id == namestaj.Id)
                    {
                        namestaj.Naziv             = n.Naziv;
                        namestaj.TipNamestajaId    = n.TipNamestajaId;
                        namestaj.TipNamestaja      = n.TipNamestaja;
                        namestaj.AkcijaId          = n.AkcijaId;
                        namestaj.Sifra             = n.Sifra;
                        namestaj.JedinicnaCena     = n.JedinicnaCena;
                        namestaj.KolicinaUMagacinu = n.KolicinaUMagacinu;
                        namestaj.CenaNaAkciji      = n.CenaNaAkciji;
                        namestaj.Obrisan           = n.Obrisan;
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Upis u bazu nije uspeo.\n Molim da pokusate ponovo!", "Greska", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
        public static ObservableCollection <Namestaj> PretragaNamestaja(string unos, TipPretrage tipPretrage)
        {
            var namestaj = new ObservableCollection <Namestaj>();

            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 Namestaj n INNER JOIN TipNamestaja tn ON n.TipNamestajaId = tn.Id WHERE n.Naziv LIKE @unos AND n.Obrisan = 0;";
                    break;

                case TipPretrage.SIFRA:
                    cmd.CommandText = "SELECT * FROM Namestaj n INNER JOIN TipNamestaja tn ON n.TipNamestajaId = tn.Id WHERE n.Sifra LIKE @unos AND n.Obrisan = 0;";
                    break;

                case TipPretrage.TIPNAMESTAJA:
                    cmd.CommandText = "SELECT * FROM Namestaj n INNER JOIN TipNamestaja tn ON n.TipNamestajaId = tn.Id WHERE tn.Naziv LIKE @unos AND n.Obrisan = 0;";
                    break;
                }
                cmd.Parameters.AddWithValue("unos", "%" + unos.Trim() + "%");
                da.SelectCommand = cmd;
                DataSet ds = new DataSet();
                da.Fill(ds, "Namestaj");

                foreach (DataRow row in ds.Tables["Namestaj"].Rows)
                {
                    var n = new Namestaj();
                    n.Id                = int.Parse(row["Id"].ToString());
                    n.TipNamestajaId    = int.Parse(row["TipNamestajaId"].ToString());
                    n.AkcijaId          = int.Parse(row["AkcijskaProdajaId"].ToString());
                    n.Naziv             = row["Naziv"].ToString();
                    n.Sifra             = row["Sifra"].ToString();
                    n.JedinicnaCena     = double.Parse(row["Cena"].ToString());
                    n.KolicinaUMagacinu = int.Parse(row["Kolicina"].ToString());
                    n.CenaNaAkciji      = double.Parse(row["CenaNaAkciji"].ToString());
                    n.Obrisan           = bool.Parse(row["Obrisan"].ToString());

                    namestaj.Add(n);
                }
            }
            return(namestaj);
        }
        public static Namestaj Create(Namestaj n)
        {
            Random random = new Random();

            try
            {
                using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString))
                {
                    conn.Open();

                    SqlCommand cmd = conn.CreateCommand();

                    cmd.CommandText  = "INSERT INTO Namestaj (TipNamestajaId,AkcijskaProdajaId,Naziv,Sifra,Cena,CenaNaAkciji,Kolicina,Obrisan) VALUES (@TipNamestajaId,@AkcijskaProdajaId,@Naziv,@Sifra,@Cena,@CenaNaAkciji,@Kolicina,@Obrisan);";
                    cmd.CommandText += "SELECT SCOPE_IDENTITY();";
                    cmd.Parameters.AddWithValue("TipNamestajaId", n.TipNamestajaId);
                    cmd.Parameters.AddWithValue("AkcijskaProdajaId", n.AkcijaId);
                    cmd.Parameters.AddWithValue("Naziv", n.Naziv);
                    n.Sifra = n.Naziv.Substring(0, 2).ToUpper() + random.Next(1, 99) + n.TipNamestaja.Naziv.Substring(0, 2).ToUpper();
                    cmd.Parameters.AddWithValue("Sifra", n.Sifra);
                    cmd.Parameters.AddWithValue("Cena", n.JedinicnaCena);
                    cmd.Parameters.AddWithValue("Kolicina", n.KolicinaUMagacinu);
                    cmd.Parameters.AddWithValue("CenaNaAkciji", n.CenaNaAkciji);
                    cmd.Parameters.AddWithValue("Obrisan", n.Obrisan);

                    n.Id = int.Parse(cmd.ExecuteScalar().ToString()); //executeScalar izvrsava upit
                }

                Projekat.Instance.Namestaj.Add(n);
                return(n);
            }
            catch (Exception)
            {
                MessageBox.Show("Upis u bazu nije uspeo.\n Molim da pokusate ponovo!", "Greska", MessageBoxButton.OK, MessageBoxImage.Warning);
                return(null);
            }
        }
 public static void Delete(Namestaj n)
 {
     n.Obrisan = true;
     Update(n);
 }