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);
            }
        }
示例#3
0
        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);
            }
        }
示例#7
0
        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;
                }
            }
        }