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(); }
private void dataGridDadavanjeRobeOtpremnice_CellValueChanged(object sender, DataGridViewCellEventArgs e) { DataGridViewComboBoxCell cb = (DataGridViewComboBoxCell)dataGridDadavanjeRobeOtpremnice.Rows[e.RowIndex].Cells[0]; if (cb.Value != null && e.ColumnIndex == 0) { var roba = service.SifarnikRobeListById((int)dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[0].Value); bool exist = false; int brojKolona = dataGridDadavanjeRobeOtpremnice.Rows.Count - 1; for (int i = 0; i < brojKolona; i++) { if (dataGridDadavanjeRobeOtpremnice.Rows[i].Cells[0].FormattedValue.ToString() != "") { if ((int)dataGridDadavanjeRobeOtpremnice.Rows[i].Cells[0].Value == roba.Id && i != dataGridDadavanjeRobeOtpremnice.CurrentRow.Index) { MessageBox.Show("Otpremnica vec sadrzi ovu robu! Nemogu biti 2 iste robe!"); cb.Value = null; dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[2].Value = ""; dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[3].Value = ""; brojKolona--; exist = true; } } } if (!exist) { UplatnicaWCFtoDb.SifarnikRobe zaCenuRobe = service.SifarnikRobeListById(roba.Id); dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[2].Value = zaCenuRobe.JedinicnaCena.ToString(); if (e.RowIndex == dataGridDadavanjeRobeOtpremnice.Rows.Count - 1) { dataGridDadavanjeRobeOtpremnice.Rows.Add(); } } } if (e.ColumnIndex == 1 || e.ColumnIndex == 2)//&& dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[1].FormattedValue.ToString()!="") { double kolicina = 0; double.TryParse(dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[1].FormattedValue.ToString(), out kolicina); if (kolicina != 0) { double novaCena = 0; double.TryParse(dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[2].FormattedValue.ToString(), out novaCena); if (novaCena > 0) { dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[3].Value = kolicina * novaCena; } else { dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[3].Value = ""; } } else { dataGridDadavanjeRobeOtpremnice.CurrentRow.Cells[3].Value = ""; } } }
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(); }