Beispiel #1
0
        private void SacuvajIzmene(object sender, RoutedEventArgs e)
        {
            var listaNamestaja       = Projekat.Instance.Namestaji;
            var listaAkcija          = Projekat.Instance.AkcijskeProdaje;
            var izabraniTipNamestaja = (TipNamestaja)cbTip.SelectedItem;
            var izabranaAkcija       = (AkcijskaProdaja)cbAkcija.SelectedItem;


            switch (operacija)
            {
            case Operacija.DODAVANJE:

                Namestaj.Create(namestaj);

                break;

            case Operacija.IZMENA:

                Namestaj.Update(namestaj);

                if (namestaj.AkcijaId == izabranaAkcija.Id)
                {
                    namestaj.JedinicnaCena = (namestaj.JedinicnaCena * izabranaAkcija.Popust) / 100;
                }


                break;

            default:
                break;
            }


            Close();
        }
Beispiel #2
0
        private void Potvrdi(object sender, RoutedEventArgs e)
        {
            var postojeciNamestaj = Projekat.Instance.namestaj;

            switch (operacija)
            {
            case Operacija.DODAVANJE:

                var Id = postojeciNamestaj.Count + 1;
                namestaj.Id = Id;
                namestaj    = Namestaj.Create(namestaj);
                // postojeciNamestaj.Add(namestaj);
                break;

            case Operacija.IZMENA:
                foreach (var n in postojeciNamestaj)
                {
                    if (n.Id == namestaj.Id)
                    {
                        n.Naziv         = namestaj.Naziv;
                        n.Kolicina      = namestaj.Kolicina;
                        n.JedinicnaCena = namestaj.JedinicnaCena;
                        n.TipNID        = namestaj.TipNID;
                        n.TipNamestaja  = namestaj.TipNamestaja;
                        Namestaj.Update(n);
                        break;
                    }
                }
                break;
            }


            //GenericsSerializer.Serialize("namestaj.xml", postojeciNamestaj);
            this.Close();
        }
Beispiel #3
0
        private void ObrsiAkciju_Click(object sender, RoutedEventArgs e)
        {
            var izabranaAkcija = (AkcijskaProdaja)dgAkcija.SelectedItem;
            var listaAkcija    = Projekat.Instance.AkcijskeProdaje;
            var listaNamestaja = Projekat.Instance.Namestaji;

            if (MessageBox.Show($"Da li zelite da obrisete: {izabranaAkcija.Naziv}", "Brisanje", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                foreach (var akcija in listaAkcija)
                {
                    if (akcija.Id == izabranaAkcija.Id)
                    {
                        AkcijskaProdaja.Delete(izabranaAkcija);
                        vieew.Filter = AkcijaFilter;

                        foreach (var namestaj in listaNamestaja)
                        {
                            if (izabranaAkcija.Id == namestaj.AkcijaId)
                            {
                                namestaj.AkcijaId = 1;
                                Namestaj.Update(namestaj);
                            }
                        }
                    }
                }
            }
        }
        private void SacuvajBtn(object sender, RoutedEventArgs e)
        {
            var listaNamestaja       = Projekat.Instance.Namestaj;
            var izabraniTipNamestaja = (TipNamestaja)cbTipNamestaja.SelectedItem;


            switch (operacija)
            {
            case Operacija.DODAVANJE:
                namestaj.Id = listaNamestaja.Count + 1;
                Namestaj.Create(namestaj);
                break;

            case Operacija.IZMENA:
                foreach (var n in listaNamestaja)
                {
                    if (n.Id == namestaj.Id)
                    {
                        n.Naziv             = namestaj.Naziv;
                        n.TipNamestaja      = namestaj.TipNamestaja;
                        n.Cena              = namestaj.Cena;
                        n.Sifra             = namestaj.Sifra;
                        n.KolicinaUMagacinu = namestaj.KolicinaUMagacinu;
                        n.TipNamestajaId    = namestaj.TipNamestajaId;
                        Namestaj.Update(namestaj);
                        break;
                    }
                }

                break;
            }
            //GenericSerializer.Serialize("namestaj.xml", listaNamestaja);

            this.Close();
        }
Beispiel #5
0
        private void SacuvajNamestaj(object sender, RoutedEventArgs e)
        {
            var postojeciNamestaj = Projekat.Instance.namestaj;

            switch (operacija)
            {
            case Operacija.DODAVANJE:
                Namestaj.Create(namestaj);


                break;

            case Operacija.IZMENA:
                foreach (var n in postojeciNamestaj)
                {
                    if (n.Id == namestaj.Id)
                    {
                        n.Naziv    = namestaj.Naziv;
                        n.Kolicina = namestaj.Kolicina;
                        n.Cena     = namestaj.Cena;
                        n.TipN     = namestaj.TipN;
                        Namestaj.Update(namestaj);
                        break;
                    }
                }
                break;
            }


            this.Close();
        }
Beispiel #6
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;
        }
