Beispiel #1
0
        private void PopuniTabele()
        {
            dgProdajaDU.SelectedIndex   = 0;
            tbUkupnaCenaPdv.DataContext = prodajaNamestaja;
            tbUkupnaCena.DataContext    = prodajaNamestaja;
            tbDatum.DataContext         = prodajaNamestaja;
            tbKupac.DataContext         = prodajaNamestaja;
            tbKupac.MaxLength           = 30;
            dgRacun.ItemsSource         = Korpa;
            switch (operacija)
            {
            case Operacija.DODAVANJE:
                prodajaNamestaja.DatumProdaje = DateTime.Today;
                ListaDU = DodatnaUslugaDAO.GetAllNotSoldForId(0);
                break;

            case Operacija.IZMENA:
                var temp = prodajaNamestaja.UkupnaCena;
                prodajaNamestaja.UkupnaCenaPdv = temp + temp * ProdajaNamestaja.PDV;
                JedinicaProdajeDAO.GetAllForId(prodajaNamestaja.Id).ToList().ForEach(x => { Korpa.Add(x); });
                ProdataDodatnaUslugaDAO.GetAllForId(prodajaNamestaja.Id).ToList().ForEach(x => { Korpa.Add(x); });
                ListaDU = DodatnaUslugaDAO.GetAllNotSoldForId(prodajaNamestaja.Id);
                break;
            }
            view                     = CollectionViewSource.GetDefaultView(Projekat.Instance.Namestaji);
            view.Filter              = obrisanFilterN;
            dgProdajaN.ItemsSource   = view;
            dgProdajaN.SelectedIndex = 0;
            view                     = CollectionViewSource.GetDefaultView(ListaDU);
            view.Filter              = obrisanFilterDU;
            dgProdajaDU.ItemsSource  = view;
            //---------------------------------
            dgProdajaN.IsReadOnly = true;
            dgProdajaN.IsSynchronizedWithCurrentItem = true;
            dgProdajaN.ColumnWidth        = new DataGridLength(1, DataGridLengthUnitType.Star);
            dgProdajaN.CanUserSortColumns = false;
            dgProdajaN.CanUserAddRows     = false;
            dgProdajaN.CanUserDeleteRows  = false;
            //--
            dgProdajaDU.IsReadOnly = true;
            dgProdajaDU.IsSynchronizedWithCurrentItem = true;
            dgProdajaDU.ColumnWidth        = new DataGridLength(1, DataGridLengthUnitType.Star);
            dgProdajaDU.CanUserSortColumns = false;
            dgProdajaDU.CanUserAddRows     = false;
            dgProdajaDU.CanUserDeleteRows  = false;
            //--
            dgRacun.IsReadOnly = true;
            dgRacun.IsSynchronizedWithCurrentItem = true;
            dgRacun.CanUserSortColumns            = false;
            dgRacun.CanUserAddRows    = false;
            dgRacun.CanUserDeleteRows = false;
        }
Beispiel #2
0
 private Projekat()
 {
     TipoviNamestaja = TipNamestajaDAO.GetAll();
     Namestaji       = NamestajDAO.GetAll();
     ProdateDU       = ProdataDodatnaUslugaDAO.GetAll();
     Salon           = SalonDAO.GetAll();
     Korisnici       = KorisnikDAO.GetAll();
     NaAkciji        = NaAkcijiDAO.GetAll();
     JediniceProdaje = JedinicaProdajeDAO.GetAll();
     DodatneUsluge   = DodatnaUslugaDAO.GetAll();
     Prodaja         = ProdajaDAO.GetAll();
     Akcija          = AkcijaDAO.GetAll();
 }
Beispiel #3
0
        private void PopuniPolja()
        {
            tbKupac.DataContext      = ProdajaIzabraniRed;
            tbBrojRacuna.DataContext = ProdajaIzabraniRed;
            tbDatum.DataContext      = ProdajaIzabraniRed;
            tbUkupnaCena.DataContext = ProdajaIzabraniRed;
            List <Object> tempListJP = (List <Object>)JedinicaProdajeDAO.GetAllForId(ProdajaIzabraniRed.Id).ToList <Object>();
            List <Object> tempListDU = (List <Object>)ProdataDodatnaUslugaDAO.GetAllForId(ProdajaIzabraniRed.Id).ToList <Object>();
            var           Korpa      = tempListJP.Concat(tempListDU);

            dgRacun.ItemsSource = Korpa;
            this.Title         += ProdajaIzabraniRed.BrRacuna;
        }
