Пример #1
0
        private void brObrisi1_Click(object sender, RoutedEventArgs e)
        {
            var sn = (StavkaProdajeNamestaj)dataGridNamestaj.SelectedItem;

            if (MessageBox.Show($"Da li ste sigurni da zelite da izbrisete izabrani namestaj: {sn.Naziv}?", "Poruka o brisanju ", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
            {
                var lista = new ObservableCollection <StavkaProdajeNamestaj>();
                foreach (var n in Projekat.Instance.spn)
                {
                    if (n == sn)
                    {
                        lista.Add(n);
                    }
                }
                foreach (var nn in lista)
                {
                    foreach (var nam in Projekat.Instance.namestaj)
                    {
                        if (nn.NamestajId == nam.Id)
                        {
                            Namestaj.PromeniKolicinu(nam.Id, nn.Kolicina, true);
                        }
                    }
                    StavkaProdajeNamestaj.Delete(nn);
                    viewN        = CollectionViewSource.GetDefaultView(n());
                    viewN.Filter = namestajFilter;
                    dataGridNamestaj.ItemsSource = viewN;
                    dataGridNamestaj.IsSynchronizedWithCurrentItem = true;
                    dataGridNamestaj.ColumnWidth = new DataGridLength(1, DataGridLengthUnitType.Star);
                }
            }
        }
        private void btDodaj_Click(object sender, RoutedEventArgs e)
        {
            switch (operacija)
            {
            case Operacija.Namestaj:
                var selektovaniNamestaj = (Namestaj)dgPrikaz.SelectedItem;
                int k;
                try
                {
                    k = int.Parse(tbKolicina.Text);
                }
                catch { MessageBox.Show($"Polja mora biti broj!"); break; }
                var lista  = new ObservableCollection <StavkaProdajeNamestaj>();
                int brojac = 0;
                foreach (var n in Projekat.Instance.spn)
                {
                    lista.Add(n);
                }
                foreach (var n in lista)
                {
                    if (racun.Id == n.RacunId && selektovaniNamestaj.Id == n.NamestajId)
                    {
                        brojac     += 1;
                        n.Kolicina += k;
                        StavkaProdajeNamestaj.Update(n);
                        Namestaj.PromeniKolicinu(selektovaniNamestaj.Id, k, false);
                        view                 = CollectionViewSource.GetDefaultView(Projekat.Instance.namestaj);
                        view.Filter          = namestajFilter;
                        dgPrikaz.ItemsSource = view;
                        dgPrikaz.IsSynchronizedWithCurrentItem = true;
                        dgPrikaz.ColumnWidth = new DataGridLength(1, DataGridLengthUnitType.Star);
                        break;
                    }
                }
                if (brojac == 0)
                {
                    if (selektovaniNamestaj.Kolicina >= k && k > 0)
                    {
                        StavkaProdajeNamestaj spn = new StavkaProdajeNamestaj();
                        spn.Kolicina   = k;
                        spn.NamestajId = selektovaniNamestaj.Id;
                        spn.RacunId    = racun.Id;

                        StavkaProdajeNamestaj.Create(spn);
                        Namestaj.PromeniKolicinu(selektovaniNamestaj.Id, k, false);
                        view                 = CollectionViewSource.GetDefaultView(Projekat.Instance.namestaj);
                        view.Filter          = namestajFilter;
                        dgPrikaz.ItemsSource = view;
                        dgPrikaz.IsSynchronizedWithCurrentItem = true;
                        dgPrikaz.ColumnWidth = new DataGridLength(1, DataGridLengthUnitType.Star);
                    }
                    else
                    {
                        MessageBox.Show($"U magacinu nema dovoljna kolicina namestaja!");
                    }
                }

                break;

            case Operacija.DodatnaUsluga:
                var             selektovan = (DodatnaUsluga)dgPrikaz.SelectedItem;
                StavkaProdajeDU spdu       = new StavkaProdajeDU();
                spdu.RacunId = racun.Id;
                spdu.DUId    = selektovan.Id;
                StavkaProdajeDU.Create(spdu);
                view                 = CollectionViewSource.GetDefaultView(Projekat.Instance.DU);
                view.Filter          = dodatnaFilter;
                dgPrikaz.ItemsSource = view;
                dgPrikaz.IsSynchronizedWithCurrentItem = true;
                dgPrikaz.ColumnWidth  = new DataGridLength(1, DataGridLengthUnitType.Star);
                tbKolicina.Visibility = System.Windows.Visibility.Hidden;
                label1.Visibility     = System.Windows.Visibility.Hidden;


                break;
            }

            this.Close();
        }