Example #1
0
        public void Kupi(ProdajnoMesto mesto, int proizvod, NacinPlacanja nacinPlacanja)
        {
            Proizvod trazenProizvod = mesto.ListaProizvoda.FirstOrDefault(p => p.Id == proizvod);

            if (trazenProizvod != null && trazenProizvod.Cena <= Dzeparac)
            {
                string message = $"Kupljen proizvod: Proizvod ID: [{proizvod}], Naziv mesta: [{mesto.Naziv}], Ime zaposlenog prodavca: [{mesto.ListaZaposlenih.FirstOrDefault(r => r.Zaduzenje == "prodavac").Ime}], Nacin placanja: [{nacinPlacanja.ToString()}], Ime kupca: [{Ime}]";

                Korpa.Add(trazenProizvod);
                Dzeparac -= trazenProizvod.Cena;
                mesto.ListaProizvoda.Remove(trazenProizvod);
                Log      logger = new Log();
                DateTime time   = DateTime.Now;
                logger.LogAction(time, "KupovinaLog", message);
            }
            else if (trazenProizvod == null)
            {
                Console.WriteLine("Proizvod trenutno nije dostupan u prodavnici.");
            }
            else
            {
                Console.WriteLine("Nemate dovoljno sredstava.");
            }
        }
Example #2
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;
        }
Example #3
0
        private void btnDodaj_Click(object sender, RoutedEventArgs e)
        {
            double tempCena = 0;

            switch (radSa)
            {
            case RadSa.NAMESTAJ:
                if (dgProdajaN.SelectedItem == null)
                {
                    ErrorMessagePrint("Niste nista izabrali. ", "Upozorenje");
                    return;
                }
                Namestaj selektovaniNamestaj = (Namestaj)dgProdajaN.SelectedItem;
                if (selektovaniNamestaj.BrKomada == 0)
                {
                    ErrorMessagePrint("Namestaj je rasprodat.", "Upozorenje");
                    return;
                }
                bool postoji = false;
                foreach (var item in Korpa)
                {
                    if (item.GetType() == typeof(JedinicaProdaje))
                    {
                        var tempJP = (JedinicaProdaje)item;
                        if (tempJP.NamestajId == selektovaniNamestaj.Id)
                        {
                            var brKomadaUkupno = selektovaniNamestaj.BrKomada;

                            brKomadaUkupno = tempJP.Kolicina + selektovaniNamestaj.BrKomada;

                            var unosKolicine = new KolicinaWindow(brKomadaUkupno, tempJP.Kolicina);
                            unosKolicine.ShowDialog();
                            if (unosKolicine.DialogResult == true)
                            {
                                tempJP.Kolicina += unosKolicine.Kolicina;
                                selektovaniNamestaj.BrKomada -= unosKolicine.Kolicina;
                                tempCena = selektovaniNamestaj.AkcijskaCena * unosKolicine.Kolicina;
                                postoji  = true;
                                break;
                            }
                            else
                            {
                                return;
                            }
                        }
                    }
                }
                if (postoji == false)
                {
                    var unosKolicine = new KolicinaWindow(selektovaniNamestaj.BrKomada, 0);
                    unosKolicine.ShowDialog();
                    if (unosKolicine.DialogResult == true)
                    {
                        JedinicaProdaje jd = new JedinicaProdaje
                        {
                            NamestajId = selektovaniNamestaj.Id,
                            Kolicina   = unosKolicine.Kolicina,
                        };
                        Korpa.Add(jd);
                        selektovaniNamestaj.BrKomada -= unosKolicine.Kolicina;
                        tempCena = selektovaniNamestaj.AkcijskaCena * unosKolicine.Kolicina;
                    }
                    else
                    {
                        return;
                    }
                }
                prodajaNamestaja.UkupnaCena    += tempCena;
                prodajaNamestaja.UkupnaCenaPdv += tempCena + tempCena * ProdajaNamestaja.PDV;
                return;

            case RadSa.DODATNAUSLUGA:
                if (dgProdajaDU.SelectedItem == null)
                {
                    ErrorMessagePrint("Niste nista izabrali. ", "Upozorenje");
                    return;
                }
                DodatnaUsluga selektovanaDodatnaUsluga = (DodatnaUsluga)dgProdajaDU.SelectedItem;
                tempCena = selektovanaDodatnaUsluga.Cena;
                prodajaNamestaja.UkupnaCena    += tempCena;
                prodajaNamestaja.UkupnaCenaPdv += tempCena + tempCena * ProdajaNamestaja.PDV;
                var tempDU = new ProdataDU
                {
                    DodatnaUslugaId = selektovanaDodatnaUsluga.Id,
                    Obrisan         = false
                };
                Korpa.Add(tempDU);
                ListaDU.Remove(selektovanaDodatnaUsluga);
                return;
            }
        }