Example #1
0
        private void SviNamestajiZaProdaju(object sender, RoutedEventArgs e)
        {
            SviNamestajiWindow prozor = new SviNamestajiWindow(SviNamestajiWindow.Radnja.Sacuvaj);

            prozor.ShowDialog();

            if (prozor.SelektovanaStavka != null || prozor.SelektovanaStavka.Id != 0)
            {
                var stavkaa = prozor.SelektovanaStavka;
                stavkaa.IdNamestaja = stavkaa.IdNamestaja;
                stavkaa.IdProdaje   = prodaja.Id;
                stavkaa.Kolicina    = stavkaa.Kolicina;
                StavkaProdaje.Update(stavkaa);

                prozor.SelektovaniNamestaj.KolicinaUMagacinu = prozor.SelektovaniNamestaj.KolicinaUMagacinu - stavkaa.Kolicina;
                Namestaj.Update(prozor.SelektovaniNamestaj);

                /*foreach (var i in Projekat.Instance.StavkeProdaje)
                 * {
                 *  if (i.IdProdaje == prodaja.Id)
                 *  {
                 *      listaNamestaja.Add(i.Namestaj);
                 *
                 *  }
                 *  //dgProdajaNamestaj.ItemsSource = i;
                 * }*/
                //listaNamestaja.Add(stavkaa);
                listaStavki.Add(stavkaa);
            }
            //var stavkaa = prozor.SelektovanaStavka;

            //dgProdajaNamestaj.ItemsSource = listaStavki;
        }
