Exemple #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;
        }
Exemple #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();
 }
Exemple #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;
        }
Exemple #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;
            }
        }
Exemple #5
0
        private void ObrisiItem(object sender, RoutedEventArgs e)
        {
            if (dgTabela.SelectedItem == null)
            {
                ErrorMessagePrint("Niste nista izabrali. ", "Upozorenje");
                return;
            }
            switch (izabranaOpcija)
            {
            case Opcija.NAMESTAJ:
                var izabraniNamestaj = (Namestaj)dgTabela.SelectedItem;

                MessageBoxResult namestajMessage = MessageBox.Show("Da li ste sigurni da zelite da obrisete ovaj namestaj?", "Brisanje", MessageBoxButton.YesNo);
                if (namestajMessage == MessageBoxResult.Yes)
                {
                    NamestajDAO.Delete(izabraniNamestaj);
                }
                ;
                break;

            case Opcija.TIPNAMESTAJA:
                var izabraniTipNamestaja = (TipNamestaja)dgTabela.SelectedItem;
                if (izabraniTipNamestaja.Id == 1)
                {
                    MessageBoxResult poruka = MessageBox.Show("Ovaj tip se ne moze obrisati!", "Upozorenje", MessageBoxButton.OK);
                    return;
                }
                MessageBoxResult tipNamestajaMessage = MessageBox.Show("Da li ste sigurni da zelite da obrisete ovaj tip namestaja?", "Brisanje", MessageBoxButton.YesNo);
                if (tipNamestajaMessage == MessageBoxResult.Yes)
                {
                    var tempListaZaBrisanje = NamestajDAO.GetAllForTipId(izabraniTipNamestaja.Id);
                    foreach (var item in tempListaZaBrisanje)
                    {
                        item.TipNamestaja = TipNamestajaDAO.GetById(1);
                        NamestajDAO.Update(item);
                    }
                    TipNamestajaDAO.Delete(izabraniTipNamestaja);
                }
                ;
                break;

            case Opcija.KORISNIK:
                var izabraniKorisnik = (Korisnik)dgTabela.SelectedItem;

                MessageBoxResult korisnikMessage = MessageBox.Show("Da li ste sigurni da zelite da obrisete ovog korisnika?", "Brisanje", MessageBoxButton.YesNo);
                if (korisnikMessage == MessageBoxResult.Yes)
                {
                    KorisnikDAO.Delete(izabraniKorisnik);
                }
                ;
                break;

            case Opcija.AKCIJA:
                var izabranaAkcija = (Akcija)dgTabela.SelectedItem;

                MessageBoxResult akcijaMessage = MessageBox.Show("Da li ste sigurni da zelite da obrisete ovu akciju?", "Brisanje", MessageBoxButton.YesNo);
                if (akcijaMessage == MessageBoxResult.Yes)
                {
                    var listaZaBrisanje = NaAkcijiDAO.GetAllNAForActionId(izabranaAkcija.Id);
                    foreach (var item in listaZaBrisanje)
                    {
                        NaAkcijiDAO.Delete(item);
                    }
                    AkcijaDAO.Delete(izabranaAkcija);
                }
                ;
                break;

            case Opcija.DODATNAUSLUGA:
                var izabranaDodatnaUsluga = (DodatnaUsluga)dgTabela.SelectedItem;

                MessageBoxResult dodatnaUslugaMessage = MessageBox.Show("Da li ste sigurni da zelite da obrisete ovu dodatnu uslugu?", "Brisanje", MessageBoxButton.YesNo);
                if (dodatnaUslugaMessage == MessageBoxResult.Yes)
                {
                    DodatnaUslugaDAO.Delete(izabranaDodatnaUsluga);
                }
                ;
                break;

            case Opcija.PRODAJA:
                var izabranaProdaja = (ProdajaNamestaja)dgTabela.SelectedItem;

                MessageBoxResult prodajaMessage = MessageBox.Show("Da li ste sigurni da zelite da obrisete ovu prodaju?", "Brisanje", MessageBoxButton.YesNo);
                if (prodajaMessage == MessageBoxResult.Yes)
                {
                    var listaZaBrisanje = JedinicaProdajeDAO.GetAllForId(izabranaProdaja.Id);
                    foreach (var item in listaZaBrisanje)
                    {
                        var tempNamestaj = NamestajDAO.GetById(item.NamestajId);
                        tempNamestaj.BrKomada += item.Kolicina;
                        NamestajDAO.Update(tempNamestaj);
                        JedinicaProdajeDAO.Delete(item);
                    }
                    ProdajaDAO.Delete(izabranaProdaja);
                }
                ;
                break;
            }
            view.Refresh();
        }