Beispiel #7
0
        public static void Update(Namestaj n)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString))
                {
                    conn.Open();

                    SqlCommand cmd = conn.CreateCommand();

                    cmd.CommandText = @"UPDATE Namestaj SET Naziv=@Naziv, Sifra=@Sifra, Cena=@Cena, Kolicina=@Kolicina, TipNamestajaId=@TipNamestajaId " +
                                      "WHERE IdN=@IdN;";
                    cmd.Parameters.Add(new SqlParameter("@Naziv", n.Naziv));
                    cmd.Parameters.Add(new SqlParameter("@Sifra", n.Sifra));
                    cmd.Parameters.Add(new SqlParameter("@Cena", n.JedinicnaCena));
                    cmd.Parameters.Add(new SqlParameter("@Kolicina", n.KolicinaUMagacinu));
                    cmd.Parameters.Add(new SqlParameter("@TipNamestajaId", n.TipNamestajaId));
                    cmd.Parameters.Add(new SqlParameter("@IdN", n.Id));

                    var uu = cmd.ExecuteNonQuery();
                }
                Namestaj.Update(n);
            }
            catch (Exception)
            {
                MessageBox.Show("Doslo je do greske prilikom snimanja u bazu, Molimo Vas pokusajte ponovo", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
Beispiel #8
0
        private void ObrisiAkciju_Click(object sender, RoutedEventArgs e)
        {
            var listaNaAkciji = NaAkciji.GetAllId(IzabranaAkcija.Id);

            if (MessageBox.Show($"Da li zelite da obrisete {IzabranaAkcija.Naziv} ?", "Brisanje", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                foreach (var akcija in listaNaAkciji)
                {
                    NaAkciji.Delete(akcija);
                }
                foreach (var akcija in Projekat.Instance.AkcijskaProdaja)
                {
                    if (akcija.Id == IzabranaAkcija.Id)
                    {
                        foreach (var n in Projekat.Instance.Namestaj)
                        {
                            if (akcija.Id == n.AkcijaId)
                            {
                                n.CenaNaAkciji = 0;
                                n.AkcijaId     = 1;
                                Namestaj.Update(n);
                            }
                        }
                        AkcijskaProdaja.Delete(IzabranaAkcija);
                        view.Refresh();
                    }
                }
            }
        }
        private void SacuvajBtn(object sender, RoutedEventArgs e)
        {
            var listaAkcijaNamestaja = Projekat.Instance.Akcija;

            this.DialogResult = true;

            double cenaNamestaja = 0;

            for (int i = 0; i < akcija.NamestajNaPopustu.Count; i++)
            {
                cenaNamestaja += akcija.NamestajNaPopustu[i].Cena;
            }

            switch (operacija)
            {
            case Operacija.DODAVANJE:
                akcija.Id = listaAkcijaNamestaja.Count + 1;
                var tbCena = double.Parse(tbPopust.Text);
                if (tbCena == 0)
                {
                    MessageBox.Show("Polje za popust mora biti popunjeno!", "Greska", MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }
                for (int i = 0; i < akcija.NamestajNaPopustu.Count; i++)
                {
                    akcija.NamestajNaPopustu[i].PopustCena = cenaNamestaja - ((cenaNamestaja * akcija.Popust) / 100);
                    foreach (var namestaj in Projekat.Instance.Namestaj)
                    {
                        if (namestaj.Id == akcija.NamestajNaPopustu[i].Id)
                        {
                            namestaj.PopustCena = namestaj.Cena - ((namestaj.Cena * akcija.Popust) / 100);
                        }
                    }
                }
                Akcija.Create(akcija);
                break;

            case Operacija.IZMENA:
                foreach (var a in listaAkcijaNamestaja)
                {
                    if (a.Id == akcija.Id)
                    {
                        a.DatumPocetka   = akcija.DatumPocetka;
                        a.DatumZavrsetka = akcija.DatumZavrsetka;
                        a.Popust         = akcija.Popust;
                        Akcija.Update(akcija, false);

                        foreach (Namestaj namestaj in akcija.NamestajNaPopustu)
                        {
                            namestaj.AkcijaId = akcija.Id;
                            Namestaj.Update(namestaj);
                        }
                        break;
                    }
                }
                break;
            }
        }
        private void IzmeniNamestaj(object sender, RoutedEventArgs e)
        {
            Namestaj kopija         = (Namestaj)IzabranNamestaj.Clone();
            var      namestajProzor = new EditNamestajWindow(kopija, EditNamestajWindow.Operacija.IZMENA);

            if (namestajProzor.ShowDialog() == true)
            {
                int index = Projekat.Instance.Namestaj.IndexOf(IzabranNamestaj);
                Namestaj.Update(kopija);
            }
            view.Refresh();
        }
        private void SacuvajIzmene(object sender, RoutedEventArgs e)
        {
            var listaNamestaja = Projekat.Instance.Namestaji;
            var listaAkcija    = Projekat.Instance.Akcije;

            izabraniTipNamestaja = (TipNamestaja)cbTipNamestaja.SelectedItem;
            if (izabraniTipNamestaja == null)
            {
                MessageBoxResult obavestenje = MessageBox.Show("Molim Vas izaberite tip namestaja.", "Obavestenje", MessageBoxButton.OK);
                return;
            }

            int max = listaNamestaja.Max(t => t.Id) + 1;

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

            switch (operacija)
            {
            case Operacija.Dodavanje:
                //Random random = new Random();
                //int randomNumber = random.Next(10, 99);
                //namestaj.Id = namestaj.Id;
                namestaj.Naziv             = tbNaziv.Text;
                namestaj.Sifra             = tbNaziv.Text.Substring(0, 2) + max.ToString() + izabraniTipNamestaja.Naziv.Substring(0, 2); //+ randomNumber.ToString();
                namestaj.Cena              = Double.Parse(tbCena.Text);
                namestaj.KolicinaUMagacinu = int.Parse(tbKolicina.Text);
                namestaj.IdTipaNamestaja   = izabraniTipNamestaja.Id;

                Namestaj.Create(namestaj);
                break;

            case Operacija.Izmena:
                foreach (var n in listaNamestaja)
                {
                    if (n.Id == namestaj.Id)
                    {
                        n.Naziv             = namestaj.Naziv;
                        n.TipNamestaja      = namestaj.TipNamestaja;
                        n.Sifra             = namestaj.Sifra;
                        n.Cena              = namestaj.Cena;
                        n.KolicinaUMagacinu = namestaj.KolicinaUMagacinu;

                        Namestaj.Update(n);
                        break;
                    }
                }
                break;
            }
            Close();
        }
Beispiel #12
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();
        }
Beispiel #13
0
 private void btnOk_Click(object sender, RoutedEventArgs e)
 {
     if (tbNaziv.Text != "" && double.TryParse(tbCena.Text, out var x) && x > 0 && int.TryParse(tbKolicina.Text, out var y) && y > 0 && tbSifra.Text != "" && cbTip.SelectedItem != null)
     {
         if (operacija == Operacija.DODAVANJE)
         {
             Namestaj.Create(namestajCopy);
         }
         if (operacija == Operacija.IZMENA)
         {
             Namestaj.Update(namestajCopy);
         }
         Close();
     }
 }
Beispiel #14
0
 private void btnOk_Click(object sender, RoutedEventArgs e)
 {
     if (namestaj.Naziv != "")
     {
         if (namestaj.Sifra != "")
         {
             if (double.TryParse(tbJedinicnaCena.Text, out var jedinicnaCena) && jedinicnaCena > 0)
             {
                 if (int.TryParse(tbKolicinaUMagacinu.Text, out var kolicinaUMagacinu))
                 {
                     if (namestaj.TipNamestaja != null)
                     {
                         if (operacija == Operacija.DODAVANJE)
                         {
                             Namestaj.Create(namestaj);
                         }
                         else if (operacija == Operacija.IZMENA)
                         {
                             Namestaj.Update(namestaj);
                         }
                         Close();
                         return;
                     }
                     else
                     {
                         cbTip.Focus();
                     }
                 }
                 else
                 {
                     tbJedinicnaCena.Focus();
                 }
             }
             else
             {
                 tbJedinicnaCena.Focus();
             }
         }
         else
         {
             tbSifra.Focus();
         }
     }
     else
     {
         tbNaziv.Focus();
     }
 }
Beispiel #15
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);
                }
            }
        }