Example #2
0
        public void dodajStavku(ComboBox cmbVideoIgra, TextBox txtIznosZaNaplatu, TextBox txtKolicina)
        {
            StavkaProdaje sp = new StavkaProdaje();

            sp.ProdajaID = prodaja.ProdajaID;
            sp.RedniBroj = prodaja.ListaStavki.Count + 1;
            try
            {
                sp.VideoIgra = cmbVideoIgra.SelectedItem as VideoIgra;
            }
            catch (Exception)
            {
                MessageBox.Show("Niste odabrali video igru!");
                return;
            }

            try
            {
                sp.Kolicina = Convert.ToInt32(txtKolicina.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Niste ispravno uneli kolicinu!");
                return;
            }

            double iznosZaNaplatu = 0;

            iznosZaNaplatu          = sp.VideoIgra.Cena;
            sp.IznosStavke          = iznosZaNaplatu;
            prodaja.IznosZaNaplatu += sp.IznosStavke * sp.Kolicina;
            txtIznosZaNaplatu.Text  = prodaja.IznosZaNaplatu.ToString();
            prodaja.ListaStavki.Add(sp);
        }
Example #3
0
        private void ZatvoriProdajeWindow(object sender, RoutedEventArgs e)
        {
            var listaStavki = Projekat.Instance.StavkeProdaje;

            switch (operacija)
            {
            case Operacija.Dodavanje:

                foreach (var i in listaStavki)
                {
                    if (i.IdProdaje == prodaja.Id)
                    {
                        StavkaProdaje.Delete(i);
                    }
                }
                foreach (var u in Projekat.Instance.UslugeProdaje)
                {
                    if (u.IdProdaje == prodaja.Id)
                    {
                        UslugaProdaje.Delete(u);
                    }
                }
                ProdajaNamestaja.Delete(prodaja);

                this.Close();
                break;

            case Operacija.Izmena:
                this.Close();
                break;

            default:
                break;
            }
        }
Example #4
0
        public ProdajaNamestajaWindow(ProdajaNamestaja prodajaNamestaja, Operacija operacija)
        {
            InitializeComponent();

            prodajaNamestaja.StavkeProdaje = StavkaProdaje.GetAllId(prodajaNamestaja.Id);
            prodajaNamestaja.ProdateUsluge = ProdataUsluga.GetAllId(prodajaNamestaja.Id);

            viewStavka        = CollectionViewSource.GetDefaultView(prodajaNamestaja.StavkeProdaje);
            viewUsluga        = CollectionViewSource.GetDefaultView(prodajaNamestaja.ProdateUsluge);
            viewStavka.Filter = PrikazFilterStavka;
            viewUsluga.Filter = PrikazFilterUsluga;

            this.prodajaNamestaja = prodajaNamestaja;
            this.operacija        = operacija;

            dgDodatnaUsluga.ItemsSource = viewUsluga;
            dgIdNamestaja.ItemsSource   = viewStavka;

            dpDatumProdaje.DataContext      = prodajaNamestaja;
            tbKupac.DataContext             = prodajaNamestaja;
            dgIdNamestaja.DataContext       = prodajaNamestaja;
            dgDodatnaUsluga.DataContext     = prodajaNamestaja;
            lblUkupnaCenaSaPDV.DataContext  = prodajaNamestaja;
            lblUkupnaCenaBezPDV.DataContext = prodajaNamestaja;
        }
Example #5
0
        public SviNamestajiWindow(Radnja radnja = Radnja.Sacuvaj)
        {
            InitializeComponent();

            SelektovaniNamestaj = new Namestaj();
            this.DataContext    = SelektovaniNamestaj;
            this.radnja         = radnja;
            this.aakcija        = new Akcija();
            this.stavka         = new StavkaProdaje();
            this.naAkciji       = new NaAkciji();
            this.listaNamestaja = new ObservableCollection <Namestaj>();


            var listaa = Projekat.Instance.Akcije;

            max = Projekat.Instance.Akcije.Max(t => t.Id);


            if (radnja == Radnja.Preuzmi)
            {
                PickSave.Click     += PickNamestaj;
                lbKoliko.Visibility = Visibility.Collapsed;
                tbKoliko.Visibility = Visibility.Collapsed;
            }
            else
            {
                PickSave.Click += SacuvajStavku;
            }

            SelektovanaStavka  = new StavkaProdaje();
            SelektovanNaAkciji = new NaAkciji();

            dgSviNamestaji.DataContext = this;
            dgSviNamestaji.ItemsSource = Projekat.Instance.Namestaji;
        }
Example #6
0
 public StavkeWindow(StavkaProdaje stavka, Operacija operacija)
 {
     InitializeComponent();
     Stavka                   = stavka;
     this.operacija           = operacija;
     dgNamestaj.ItemsSource   = Projekat.Instance.Namestaj.Where(n => n.Obrisan == false && n.Kolicina > 0);
     dgNamestaj.SelectedIndex = 0;
     tbKolicina.DataContext   = Stavka;
 }
Example #7
0
        private void UkloniNamestaj(object sender, RoutedEventArgs e)
        {
            SelektovanaStavka = dgProdajaNamestaj.SelectedItem as StavkaProdaje;
            //listaStavki.Remove(SelektovaniNamestaj);

            listaStavkiZaBrisanje.Add(SelektovanaStavka);
            //StavkaProdaje.Delete(SelektovanaStavka);
            listaStavki.Remove(SelektovanaStavka);
        }
Example #8
0
        private void DodajNamestaj(object sender, RoutedEventArgs e)
        {
            StavkaProdaje stavka = new StavkaProdaje();

            DodajStavkuWindow dodajWindow = new DodajStavkuWindow(stavka, DodajStavkuWindow.Operacija.DODAVANJE);

            dodajWindow.Show();
            dodajWindow.Closed += DodajWindow_Closed;
        }
        private void DodajStavku(object sender, RoutedEventArgs e)
        {
            StavkaProdaje stavka = new StavkaProdaje();
            StavkeProzor  sp     = new StavkeProzor(stavka, StavkeProzor.Operacija.DODAVANJE);

            if (sp.ShowDialog() == true)
            {
                prodaja.StavkeProdaje.Add(sp.Stavka);
            }
        }
Example #10
0
 public StavkeProzor(StavkaProdaje stavkaProdaje, Operacija operacija)
 {
     InitializeComponent();
     dgNamestaj.ItemsSource = NamestajPrikaz();
     dgNamestaj.IsSynchronizedWithCurrentItem = true;
     dgNamestaj.SelectedIndex = 0;
     cbUsluga.ItemsSource     = UslugePrikaz();
     cbUsluga.DataContext     = Stavka;
     tbKolicina.DataContext   = Stavka;
 }
        public string Racun()
        {
            var prodavac = Korisnik.GetKorisnik(MainWindow.TrenutnoLogovan);
            var stavke   = StavkaProdaje.GetAllId(prodajaNamestaja.Id);
            var usluge   = ProdataUsluga.GetAllId(prodajaNamestaja.Id);
            var salon    = Projekat.Instance.Salon;

            string tekst  = "";
            string linija = new String('-', 55);

            tekst += linija + "\n";
            foreach (var s in salon)
            {
                tekst += "\t" + s.Naziv + "\n" +
                         "\t" + s.Adresa + "\n\n" +
                         "PIB:" + s.PIB + "\n" +
                         "Broj racuna:" + prodajaNamestaja.BrojRacuna + "\n" +
                         "" + linija + "\n";
            }
            foreach (var stavka in stavke)
            {
                tekst += "" + stavka.Namestaj.Naziv + "\n" +
                         "\t" + stavka.Kolicina + "x" + "\t";
                if (stavka.Namestaj.CenaNaAkciji > 0)
                {
                    tekst += "" + stavka.Namestaj.CenaNaAkciji + "\t\t" + stavka.Cena + "\n";
                }
                else
                {
                    tekst += "" + stavka.Namestaj.JedinicnaCena + "\t\t" + stavka.Cena + "\n";
                }
            }
            if (usluge != null)
            {
                foreach (var usluga in usluge)
                {
                    tekst += "" + usluga.DodatnaUsluga.Naziv + "\n" +
                             "\t" + "1x" + "\t" + usluga.DodatnaUsluga.Cena + "\t\t" + usluga.DodatnaUsluga.Cena + "\n";
                }
            }
            else
            {
                tekst += linija + "\n";
            }

            tekst += "" + linija + "\n";
            tekst += "PDV: " + 20 + "%" + "\n";
            tekst += "Ukupan iznos: " + prodajaNamestaja.UkupnaCenaBezPDV + " " + "RSD" + "\n";
            tekst += "Ukupan iznos sa PDV-om: " + prodajaNamestaja.UkupnaCenaSaPDV + " " + "RSD" + "\n";
            tekst += "Datum: " + prodajaNamestaja.DatumProdaje.ToShortDateString() + "\n";
            tekst += "Prodavac: " + prodavac.Ime + " " + prodavac.Prezime + "\n";
            tekst += linija;

            return(tekst);
        }
        private void UkloniStavku(object sender, RoutedEventArgs e)
        {
            StavkaProdaje izabrana = dgStavke.SelectedItem as StavkaProdaje;

            prodaja.StavkeProdaje.Remove(izabrana);
            obrisanestavke.Add(izabrana);
            if (dodatestavke.Contains(izabrana) == true)
            {
                dodatestavke.Remove(izabrana);
            }
        }
        private void DodajStavku(object sender, RoutedEventArgs e)
        {
            StavkaProdaje stavka = new StavkaProdaje();
            StavkeWindow  st     = new StavkeWindow(stavka, StavkeWindow.Operacija.DODAVANJE);

            if (st.ShowDialog() == true)
            {
                prodaja.StavkeProdaje.Add(st.Stavka);
                dodatestavke.Add(st.Stavka);
            }
        }
Example #14
0
 private Projekat()
 {
     TipoviNamestaja  = TipNamestaja.GetAll();
     Namestaj         = Model.Namestaj.GetAll();
     Korisnici        = Korisnik.GetAll();
     AkcijskaProdaja  = Model.AkcijskaProdaja.GetAll();
     DodatnaUsluga    = Model.DodatnaUsluga.GetAll();
     Prodaja          = ProdajaNamestaja.GetAll();
     StavkeProdaje    = StavkaProdaje.GetAll();
     NamestajNaAkciji = NaAkciji.GetAll();
     ProdateUsluge    = ProdataUsluga.GetAll();
     Salon            = Model.Salon.GetAll();
 }
Example #15
0
        public DodajStavkuWindow(StavkaProdaje stavkaProdaje, Operacija operacija)
        {
            InitializeComponent();

            this.operacija      = operacija;
            StavkaProdaje       = stavkaProdaje;
            viewNamestaj        = CollectionViewSource.GetDefaultView(Projekat.Instance.Namestaj);
            viewNamestaj.Filter = PrikazFilter;

            dgNamestaj.IsSynchronizedWithCurrentItem = true;
            dgNamestaj.ItemsSource = viewNamestaj;

            tbKolicina.DataContext = stavkaProdaje;
        }
        public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
        {
            Sesija.Broker.dajSesiju().izmeni(odo);
            Prodaja       p  = odo as Prodaja;
            StavkaProdaje sp = new StavkaProdaje();

            sp.ProdajaID = p.ProdajaID;
            Sesija.Broker.dajSesiju().obrisiZaUslovVise(sp);

            foreach (StavkaProdaje s in p.ListaStavki)
            {
                Sesija.Broker.dajSesiju().sacuvaj(s);
            }

            return(1);
        }
Example #17
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();
        }
