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(); }