Beispiel #16
0
 private void btnSacuvaj_Click(object sender, RoutedEventArgs e)
 {
     if (stanje == Stanje.DODAVANJE)
     {
         racun.UkupnaCena += 150;
         Racun.Create(racun);
         foreach (var x in dodateStavke)
         {
             Namestaj.Update(x.Namestaj);
             Stavka.AddForRacun(racun, x);
         }
         foreach (var x in dodateUsluge)
         {
             DodatnaUsluga.AddForRacun(racun, x);
         }
     }
     Model.Racun.Update(racun);
     this.Close();
 }
        private void Obrisi_Click(object sender, RoutedEventArgs e)
        {
            TipNamestaja selektovaniTipNamestaja = (TipNamestaja)dgTipNamestaja.SelectedItem;

            selektovaniTipNamestaja.Obrisan = true;

            if (MessageBox.Show($"Da li ste sigurni da zelite da izbrisete izabrani namestaj: {selektovaniTipNamestaja.Naziv}?", "Poruka o brisanju ", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                selektovaniTipNamestaja.Obrisan = true;
                ObservableCollection <Namestaj> namestaj = Namestaj.GetByTipNamestaja(selektovaniTipNamestaja);
                foreach (Namestaj nam in namestaj)
                {
                    nam.Obrisan = true;
                    Namestaj.Update(nam);
                }
                TipNamestaja.Update(selektovaniTipNamestaja);
            }
            view.Refresh();
        }
Beispiel #18
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var listaNamestaja = Projekat.Instace.namestaj;

            switch (operacija)
            {
            case Operacija.DODAVANJE:
                Namestaj.Create(namestaj);
                this.Close();
                break;

            case Operacija.IZMENA:
                Namestaj.Update(namestaj);
                this.Close();
                break;

            default:
                break;
            }
        }
        private bool NamestajFilter(object obj)
        {
            var listaAkcija    = Projekat.Instance.AkcijskeProdaje;
            var listaNamestaja = Projekat.Instance.Namestaji;

            foreach (var akcija in listaAkcija)
            {
                foreach (var namestaj in listaNamestaja)
                {
                    if (namestaj.AkcijaId == akcija.Id)
                    {
                        if (akcija.Obrisan == true || akcija.DatumPocetka < DateTime.Today && akcija.DatumZavrsetka < DateTime.Today)
                        {
                            namestaj.AkcijaId = 1;
                            Namestaj.Update(namestaj);
                        }
                    }
                }
            }
            return(((Namestaj)obj).Obrisan == false);
        }