Example #18
0
        private void ObrisiStavku_Click(object sender, RoutedEventArgs e)
        {
            StavkaProdaje izabranaStavka = dgIdNamestaja.SelectedItem as StavkaProdaje;

            prodajaNamestaja.StavkeProdaje.Remove(izabranaStavka);
            ListaObrisanihStavki.Add(izabranaStavka);
            prodajaNamestaja.UkupnaCenaBezPDV -= izabranaStavka.Cena;
            prodajaNamestaja.UkupnaCenaSaPDV   = prodajaNamestaja.UkupnaCenaBezPDV - prodajaNamestaja.UkupnaCenaBezPDV * ProdajaNamestaja.PDV;

            for (int i = 0; i < prodajaNamestaja.StavkeProdaje.Count; i++)
            {
                if (izabranaStavka.NamestajId == prodajaNamestaja.StavkeProdaje[i].NamestajId)
                {
                    prodajaNamestaja.StavkeProdaje[i].Namestaj.KolicinaUMagacinu = prodajaNamestaja.StavkeProdaje[i].Namestaj.KolicinaUMagacinu + prodajaNamestaja.StavkeProdaje[i].Kolicina;
                    Namestaj.Update(prodajaNamestaja.StavkeProdaje[i].Namestaj);
                }
            }
        }
        public override object Izvrsi(Biblioteka.OpstiDomenskiObjekat odo)
        {
            Prodaja p = odo as Prodaja;

            p.Prodavac = Sesija.Broker.dajSesiju().dajZaUslovJedan(p.Prodavac) as Prodavac;
            StavkaProdaje sp = new StavkaProdaje();

            sp.ProdajaID = p.ProdajaID;
            List <StavkaProdaje> lista = Sesija.Broker.dajSesiju().dajSveZaUslovVise(sp).OfType <StavkaProdaje>().ToList <StavkaProdaje>();

            foreach (StavkaProdaje s in lista)
            {
                s.VideoIgra           = Sesija.Broker.dajSesiju().dajZaUslovJedan(s.VideoIgra) as VideoIgra;
                s.VideoIgra.Platforma = Sesija.Broker.dajSesiju().dajZaUslovJedan(s.VideoIgra.Platforma) as Platforma;

                p.ListaStavki.Add(s);
            }

            return(p);
        }