Beispiel #4
0
        private void btnProdajFinal_Click(object sender, RoutedEventArgs e)
        {
            if (ForceValidation() == true)
            {
                return;
            }
            if (Korpa.Count() != 0)
            {
                bool postojiJP = false;
                foreach (var item in Korpa)
                {
                    if (item.GetType() == typeof(JedinicaProdaje))
                    {
                        postojiJP = true;
                    }
                }

                if (postojiJP == false)
                {
                    ErrorMessagePrint("Ne mozete prodati samo dodatne usluge.", "Upozorenje");
                    return;
                }
            }
            else
            {
                ErrorMessagePrint("Korpa je prazna.", "Upozorenje");
                return;
            }
            switch (operacija)
            {
            case Operacija.DODAVANJE:
                prodajaNamestaja.BrRacuna = (new Random().Next(1, int.MaxValue)).ToString();
                var tempProdaja = ProdajaDAO.Create(prodajaNamestaja);
                foreach (var item in Korpa)
                {
                    if (item.GetType() == typeof(JedinicaProdaje))
                    {
                        var tempItem = (JedinicaProdaje)item;
                        foreach (Namestaj namestaj in Projekat.Instance.Namestaji)
                        {
                            if (namestaj.Id == tempItem.NamestajId)
                            {
                                NamestajDAO.Update(namestaj);
                                break;
                            }
                        }
                        tempItem.ProdajaId = tempProdaja.Id;
                        JedinicaProdajeDAO.Create(tempItem);
                    }
                    else
                    {
                        var tempItem = (ProdataDU)item;
                        tempItem.ProdajaId = tempProdaja.Id;
                        ProdataDodatnaUslugaDAO.Create(tempItem);
                    }
                }
                prodajaUspesna = true;
                this.Close();
                break;

            case Operacija.IZMENA:
                ProdajaDAO.Update(prodajaNamestaja);
                var listaJPZaBrisanje = JedinicaProdajeDAO.GetAllForId(prodajaNamestaja.Id);
                var listaDUZaBrisanje = ProdataDodatnaUslugaDAO.GetAllForId(prodajaNamestaja.Id);
                foreach (var item in Korpa)
                {
                    ////////////////
                    if (item.GetType() == typeof(JedinicaProdaje))
                    {
                        var  jpFromKorpa = (JedinicaProdaje)item;
                        bool postoji     = false;
                        foreach (var jpFromProdajaEdit in JedinicaProdajeDAO.GetAllForId(prodajaNamestaja.Id))
                        {
                            if (jpFromProdajaEdit.Id == jpFromKorpa.Id)
                            {
                                postoji = true;
                                listaJPZaBrisanje.ToList().ForEach(x => { if (x.Id == jpFromProdajaEdit.Id)
                                                                          {
                                                                              listaJPZaBrisanje.Remove(x);
                                                                          }
                                                                          return; });
                                //izbaci ga iz liste zato sto je vec postojao u prodaji. ALI PROVERI KOLICINU, ako je promenjena updejtuj namestaj.
                                if (jpFromKorpa.Kolicina != jpFromProdajaEdit.Kolicina)
                                {
                                    JedinicaProdajeDAO.Update(jpFromKorpa);
                                    NamestajDAO.Update(Namestaj.GetById(jpFromKorpa.NamestajId));
                                }
                                break;
                            }
                        }
                        if (postoji == false)
                        {
                            jpFromKorpa.ProdajaId = prodajaNamestaja.Id;
                            JedinicaProdajeDAO.Create(jpFromKorpa);
                            NamestajDAO.Update(Namestaj.GetById(jpFromKorpa.NamestajId));
                        }
                    }    ///////////
                    else
                    {
                        var  duFromKorpa = (ProdataDU)item;
                        bool postoji     = false;
                        foreach (ProdataDU duFromProdajaEdit in ProdataDodatnaUslugaDAO.GetAllForId(prodajaNamestaja.Id))
                        {
                            if (duFromProdajaEdit.Id == duFromKorpa.Id)
                            {
                                postoji = true;
                                listaDUZaBrisanje.ToList().ForEach(x => { if (x.Id == duFromProdajaEdit.Id)
                                                                          {
                                                                              listaDUZaBrisanje.Remove(x);
                                                                          }
                                                                          return; });
                                break;
                            }
                        }
                        if (postoji == false)
                        {
                            duFromKorpa.ProdajaId = prodajaNamestaja.Id;
                            ProdataDodatnaUslugaDAO.Create(duFromKorpa);
                        }
                    }
                }
                foreach (JedinicaProdaje jpZaObrisati in listaJPZaBrisanje)
                {
                    JedinicaProdajeDAO.Delete(jpZaObrisati);
                    var tempNamestaj = Namestaj.GetById(jpZaObrisati.NamestajId);
                    tempNamestaj.BrKomada += jpZaObrisati.Kolicina;
                    NamestajDAO.Update(tempNamestaj);
                }
                foreach (ProdataDU duZaObrisati in listaDUZaBrisanje)
                {
                    ProdataDodatnaUslugaDAO.Delete(duZaObrisati);
                }
                prodajaUspesna = true;
                this.Close();
                break;
            }
        }