Exemple #1
0
        public ProdajaWindow(Korisnik korisnik, Prodaja prodaja, Operacija operacija)
        {
            InitializeComponent();

            this.korisnik  = korisnik;
            this.prodaja   = prodaja;
            this.operacija = operacija;

            if (prodaja.Id == 0)
            {
                Random rn  = new Random();
                int    num = rn.Next(0, 26);
                char   let = (char)('a' + num);
                prodaja.BrRacuna        = "R" + (ProdajaDAO.GetLastId() + 1).ToString() + let;
                lblImeProdavaca.Content = korisnik.KorisnickoIme;
                lblDatumProdaje.Content = DateTime.Now.Date;
            }
            else
            {
                lblImeProdavaca.DataContext = prodaja;
                lblDatumProdaje.Content     = prodaja.DatumProdaje;
            }
            tbKupac.MaxLength                        = 20;
            lblBrRacuna.DataContext                  = prodaja;
            prodaja.DatumProdaje                     = DateTime.Now.Date;
            tbKupac.DataContext                      = prodaja;
            tbCenaPDV.DataContext                    = prodaja;
            dgNamestaj.AutoGenerateColumns           = false;
            dgNamestaj.IsSynchronizedWithCurrentItem = true;
            dgNamestaj.DataContext                   = this;
            view = CollectionViewSource.GetDefaultView(prodaja.ListaProdajeNamestaja);
            dgNamestaj.ItemsSource = view;

            dgDodatnaUsluga.AutoGenerateColumns           = false;
            dgDodatnaUsluga.IsSynchronizedWithCurrentItem = true;
            dgDodatnaUsluga.DataContext = this;
            viewDU = CollectionViewSource.GetDefaultView(prodaja.ListaDodatnihUsluga);
            dgDodatnaUsluga.ItemsSource = viewDU;

            if (operacija == Operacija.INFO)
            {
                tbKupac.IsReadOnly    = true;
                btnDodajDU.IsEnabled  = false;
                btnObrisiDU.IsEnabled = false;
                btnDodajN.IsEnabled   = false;
                btnObrisiN.IsEnabled  = false;
            }
        }
Exemple #2
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;
                }
            }
        }