Example #20
0
        public void obrisiStavku(DataGridView dataGridView1, TextBox txtIznosZaNaplatu)
        {
            try
            {
                StavkaProdaje sp = dataGridView1.CurrentRow.DataBoundItem as StavkaProdaje;
                prodaja.ListaStavki.Remove(sp);
                prodaja.IznosZaNaplatu -= sp.IznosStavke * sp.Kolicina;
                txtIznosZaNaplatu.Text  = prodaja.IznosZaNaplatu.ToString();

                int i = 1;
                foreach (StavkaProdaje s in prodaja.ListaStavki)
                {
                    s.RedniBroj = i;
                    i++;
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Niste odabrali stavku za brisanje!");
            }
        }
Example #21
0
        private void SacuvajStavku(object sender, RoutedEventArgs e)
        {
            var listaStavki = Projekat.Instance.StavkeProdaje;

            SelektovaniNamestaj = dgSviNamestaji.SelectedItem as Namestaj;


            if (!(string.IsNullOrWhiteSpace(tbKoliko.Text)))
            {
                if (int.Parse(tbKoliko.Text) > SelektovaniNamestaj.KolicinaUMagacinu)
                {
                    MessageBoxResult obavestenje = MessageBox.Show("Unesite kolicinu 1-" + SelektovaniNamestaj.KolicinaUMagacinu, "Obavestenje", MessageBoxButton.OK);
                    return;
                }
            }
            else if (string.IsNullOrWhiteSpace(tbKoliko.Text))
            {
                MessageBoxResult obavestenje = MessageBox.Show("Unesite kolicinu", "Obavestenje", MessageBoxButton.OK);
                return;
            }

            stavka.Id          = listaStavki.Count + 1;
            stavka.IdNamestaja = SelektovaniNamestaj.Id;
            //stavka.IdProdaje = novaProdaja.Id;
            stavka.IdProdaje = 1;
            stavka.Kolicina  = int.Parse(tbKoliko.Text);

            StavkaProdaje.Create(stavka);

            SelektovanaStavka = stavka;

            var namNaProdaji = stavka.Namestaj as Namestaj;

            //listaNamestaja.Add(namNaProdaji);
            //listaStavki.Add(namNaProdaji);
            this.Close();
        }
Example #22
0
        private bool StavkeFilter(object obj)
        {
            StavkaProdaje sp = obj as StavkaProdaje;

            return(sp.Id > 1);
        }
        private void UkloniStavku(object sender, RoutedEventArgs e)
        {
            StavkaProdaje izabrana = dgStavke.SelectedItem as StavkaProdaje;

            prodaja.StavkeProdaje.Remove(izabrana);
        }
Example #24
0
        public static ObservableCollection <ProdajaNamestaja> PretraziProdaju(string tekst)
        {
            ObservableCollection <ProdajaNamestaja> prodaje = new ObservableCollection <ProdajaNamestaja>();

            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Konekcija"].ToString()))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(@"SELECT DISTINCT p.Id,Kupac,Broj_Racuna,Datum_Prodaje,Ukupan_Iznos FROM Prodaja p JOIN Stavka s ON s.ProdajaId=p.Id JOIN Namestaj
    n ON n.Id = s.NamestajId JOIN ProdateUsluge pu ON pu.ProdajaId=p.Id JOIN DodatneUsluge du ON du.Id=pu.UslugeId WHERE p.Obrisan=@obrisan 
                AND(Kupac LIKE @tekst OR Broj_Racuna LIKE @tekst OR Datum_Prodaje LIKE @tekst OR Ukupan_Iznos LIKE @tekst OR n.Naziv LIKE @tekst OR du.Naziv LIKE @tekst)", conn);
                cmd.Parameters.Add(new SqlParameter("@obrisan", '0'));
                cmd.Parameters.Add(new SqlParameter("@tekst", "%" + tekst + "%"));
                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    ProdajaNamestaja p = new ProdajaNamestaja()
                    {
                        Id           = reader.GetInt32(0),
                        Kupac        = reader.GetString(1),
                        BrojRacuna   = reader.GetInt32(2),
                        DatumProdaje = (DateTime)reader.GetDateTime(3),
                        Obrisan      = false
                    };

                    prodaje.Add(p);
                }
                reader.Close();
                foreach (var prodaja in prodaje)
                {
                    ObservableCollection <StavkaProdaje> stavke = new ObservableCollection <StavkaProdaje>();
                    cmd = new SqlCommand(@"SELECT Id, Kolicina,Cena,NamestajId FROM Stavka WHERE ProdajaId=@id ", conn);
                    cmd.Parameters.Add(new SqlParameter("@id", prodaja.Id));
                    reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        StavkaProdaje s = new StavkaProdaje()
                        {
                            Id                = reader.GetInt32(0),
                            Kolicina          = reader.GetInt32(1),
                            NamestajProdajaId = reader.GetInt32(3),
                            Obrisan           = false
                        };
                        stavke.Add(s);
                    }
                    prodaja.StavkeProdaje = stavke;
                    reader.Close();
                }
                reader.Close();
                foreach (var prodaja in prodaje)
                {
                    ObservableCollection <DodatneUsluge> usluge = new ObservableCollection <DodatneUsluge>();
                    cmd = new SqlCommand(@"SELECT UslugeId FROM ProdateUsluge WHERE ProdajaId=@id", conn);
                    cmd.Parameters.Add(new SqlParameter("@id", prodaja.Id));
                    reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        prodaja.DodatneUslugeId.Add(reader.GetInt32(0));
                    }
                    reader.Close();
                }
            }

            foreach (var prodaja in prodaje)
            {
                foreach (var stavka in prodaja.StavkeProdaje)
                {
                    stavka.NamestajProdaja = Namestaj.PronadjiNamestaj(stavka.NamestajProdajaId);
                }
                foreach (var u in prodaja.DodatneUslugeId)
                {
                    prodaja.DodatneUsluge.Add(DodatneUsluge.PronadjiUslugu(u));
                }
            }

            return(prodaje);
        }
