public void InputNowBalanceCount(List <Bus_WorkShop_InProduct> lstInfo) { DepotManagementDataContext ctx = CommentParameter.DepotDataContext; foreach (Bus_WorkShop_InProduct item in lstInfo) { var varData = from a in ctx.Bus_WorkShop_InProduct where a.GoodsID == item.GoodsID && a.YearMonth == item.YearMonth select a; if (varData.Count() == 0) { item.F_Id = Guid.NewGuid().ToString(); item.InventoryCount = -item.NowBalanceCount; ctx.Bus_WorkShop_InProduct.InsertOnSubmit(item); } else if (varData.Count() == 1) { Bus_WorkShop_InProduct tempInfo = varData.Single(); tempInfo.NowBalanceCount = item.NowBalanceCount; tempInfo.InventoryCount = tempInfo.LastBalanceCount + tempInfo.ShowInCount - tempInfo.ProductCount - tempInfo.ScrapCount - tempInfo.NowBalanceCount; } else { throw new Exception("导入有误"); } } ctx.SubmitChanges(); }
private void btnSupplementary_InProduct_Click(object sender, EventArgs e) { try { string yearMonth = ""; 择年月 frm = new 择年月(); if (frm.ShowDialog() == DialogResult.OK) { yearMonth = frm._Str_YearMonth; } else { return; } DataTable dtTemp = ExcelHelperP.RenderFromExcel(openFileDialog1); if (dtTemp == null) { return; } if (!dtTemp.Columns.Contains("图号型号")) { throw new Exception("文件无【图号型号】列名"); } if (!dtTemp.Columns.Contains("物品名称")) { throw new Exception("文件无【物品名称】列名"); } if (!dtTemp.Columns.Contains("规格")) { throw new Exception("文件无【规格】列名"); } if (!dtTemp.Columns.Contains("实盘数")) { throw new Exception("文件无【实盘数】列名"); } List <Bus_WorkShop_InProduct> lstInfo = new List <Bus_WorkShop_InProduct>(); for (int i = 0; i < dtTemp.Rows.Count; i++) { int goodsID = UniversalFunction.GetGoodsID(dtTemp.Rows[i]["图号型号"].ToString(), dtTemp.Rows[i]["物品名称"].ToString(), dtTemp.Rows[i]["规格"].ToString()); if (goodsID == 0) { throw new Exception(string.Format("第【{0}】行,图号型号:{1},物品名称:{2},规格:{3},无法找到匹配的物品ID", i.ToString(), dtTemp.Rows[i]["图号型号"].ToString(), dtTemp.Rows[i]["物品名称"].ToString(), dtTemp.Rows[i]["规格"].ToString())); } Bus_WorkShop_InProduct tempInfo = new Bus_WorkShop_InProduct(); tempInfo.F_Id = Guid.NewGuid().ToString(); tempInfo.GoodsID = goodsID; tempInfo.YearMonth = yearMonth; decimal goodsCount = 0; Decimal.TryParse(dtTemp.Rows[i]["实盘数"] == null ? "" : dtTemp.Rows[i]["实盘数"].ToString(), out goodsCount); tempInfo.NowBalanceCount = goodsCount; lstInfo.Add(tempInfo); } _Service_InProcutReport.InputNowBalanceCount(lstInfo); MessageDialog.ShowPromptMessage("导入成功"); } catch (Exception ex) { MessageDialog.ShowPromptMessage(ex.Message); return; } }