public EditujOtpremnicuViewModel(PocetnaOtpremnicaViewModel o, ObservableCollection <PocetnaOtpremnicaViewModel> AllZaglavlja, ObservableCollection <double> GetSumVerdnostiDokumenata) { GridSelectedItemThis = o; allZaglavlja = AllZaglavlja; getSumVerdnostiDokumenata = GetSumVerdnostiDokumenata; _brojOtpremnice = GridSelectedItemThis.CurrentOtpremnicaZaglavlje.BrojOtpremnice; _partneri = new ObservableCollection <SifarnikPartner>(service.SifarnikPartnerList()); PartnerSelectedValue = service.SifarnikPartnerListById(o.CurrentOtpremnicaZaglavlje.SifarnikPartnerId); _roba = new ObservableCollection <SifarnikRobe>(service.SifarnikRobeList()); FilterDatum = DateTime.Parse(o.DatumOtpremnice); var listaRobe = service.listaRobePordukata(o.CurrentOtpremnicaZaglavlje.Id); ObservableCollection <RobaProsireno> tempListExpando = new ObservableCollection <RobaProsireno>(); ListaRobaProsireno = new List <RobaProsireno>(); foreach (var lista in listaRobe) { SifarnikRobe var = service.SifarnikRobeListById(lista.SifarnikRobeId); RobaProsireno rp = new RobaProsireno(); rp.ListaRobe = lista; rp.NazivRobe = var.NazivRobe; rp.JedinicaMere = var.JedinicaMere; tempListExpando.Add(rp); ListaRobaProsireno.Add(rp); } GetKreiraneStavkeProsireno = new ObservableCollection <RobaProsireno>(tempListExpando); IzracunajUkupnuVrednostSvihStavki(); }
public void DodajStavku() { SifarnikRobe roba = service.SifarnikRobeListById(this.RobaSelectedValue.Id); ListaRobe lr = new ListaRobe(); lr.SifarnikRobeId = this.RobaSelectedValue.Id; lr.KolicinaRobe = (double)this.Kolicina; lr.NovaCenaRobe = (double)this.RobaSelectedValue.JedinicnaCena; lr.UkupnaCenaRobe = (double)this.Kolicina * (double)this.RobaSelectedValue.JedinicnaCena; var os2 = new RobaProsireno(); os2.ListaRobe = lr; os2.NazivRobe = roba.NazivRobe; os2.JedinicaMere = roba.JedinicaMere; //2. provera da li roba vec postoji medju unetim stavkama if (ListaRobaProsireno.Select(i => i.ListaRobe.SifarnikRobeId).Contains(lr.SifarnikRobeId)) { //2.1. ako postoji izmeni vrednosti za: kolicinu i vrednost stavke MessageBox.Show("Odabrana roba već postoji u stavkama!"); var obj = ListaRobaProsireno.FirstOrDefault(x => x.ListaRobe.SifarnikRobeId == lr.SifarnikRobeId); if (obj != null) { obj.ListaRobe.KolicinaRobe += lr.KolicinaRobe; obj.ListaRobe.UkupnaCenaRobe = obj.ListaRobe.KolicinaRobe * obj.ListaRobe.NovaCenaRobe; } else { MessageBox.Show("Greska: Objekat nije nadjen"); return; } } else { //2.2. ako ne postoji, dodaj stavku u listu kreiranih stavke. ListaRobaProsireno.Add(os2); } GetKreiraneStavkeProsireno = new ObservableCollection <RobaProsireno>(ListaRobaProsireno); IzracunajUkupnuVrednostSvihStavki(); }