Example #25
0
        public static ObservableCollection <ProdajaNamestaja> SveProdaje()
        {
            ObservableCollection <ProdajaNamestaja> prodaje = new ObservableCollection <ProdajaNamestaja>();

            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Konekcija"].ToString()))
            {
                conn.Open();
                SqlCommand cmd = new SqlCommand(@"SELECT Id,Kupac,Broj_Racuna,Datum_Prodaje,Ukupan_Iznos FROM Prodaja WHERE Obrisan=@obrisan", conn);
                cmd.Parameters.Add(new SqlParameter("@obrisan", '0'));
                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    ProdajaNamestaja p = new ProdajaNamestaja()
                    {
                        Id           = reader.GetInt32(0),
                        Kupac        = reader.GetString(1),
                        BrojRacuna   = reader.GetInt32(2),
                        DatumProdaje = (DateTime)reader.GetDateTime(3),
                        Obrisan      = false
                    };

                    prodaje.Add(p);
                }
                reader.Close();
                foreach (var prodaja in prodaje)
                {
                    ObservableCollection <StavkaProdaje> stavke = new ObservableCollection <StavkaProdaje>();
                    cmd = new SqlCommand(@"SELECT Id, Kolicina,Cena,NamestajId FROM Stavka WHERE ProdajaId=@id ", conn);
                    cmd.Parameters.Add(new SqlParameter("@id", prodaja.Id));
                    reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        StavkaProdaje s = new StavkaProdaje()
                        {
                            Id                = reader.GetInt32(0),
                            Kolicina          = reader.GetInt32(1),
                            NamestajProdajaId = reader.GetInt32(3),
                            Obrisan           = false
                        };
                        stavke.Add(s);
                    }
                    prodaja.StavkeProdaje = stavke;
                    reader.Close();
                }
                reader.Close();
                foreach (var prodaja in prodaje)
                {
                    ObservableCollection <DodatneUsluge> usluge = new ObservableCollection <DodatneUsluge>();
                    cmd = new SqlCommand(@"SELECT UslugeId FROM ProdateUsluge WHERE ProdajaId=@id", conn);
                    cmd.Parameters.Add(new SqlParameter("@id", prodaja.Id));
                    reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        prodaja.DodatneUslugeId.Add(reader.GetInt32(0));
                    }
                    reader.Close();
                }
            }

            return(prodaje);
        }
