예제 #1
0
        public double IZracunajCenuRacuna()
        {
            double cena = 0;

            foreach (var n in Projekat.Instance.spn)
            {
                if (racun.Id == n.RacunId)
                {
                    Namestaj nn = Namestaj.GetById(n.NamestajId);
                    for (int i = 1; i <= n.Kolicina; i++)
                    {
                        if (nn.Akcija == null)
                        {
                            cena += nn.Cena;
                        }
                        else
                        {
                            cena += nn.Cena - (nn.Cena * nn.Akcija.Popust / 100);
                        }
                    }
                }
            }
            foreach (var du in Projekat.Instance.spdu)
            {
                if (racun.Id == du.RacunId)
                {
                    DodatnaUsluga duu = DodatnaUsluga.GetById(du.DUId);
                    cena += duu.Cena;
                }
            }
            cena = cena * 0.98;
            return(cena);
        }
        private double IzracunajCenu()
        {
            racun.UkupnaCena = 0;
            foreach (var stavkaNamestaj in korpaNamestaj)
            {
                Namestaj namestajRef   = Namestaj.GetById(stavkaNamestaj.NamestajId);
                double   cenaNamestaja = namestajRef.Cena * stavkaNamestaj.Kolicina;
                if (namestajRef.AkcijskaProdaja == null)
                {
                    continue;
                }
                else
                {
                    racun.UkupnaCena += namestajRef.Cena * (1 + namestajRef.AkcijskaProdaja.Popust / 100);
                }

                racun.UkupnaCena += cenaNamestaja;
            }
            foreach (var stavkaDodatnaUsluga in korpaDodatneUsluge)
            {
                DodatnaUsluga DUref = DodatnaUsluga.GetById(stavkaDodatnaUsluga.DodatnaUslugaId);
                racun.UkupnaCena += DUref.Cena;
            }
            racun.UkupnaCena = racun.UkupnaCena * (1 + racun.PDV);
            return(racun.UkupnaCena);
        }
예제 #3
0
 public RacunIzgled(Racun racun, Salon salon)
 {
     InitializeComponent();
     lbIme.Content       = salon.Naziv;
     lbAdresa.Content    = salon.Adresa;
     lbPIB.Content       = salon.PIB;
     lbTelefon.Content   = salon.Telefon;
     lbPdv.Content       = racun.UkupnaCena * 0.02;
     lbOsnovica.Content  = (racun.UkupnaCena + (racun.UkupnaCena * 0.02));
     lUkupnaCena.Content = racun.UkupnaCena;
     lbDate.Content      = racun.DatumProdaje;
     foreach (var n in Projekat.Instance.spn)
     {
         if (n.RacunId == racun.Id)
         {
             var nam = Namestaj.GetById(n.NamestajId);
             listBox.Items.Add($"{nam.Naziv}");
             listBox.Items.Add($"{n.Kolicina} x {nam.Cena}                                         {n.Kolicina*nam.Cena}");
         }
     }
     foreach (var n in Projekat.Instance.spdu)
     {
         if (n.RacunId == racun.Id)
         {
             var nam = DodatnaUsluga.GetById(n.DUId);
             listBox.Items.Add($"{nam.Naziv}                                         {nam.Cena}");
         }
     }
 }
        private void btnPotvrdi_Click(object sender, RoutedEventArgs e)
        {
            DialogResult = true;
            if (operacija == Operacija.DODAVANJE)
            {
                Namestaj.Create(namestaj);
            }
            if (operacija == Operacija.IZMENA)
            {
                Namestaj.Update(namestaj);

                Namestaj original = Namestaj.GetById(namestaj.Id);
                original.Id             = namestaj.Id;
                original.Naziv          = namestaj.Naziv;
                original.Cena           = namestaj.Cena;
                original.Raspolozivost  = namestaj.Raspolozivost;
                original.Akcija         = namestaj.Akcija;
                original.TipNamestaja   = namestaj.TipNamestaja;
                original.AkcijaId       = namestaj.AkcijaId;
                original.TipNamestajaId = namestaj.TipNamestajaId;
                original.Obrisan        = namestaj.Obrisan;
            }
            this.Close();
        }
예제 #5
0
        public static ObservableCollection <ProdajaStavke> UcitajStavke(ProdajaNamestaja p)
        {
            ObservableCollection <ProdajaStavke> stavke = new ObservableCollection <ProdajaStavke>();

            using (SqlConnection connection = new SqlConnection(Projekat.CONNECTION_STRING))
            {
                connection.Open();
                DataSet ds = new DataSet();

                SqlCommand prodajaItemCommand = connection.CreateCommand();
                prodajaItemCommand.CommandText = @"SELECT * FROM PRODAJA_STAVKE";

                SqlDataAdapter sqlda = new SqlDataAdapter();
                sqlda.SelectCommand = prodajaItemCommand;
                sqlda.Fill(ds, "ProdajaStavke");

                foreach (DataRow row in ds.Tables["ProdajaStavke"].Rows)
                {
                    if ((int)row["PRODAJA_ID"] == p.Id)
                    {
                        ProdajaStavke prodajaStavke = new ProdajaStavke();

                        Namestaj namestaj = Namestaj.GetById((int)row["NAMESTAJ_ID"]);

                        prodajaStavke.Kolicina = (int)row["PRODAJA_ID"];
                        prodajaStavke.Naziv    = namestaj.Naziv;
                        prodajaStavke.Cena     = namestaj.Cena;
                        prodajaStavke.Akcija   = namestaj.Akcija;
                        //prodajaStavke.Obrisan = namestaj.Obrisan;

                        stavke.Add(prodajaStavke);
                    }
                }
            }
            return(stavke);
        }
예제 #6
0
 public override string ToString()
 {
     return($"{Namestaj.GetById(NamestajId)?.Naziv}, {Namestaj.GetById(NamestajId).JedinicnaCena}, {KolicinaNamestaja}");
 }
예제 #7
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;
            }
        }
예제 #8
0
 public override string ToString()
 {
     return($"{Namestaj.GetById(NamestajId).Naziv}, {AkcijskaProdaja.GetById(AkcijaId).Naziv}");
 }