private void cbbMaterialCode_EditValueChanged(object sender, EventArgs e) { Model.Material mat = (sender as LookUpEdit).GetSelectedDataRow() as Model.Material; ImportMaterialDetail detail = new ImportMaterialDetail(); ImportMaterialDetail exists = lstDetail.Where(p => p.MaterialId == mat.MaterialId).FirstOrDefault(); int i = gridView2.FocusedRowHandle; ImportMaterialDetail selectedrow = gridView2.GetRow(i) as ImportMaterialDetail; detail.Material = mat; detail.MaterialId = mat.MaterialId; detail.Price = mat.Price; detail.ImportId = import.ImportId; detail.Quantity = 1; if (selectedrow == null || (selectedrow.MaterialId == 0) || selectedrow.MaterialId == null) { gridView2.DeleteRow(i); if (exists == null) { //gridutility.AddNewRow(detail); lstDetail.Add(detail); } else { exists.Quantity += 1; } } else { gridutility.UpdateRow(detail); } gridView2.RefreshData(); }
private List <ImportMaterialDetail> CreateListImportDetail(List <Model.Material> lst) { if (lst == null) { return(null); } List <ImportMaterialDetail> result = new List <ImportMaterialDetail>(); ImportMaterialDetail imde = null; foreach (var item in lst) { imde = new ImportMaterialDetail() { MaterialId = item.MaterialId, Material = item, Price = item.Price }; result.Add(imde); } return(result); }
private void AddRow(List <Model.Material> lstMaterial) { var listImportDetail = CreateListImportDetail(lstMaterial); if (listImportDetail == null) { return; } foreach (var item in listImportDetail) { ImportMaterialDetail record = listImportMaterialDetail.Find(x => x.MaterialId == item.MaterialId); if (record == null) { listImportMaterialDetail.Add(item); } else { record.Quantity += item.Quantity; } } gridView2.RefreshData(); }