示例#1
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;
            }
        }
示例#2
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();
        }