Beispiel #20
0
        private void SacuvajIzmene(object sender, RoutedEventArgs e)
        {
            var listaAkcija    = Projekat.Instance.AkcijskeProdaje;
            var listaNamestaja = Projekat.Instance.Namestaji;
            var dgNamestaj     = (Namestaj)dgNametajLista.SelectedItem;

            switch (operacija)
            {
            case Operacija.DODAVANJE:

                AkcijskaProdaja.Create(akcijskaProdaja);


                break;

            case Operacija.IZMENA:

                AkcijskaProdaja.Update(akcijskaProdaja);

                foreach (var akcija in listaAkcija)
                {
                    foreach (var namestaj in listaNamestaja)
                    {
                        if (namestaj.AkcijaId == akcija.Id)
                        {
                            namestaj.AkcijaId = akcija.Id;
                            Namestaj.Update(namestaj);
                        }
                    }
                }
                break;

            default:
                break;
            }


            Close();
        }
        private void SacuvajNamestaj(object sender, RoutedEventArgs e)
        {
            var postojeciNamestaj = Projekat.Instance.sviNamestaji;

            switch (operacija)
            {
            case Operacija.DODAVANJE:
                namestaj.Id             = postojeciNamestaj.Count + 1;
                namestaj.Naziv          = tbNaziv.Text;
                namestaj.Cena           = int.Parse(tbCena.Text);
                namestaj.Kolicina       = int.Parse(tbKolicina.Text);
                namestaj.TipNamestajaId = ((TipNamestaja)cbTipNamestaja.SelectedItem).Id;
                namestaj.AkcijaId       = ((AkcijskaProdaja)cbAkcija.SelectedItem).Id;

                Namestaj.Create(namestaj);
                postojeciNamestaj.Add(namestaj);
                break;

            case Operacija.IZMENA:
                foreach (var n in postojeciNamestaj)
                {
                    if (n.Id == namestaj.Id)
                    {
                        n.Naziv          = tbNaziv.Text;
                        n.Cena           = int.Parse(tbCena.Text);
                        n.Kolicina       = int.Parse(tbKolicina.Text);
                        n.AkcijaId       = ((AkcijskaProdaja)cbAkcija.SelectedItem).Id;
                        n.TipNamestajaId = ((TipNamestaja)cbTipNamestaja.SelectedItem).Id;

                        Namestaj.Update(n);
                    }
                }
                break;
                // ISTO KAO I FOR EACH IZNAD ^^^^
                //  Projekat.Instance.sviNamestaji - postojeciNamestaja.singleordefault( x=> x.Id == namestaj.Id)
            }
            // GenericSerializer.Serialize("namestaj.xml", postojeciNamestaj);
            this.Close();
        }
