private void SacuvajIzmene(object sender, RoutedEventArgs e) { if (ForceValidation() == true) { return; } if (dpPocetniDatum.SelectedDate == null || dpKrajnjiDatum.SelectedDate == null) { ErrorMessagePrint("Datumi moraju biti uneseni.", "Upozorenje"); return; } if (ListaNAZaDG2.Count == 0) { ErrorMessagePrint("Akcija mora sadrzati bar jedan namestaj", "Upozorenje"); return; } var listaAkcija = Projekat.Instance.Akcija; switch (operacija) { case Operacija.DODAVANJE: akcija.Naziv = akcija.Naziv.Trim(); var novaAkcija = AkcijaDAO.Create(akcija); foreach (var tempNaZaCreate in ListaNAZaDG2) { tempNaZaCreate.IdAkcije = novaAkcija.Id; NaAkcijiDAO.Create(tempNaZaCreate); } break; case Operacija.IZMENA: AkcijaDAO.Update(akcija); var listaNaZaBrisanje = NaAkcijiDAO.GetAllNAForActionId(akcija.Id); foreach (var tempNaZaCreate in ListaNAZaDG2) { bool postoji = false; foreach (var tempN in NaAkcijiDAO.GetAllNAForActionId(akcija.Id)) { if (tempNaZaCreate.IdNamestaja == tempN.IdNamestaja) { postoji = true; if (tempNaZaCreate.Popust != tempN.Popust) { tempN.Popust = tempNaZaCreate.Popust; NaAkcijiDAO.Update(tempN); } listaNaZaBrisanje.ToList().ForEach(x => { if (x.IdNamestaja == tempNaZaCreate.IdNamestaja) { listaNaZaBrisanje.Remove(x); } }); break; } } if (postoji == false) { tempNaZaCreate.IdAkcije = akcija.Id; NaAkcijiDAO.Create(tempNaZaCreate); } } foreach (var tempNA in listaNaZaBrisanje) { NaAkcijiDAO.Delete(tempNA); } break; } this.Close(); }
private void Potvrdi_click(object sender, RoutedEventArgs e) { if (operacija == Operacija.INFO) { this.Close(); } if (ForceValidation() == true) { return; } if (akcija.ListaNaAkciji.Count < 1) { MessageBox.Show("Barem jedan namestaj mora biti na akciji", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Information); } else { if (akcija.DatumZavrsetka.Date < akcija.DatumPocetka.Date) { MessageBox.Show("Datum zavrsetka akcije mora biti veci od datuma pocetka akcije", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Information); } else { switch (operacija) { case Operacija.DODAVANJE: if (akcija.DatumPocetka.Date < DateTime.Today) { MessageBox.Show("Datum pocetka akcije ne moze biti manji od danasnjeg dana", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Information); } else { AkcijaDAO.Create(akcija); foreach (var naAkciji in akcija.ListaNaAkciji) { NaAkcijiDAO.Create(naAkciji); } DialogResult = true; } break; case Operacija.IZMENA: var listaProvera = NaAkcijiDAO.LoadByAkcijaId(akcija.Id); foreach (var naAkciji in akcija.ListaNaAkciji.ToList()) { bool postojiNaAkciji = false; foreach (var item in listaProvera.ToList()) { if (item.Id == naAkciji.Id) { postojiNaAkciji = true; listaProvera.Remove(item); break; } if (item.NamestajId == naAkciji.NamestajId) { if (item.Popust != naAkciji.Popust) { NaAkcijiDAO.Update(item); break; } } } if (postojiNaAkciji == false) { NaAkcijiDAO.Create(naAkciji); } } foreach (var item in listaProvera.ToList()) { NaAkcijiDAO.Delete(item, TipBrisanja.PoNaAkciji, 0, 0); } AkcijaDAO.Update(akcija); DialogResult = true; break; } this.Close(); } } }