Example #26
0
        private void SacuvajIzmene(object sender, RoutedEventArgs e)
        {
            var listaProdaja = Projekat.Instance.ProdajeNamestaja;
            //var listaStavki = Projekat.Instance.StavkeProdaje;
            //var listaUslugaProdaja = Projekat.Instance.UslugeProdaje;
            var listaNaAkciji = Projekat.Instance.NaAkcijama;

            if (ForceValidation() == true)
            {
                return;
            }

            switch (operacija)
            {
            case Operacija.Dodavanje:
                foreach (var st in listaStavkiZaBrisanje)
                {
                    StavkaProdaje.Delete(st);
                    st.Namestaj.KolicinaUMagacinu += st.Kolicina;
                    Namestaj.Update(st.Namestaj);
                }
                viewStavka.Refresh();

                foreach (var us in listaUslugaZaBrisanje)
                {
                    UslugaProdaje.Delete(us);
                }

                Random random       = new Random();
                int    randomNumber = random.Next(0, 100);
                prodaja.BrojRacuna = int.Parse(prodaja.Id.ToString() + randomNumber.ToString() + DateTime.Now.Minute.ToString());


                foreach (var i in listaStavki)
                {
                    if (i.IdProdaje == prodaja.Id)
                    {
                        cenaBezPDV += i.Namestaj.Cena * i.Kolicina;

                        foreach (var na in listaNaAkciji)
                        {
                            if (na.IdNamestaja == i.IdNamestaja && na.Akcija.PocetakAkcije < DateTime.Today && na.Akcija.KrajAkcije > DateTime.Today)
                            {
                                cenaBezPDV = cenaBezPDV - ((cenaBezPDV * na.Akcija.Popust) / 100);     //* na.Akcija.Popust); //- cenaBezPDV*(na.Akcija.Popust / 100);
                            }
                        }
                    }
                }

                foreach (var item in listaUsluga)
                {
                    if (item.IdProdaje == prodaja.Id)
                    {
                        cenaBezPDV += item.DodatnaUsluga.Cena;
                    }
                }


                //NEMAM SOLUTION!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                prodaja.UkupanIznos = cenaBezPDV + cenaBezPDV * prodaja.PDV;

                ProdajaNamestaja.Update(prodaja);
                break;

            case Operacija.Izmena:
                foreach (var st in listaStavkiZaBrisanje)
                {
                    StavkaProdaje.Delete(st);
                    //st.Namestaj.KolicinaUMagacinu += st.Kolicina;
                    //Namestaj.Update(st.Namestaj);
                }
                viewStavka.Refresh();

                foreach (var us in listaUslugaZaBrisanje)
                {
                    UslugaProdaje.Delete(us);
                }

                foreach (var n in listaProdaja)
                {
                    if (n.Id == prodaja.Id)
                    {
                        n.DatumProdaje = prodaja.DatumProdaje;
                        n.BrojRacuna   = prodaja.BrojRacuna;
                        n.Kupac        = prodaja.Kupac;

                        foreach (var i in listaStavki)
                        {
                            if (i.IdProdaje == prodaja.Id)
                            {
                                //n.UkupanIznos += i.Namestaj.Cena * i.Kolicina;
                                cenaBezPDV += i.Namestaj.Cena * i.Kolicina;
                                foreach (var na in listaNaAkciji)
                                {
                                    if (na.IdNamestaja == i.IdNamestaja && na.Akcija.PocetakAkcije < DateTime.Today && na.Akcija.KrajAkcije > DateTime.Today)
                                    {
                                        cenaBezPDV = cenaBezPDV - ((cenaBezPDV * na.Akcija.Popust) / 100);     //* na.Akcija.Popust); //- cenaBezPDV*(na.Akcija.Popust / 100);
                                    }
                                }
                            }
                        }

                        foreach (var item in listaUsluga)
                        {
                            if (UslugaProdaje.GetById(item.Id).IdProdaje == prodaja.Id)
                            {
                                //lbUsluge.SelectedIndex = item.IdUsluge;
                                cenaBezPDV += item.DodatnaUsluga.Cena;
                            }
                        }

                        n.UkupanIznos = cenaBezPDV + cenaBezPDV * prodaja.PDV;

                        ProdajaNamestaja.Update(n);
                    }
                }
                break;
            }
            Close();
        }