Beispiel #22
0
        private void SacuvajIzmene(object sender, RoutedEventArgs e)
        {
            if (ForceValidation() == true)
            {
                return;
            }

            switch (operacija)
            {
            case Operacija.DODAVANJE:

                Namestaj.Create(namestaj);

                if (cbAkcijaId.SelectedItem != null)
                {
                    var naAkciji = new NaAkciji();
                    naAkciji.AkcijskaProdajaId = namestaj.AkcijaId;
                    naAkciji.NamestajId        = this.namestaj.Id;

                    NaAkciji.Create(naAkciji);

                    namestaj.CenaNaAkciji = namestaj.JedinicnaCena - namestaj.JedinicnaCena * (namestaj.AkcijskaProdaja.Popust / 100);
                    Namestaj.Update(namestaj);
                }

                break;

            case Operacija.IZMENA:

                Namestaj.Update(namestaj);

                break;
            }

            Close();
        }
        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();
        }
        private void Dodaj_Click(object sender, RoutedEventArgs e)
        {
            var      postojeceAkcije = Projekat.Instance.akcija;
            DateTime date1           = dpP.SelectedDate.Value.Date;
            DateTime date2           = dpK.SelectedDate.Value.Date;
            int      result          = DateTime.Compare(date1, date2);
            var      n = Projekat.Instance.namestaj;

            if (akcija.Popust > 0 || akcija.Popust < 91)
            {
                switch (operacija)
                {
                case Operacija.DODAVANJE:


                    if (result < 0)
                    {
                        AkcijskaProdaja.Create(akcija);
                        namestaj.ak = akcija.Id;
                        Namestaj.Update(namestaj);
                    }
                    else
                    {
                        MessageBox.Show("Datum kraja akcije ne moze da bude ranije od pocetka", "Pogresno vreme", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                    break;

                case Operacija.IZMENA:


                    if (result < 0)
                    {
                        foreach (var nn in n)
                        {
                            if (nn.Akcija == namestaj.Akcija)
                            {
                                AkcijskaProdaja.Update(akcija);
                                nn.ak = akcija.Id;
                                Namestaj.Update(namestaj);
                                break;
                            }
                            else
                            {
                                AkcijskaProdaja.Create(akcija);
                                namestaj.ak = akcija.Id;
                                Namestaj.Update(namestaj);
                                break;
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("Datum kraja akcije ne moze da bude ranije od pocetka", "Pogresno vreme", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                    break;
                }
            }
            else
            {
                MessageBox.Show("Akcija ne moze biti manja od 0 ili veca od 90%", "Akcija", MessageBoxButton.OK, MessageBoxImage.Error);
            }



            this.Close();
        }
        public static ProdajaNamestaja Create(ProdajaNamestaja pn)
        {
            Random random = new Random();

            try
            {
                using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["POP"].ConnectionString))
                {
                    conn.Open();

                    SqlCommand cmd = conn.CreateCommand();

                    cmd.CommandText  = "INSERT INTO ProdajaNamestaja (DatumProdaje,BrojRacuna,Kupac,UkupnaCenaBezPDV,UkupnaCenaSaPDV) VALUES (@DatumProdaje,@BrojRacuna,@Kupac,@UkupnaCenaBezPDV,@UkupnaCenaSaPDV);";
                    cmd.CommandText += "SELECT SCOPE_IDENTITY();";
                    cmd.Parameters.AddWithValue("DatumProdaje", pn.DatumProdaje);
                    cmd.Parameters.AddWithValue("BrojRacuna", pn.BrojRacuna);
                    cmd.Parameters.AddWithValue("Kupac", pn.Kupac);
                    cmd.Parameters.AddWithValue("UkupnaCenaBezPDV", pn.UkupnaCenaBezPDV);
                    cmd.Parameters.AddWithValue("UkupnaCenaSaPDV", pn.UkupnaCenaSaPDV);

                    pn.Id = int.Parse(cmd.ExecuteScalar().ToString()); //executeScalar izvrsava upit

                    for (int i = 0; i < pn.StavkeProdaje.Count; i++)
                    {
                        SqlCommand command = conn.CreateCommand();

                        command.CommandText = "INSERT INTO StavkaProdaje (ProdajaNamestajaId,NamestajId,Kolicina,Cena,Obrisan) VALUES (@ProdajaNamestajaId,@NamestajId,@Kolicina,@Cena,@Obrisan);";

                        command.Parameters.AddWithValue("ProdajaNamestajaId", pn.Id);
                        command.Parameters.AddWithValue("NamestajId", pn.StavkeProdaje[i].Namestaj.Id);
                        command.Parameters.AddWithValue("Kolicina", pn.StavkeProdaje[i].Kolicina);
                        command.Parameters.AddWithValue("Cena", pn.StavkeProdaje[i].Cena);
                        command.Parameters.AddWithValue("Obrisan", pn.StavkeProdaje[i].Obrisan);

                        pn.StavkeProdaje[i].Namestaj.KolicinaUMagacinu = pn.StavkeProdaje[i].Namestaj.KolicinaUMagacinu - pn.StavkeProdaje[i].Kolicina;
                        Namestaj.Update(pn.StavkeProdaje[i].Namestaj);

                        command.ExecuteNonQuery();
                    }

                    for (int i = 0; i < pn.ProdateUsluge.Count; i++)
                    {
                        SqlCommand command = conn.CreateCommand();

                        command.CommandText = "INSERT INTO ProdataUsluga(ProdajaNamestajaId,DodatnaUslugaId,Obrisan) VALUES (@ProdajaNamestajaId,@DodatnaUslugaId,@Obrisan);";

                        command.Parameters.AddWithValue("ProdajaNamestajaId", pn.Id);
                        command.Parameters.AddWithValue("DodatnaUslugaId", pn.ProdateUsluge[i].DodatnaUslugaId);
                        command.Parameters.AddWithValue("Obrisan", pn.ProdateUsluge[i].Obrisan);

                        command.ExecuteNonQuery();
                    }
                }

                Projekat.Instance.Prodaja.Add(pn);
                return(pn);
            }
            catch (Exception)
            {
                MessageBox.Show("Upis u bazu nije uspeo.\n Molim da pokusate ponovo!", "Greska", MessageBoxButton.OK, MessageBoxImage.Warning);
                return(null);
            }
        }
Beispiel #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();
        }