private OldDBWeb.PozycjaReklamacji dodajPozycje(OldDBWeb.Produkt towar, decimal?cena = null, double?ilosc = null) { int maxLp = this.pozycje.Count == 0 ? 0 : this.pozycje.Max(r => r.Lp); var pozycja = new Enova.Business.Old.DB.Web.PozycjaReklamacji() { Towar = towar, TowarNazwa = towar.Kod + " - " + towar.Nazwa, Cena = cena != null ? cena.Value : (towar.Cena == null ? 0 : towar.Cena.Value), Lp = maxLp + 1 }; if (ilosc != null) { if (ilosc.Value < 0) { pozycja.IloscBraki = -ilosc.Value; } else if (ilosc > 0) { pozycja.IloscNadwyzki = ilosc.Value; } } this.Reklamacja.Pozycje.Add(pozycja); int idx = this.pozycjeBindingSource.Add(pozycja); this.pozycjeReklamacjiGrid.CurrentCell = this.pozycjeReklamacjiGrid.Rows[idx].Cells[lloscBrakiColumn.Index]; this.pozycjeReklamacjiGrid.Focus(); return(pozycja); }
private void rozdzielButton_Click(object sender, EventArgs e) { List <DataGridViewRow> selectedRows = new List <DataGridViewRow>(); foreach (DataGridViewCell cell in pozycjeReklamacjiGrid.SelectedCells) { if (!selectedRows.Any(r => r.Index == cell.RowIndex)) { selectedRows.Add(cell.OwningRow); } } if (selectedRows.Count > 0 && BAL.Forms.FormManager.Confirm("Czy napewno chcesz rodzielić reklamację")) { //var hm = HandelModule.GetInstance(this.DataContext); var dc = (Enova.Business.Old.DB.Web.WebContext)((Enova.Business.Old.Core.IContexable) this.DataContext); var view = (ReklamacjeView)this.DataContext.Parent; //var rkl = new Enova.Business.Old.DB.Web.Reklamacja(); var rkl = (Enova.Business.Old.DB.Web.Reklamacja)view.CreateData(); rkl.Kontrahent = this.Reklamacja.Kontrahent; //hm.Reklamacje.AddRow(rkl); int i = 1; foreach (DataGridViewRow row in selectedRows) { var poz = (Enova.Business.Old.DB.Web.PozycjaReklamacji)row.DataBoundItem; var newPoz = new Enova.Business.Old.DB.Web.PozycjaReklamacji(); //hm.Reklamacje.AddRow(newPoz); newPoz.Reklamacja = rkl; newPoz.Towar = poz.Towar; newPoz.TowarNazwa = poz.TowarNazwa; newPoz.Cena = poz.Cena; newPoz.Indywidualny = poz.Indywidualny; newPoz.Korekta = poz.Korekta; newPoz.Lp = i++; newPoz.Opis = poz.Opis; newPoz.IloscBraki = poz.IloscBraki; newPoz.IloscNadwyzki = poz.IloscNadwyzki; poz.Deleted = true; } ((ReklamacjeEditContext)this.DataContext).RozdzielonaReklamacja = rkl; ((BAL.Forms.DataEditForm) this.ParentForm).ProcessOKButton(); } }
private void usunPozycje() { if (pozycjeReklamacjiGrid.CurrentRow != null) { if (FormManager.Confirm("Czy napewno chcesz usunąć pozycję?")) { Enova.Business.Old.DB.Web.PozycjaReklamacji pozycja = (Enova.Business.Old.DB.Web.PozycjaReklamacji)pozycjeReklamacjiGrid.CurrentRow.DataBoundItem; if (pozycja.EntityState == EntityState.Added) { DbContext.DeleteObject(pozycja); } else if (pozycja.EntityState == EntityState.Modified || pozycja.EntityState == EntityState.Unchanged) { pozycja.Deleted = true; } int i = 1; foreach (var poz in this.Reklamacja.Pozycje.Where(r => r.Deleted == false).OrderBy(r => r.Lp)) { poz.Lp = i++; } pozycjeBindingSource.Remove(pozycja); } } }