예제 #1
0
        private void SacuvajEditProdaja(object sender, RoutedEventArgs e)
        {
            var listaProdaje = Projekat.Instance.ProdajaNamestaja;

            this.DialogResult = true;

            double cenaNamestaja = 0;
            double cenaUsluga    = 0;
            int    kolicinaNam   = 0;

            for (int i = 0; i < prodaja.NamestajNaProdaja.Count; i++)
            {
                if (prodaja.NamestajNaProdaja[i].CenaPopust > 0)
                {
                    cenaNamestaja += prodaja.NamestajNaProdaja[i].CenaPopust;
                }
                else
                {
                    cenaNamestaja += prodaja.NamestajNaProdaja[i].JedinicnaCena;
                }
            }

            for (int i = 0; i < prodaja.DodatneUsluge.Count; i++)
            {
                cenaUsluga += prodaja.DodatneUsluge[i].Cena;
            }

            for (int i = 0; i < prodaja.NamestajNaProdaja.Count; i++)
            {
                kolicinaNam += prodaja.NamestajNaProdaja[i].KolicinaUMagacinu;
            }

            switch (operacija)
            {
            case Operacija.DODAVANJE:
                prodaja.Id         = listaProdaje.Count + 1;
                prodaja.BrojRacuna = listaProdaje.Count + 1;
                if (prodaja.NamestajNaProdaja.Count > 0)
                {
                    for (int i = 0; i < prodaja.NamestajNaProdaja.Count; i++)
                    {
                        prodaja.NamestajNaProdaja[i].KolicinaUMagacinu = prodaja.NamestajNaProdaja[i].KolicinaUMagacinu - prodaja.NamestajNaProdaja[i].ProdataKolicina;
                        prodaja.UkupanIznos = (cenaNamestaja * prodaja.NamestajNaProdaja[i].ProdataKolicina) + cenaUsluga;
                        Namestaj.Update(prodaja.NamestajNaProdaja[i]);
                    }
                }
                prodaja.UkupanIznosPDV = prodaja.UkupanIznos + ((prodaja.UkupanIznos * 20) / 100);
                ProdajaNamestaja.Create(prodaja);
                break;
            }
            Close();
        }
예제 #2
0
        private void DodajProdaju()
        {
            novaProdaja = new ProdajaNamestaja()
            {
                DatumProdaje = DateTime.Now,
                Kupac        = "",
                //BrojRacuna = 123
            };
            ProdajaNamestaja.Create(novaProdaja);
            var prozor = new ProdajeWindow(novaProdaja, NamestajWindow.Operacija.Dodavanje);

            prozor.ShowDialog();
            //view.Refresh();
        }
예제 #3
0
        private void SacuvajIzmene(object sender, RoutedEventArgs e)
        {
            if (ForceValidation() == true)
            {
                return;
            }

            switch (operacija)
            {
            case Operacija.DODAVANJE:

                Random random = new Random();
                prodajaNamestaja.BrojRacuna = "FTN" + random.Next(10, 99999) + DateTime.Today.ToString("ddMMyyyy");

                ProdajaNamestaja.Create(prodajaNamestaja);

                break;

            case Operacija.IZMENA:
                foreach (var stavkaD in ListaDodatihStavki)
                {
                    stavkaD.ProdajaNamestajaId = prodajaNamestaja.Id;

                    StavkaProdaje.Create(stavkaD);
                }

                foreach (var uslugaD in ListaDodatihUsluga)
                {
                    uslugaD.ProdajaNamestajaId = prodajaNamestaja.Id;
                    ProdataUsluga.Create(uslugaD);
                }

                foreach (var stavkaO in ListaObrisanihStavki)
                {
                    StavkaProdaje.Delete(stavkaO);
                }
                foreach (var uslugaO in ListaObrisanihUsluga)
                {
                    ProdataUsluga.Delete(uslugaO);
                }
                ProdajaNamestaja.Update(prodajaNamestaja);

                break;
            }

            Close();
        }
예제 #4
0
        private void btnPotvrda_Click(object sender, RoutedEventArgs e)
        {
            if (prodaja.Kupac != "")
            {
                if (prodaja.BrojRacuna != "")
                {
                    if (prodaja.ListUredjeniPar.Count > 0 || prodaja.ListDodatnaUsluga.Count > 0)
                    {
                        prodaja.DatumProdaje = DateTime.Now;

                        // prodaja runtime -> prodaja storage
                        ObservableCollection <UredjeniParRacunNamestaj> listaNamestaja = new ObservableCollection <UredjeniParRacunNamestaj>();
                        foreach (UredjeniParRacun par in prodaja.ListUredjeniPar)
                        {
                            // dodajemo u storage listu
                            listaNamestaja.Add(new UredjeniParRacunNamestaj(par.Namestaj.Naziv, par.Namestaj.JedinicnaCena, par.BrojNamestaja, par.Popust));

                            // namestaju smanjujemo kolicinu u magacinu
                            par.Namestaj.KolicinaUMagacinu -= par.BrojNamestaja;
                        }

                        ObservableCollection <UredjeniParRacunDodatnaUsluga> listaUsluga = new ObservableCollection <UredjeniParRacunDodatnaUsluga>();
                        foreach (DodatnaUsluga usluga in prodaja.ListDodatnaUsluga)
                        {
                            listaUsluga.Add(new UredjeniParRacunDodatnaUsluga(usluga.Naziv, usluga.Cena));
                        }

                        // pravimonovu storage verziju prodaje i ubacujemo je u bazu i storage listu prodaja
                        ProdajaNamestaja.Create(new ProdajaNamestaja(listaNamestaja, listaUsluga, prodaja.DatumProdaje, prodaja.Kupac, prodaja.BrojRacuna, prodaja.PDV));

                        Close();
                    }
                    else
                    {
                        MessageBox.Show("Niste uneli nijednu stavku prodaje.", "Greska!");
                    }
                }
                else
                {
                    tbRacun.Focus();
                }
            }
            else
            {
                tbKupac.Focus();
            }
        }
        private void btnOk_Click(object sender, RoutedEventArgs e)
        {
            var listaProdaje = Projekat.Instance.prodajaNamestaja;

            switch (operacija)
            {
            case Operacija.DODAVANJE:

                prodajaNamestaja.Id = listaProdaje.Count + 1;
                prodajaNamestaja    = ProdajaNamestaja.Create(prodajaNamestaja);
                // listaProdaje.Add(prodajaNamestaja);
                break;

            case Operacija.IZMENA:

                foreach (var prodaja in listaProdaje)
                {
                    if (prodaja.Id == prodajaNamestaja.Id)
                    {
                        prodaja.DatumProdaje      = prodajaNamestaja.DatumProdaje;
                        prodaja.BrojRacuna        = prodajaNamestaja.BrojRacuna;
                        prodaja.Kupac             = prodajaNamestaja.Kupac;
                        prodaja.DodatnaUsluga     = prodajaNamestaja.DodatnaUsluga;
                        prodaja.DodatnaUslugaID   = prodajaNamestaja.DodatnaUslugaID;
                        prodaja.NamestajZaProdaju = prodajaNamestaja.NamestajZaProdaju;
                        ProdajaNamestaja.Update(prodaja);
                        break;
                    }
                }

                break;
            }
            //  GenericsSerializer.Serialize("prodajaNamestaja.xml", listaProdaje);

            this.prodajaNamestaja.izracunajCenu();
            MessageBox.Show(this.prodajaNamestaja.UkupnaCena.ToString(), caption: "Ukupna Cena", button: MessageBoxButton.OK, icon: MessageBoxImage.Information);

            this.Close();
        }