private void btnAdd_Click(object sender, EventArgs e) { if (!CheckData()) { return; } S_SafeStock lnqSafe = new S_SafeStock(); lnqSafe.GoodsID = Convert.ToInt32(tbsGoods.Tag); lnqSafe.Remark = txtRemark.Text.Replace("总成自动生成", ""); lnqSafe.SafeStockCount = numSafeStockCount.Value; if (!m_safeStockServer.AddInfo(lnqSafe, out m_error)) { MessageDialog.ShowPromptMessage(m_error); } else { MessageDialog.ShowPromptMessage("添加成功"); } ClearDate(); RefreshDataGridView(); PositioningRecord(lnqSafe.GoodsID.ToString()); }
/// <summary> /// 添加信息 /// </summary> /// <param name="safeStock">LNQ数据集</param> /// <param name="error">错误信息</param> /// <returns>成功返回True,失败返回False</returns> public bool AddInfo(S_SafeStock safeStock, out string error) { error = null; DepotManagementDataContext ctx = CommentParameter.DepotDataContext; try { S_SafeStock lnqSafe = new S_SafeStock(); lnqSafe.GoodsID = safeStock.GoodsID; lnqSafe.Remark = safeStock.Remark; lnqSafe.SafeStockCount = safeStock.SafeStockCount; ctx.S_SafeStock.InsertOnSubmit(lnqSafe); ctx.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 更新安全库存信息 /// </summary> /// <param name="dtInfo">数据集</param> /// <param name="error">错误信息</param> /// <returns>成功返回True,失败返回False</returns> public bool UpdateSafeStockInfo(DataTable dtInfo, out string error) { error = null; try { DepotManagementDataContext ctx = CommentParameter.DepotDataContext; var varAllInfo = from a in ctx.S_SafeStock select a; ctx.S_SafeStock.DeleteAllOnSubmit(varAllInfo); foreach (DataRow dr in dtInfo.Rows) { S_SafeStock lnqSafe = new S_SafeStock(); lnqSafe.GoodsID = Convert.ToInt32(dr["GoodsID"]); lnqSafe.SafeStockCount = Convert.ToDecimal(dr["Usage"]); lnqSafe.Remark = "系统自动生成"; ctx.S_SafeStock.InsertOnSubmit(lnqSafe); } ctx.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
void Operation_Add(DepotManagementDataContext ctx, int goodsID, Dictionary <string, int> DicNumberOfProduct, decimal safeStockCount) { bool isInsert = false; var varCBOM = from a in ctx.CG_CBOM where a.GoodsID == goodsID select a; if (varCBOM.Count() != 0) { throw new Exception("此物品已存在无法添加"); } foreach (KeyValuePair <string, int> item in DicNumberOfProduct) { CG_CBOM lnqCBOM = new CG_CBOM(); lnqCBOM.Edition = item.Key; lnqCBOM.GoodsID = goodsID; lnqCBOM.Usage = Convert.ToDecimal(item.Value); if (lnqCBOM.Usage != 0) { isInsert = true; ctx.CG_CBOM.InsertOnSubmit(lnqCBOM); } } ctx.SubmitChanges(); if (!isInsert) { throw new Exception("此物品未设置任何【基数】"); } else { S_SafeStock lnqSafe = new S_SafeStock(); lnqSafe.GoodsID = goodsID; lnqSafe.SafeStockCount = safeStockCount; ctx.S_SafeStock.InsertOnSubmit(lnqSafe); } ctx.SubmitChanges(); }
/// <summary> /// 操作数据库 /// </summary> /// <param name="safeList">新的安全库存的数据集</param> /// <param name="error">出错时返回错误信息,无错时返回null</param> /// <returns>更新数据库成功返回True,更新失败返回False</returns> public bool OperationInfo(DataTable safeList, out string error) { error = null; try { DepotManagementDataContext dataContext = CommentParameter.DepotDataContext; #region 除数据 var varData = from a in dataContext.S_SafeStock select a; dataContext.S_SafeStock.DeleteAllOnSubmit(varData); #endregion #region 添加数据 for (int i = 0; i < safeList.Rows.Count; i++) { S_SafeStock lnqSafe = new S_SafeStock(); lnqSafe.GoodsID = Convert.ToInt32(safeList.Rows[i]["GoodsID"]); lnqSafe.SafeStockCount = Convert.ToDecimal(safeList.Rows[i]["Usage"]); dataContext.S_SafeStock.InsertOnSubmit(lnqSafe); } #endregion dataContext.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
private void btnModify_Click(object sender, EventArgs e) { S_SafeStock lnqSafe = new S_SafeStock(); lnqSafe.GoodsID = Convert.ToInt32(tbsGoods.Tag); lnqSafe.Remark = txtRemark.Text.Replace("总成自动生成", ""); lnqSafe.SafeStockCount = numSafeStockCount.Value; if (!m_safeStockServer.UpdateInfo(lnqSafe, Convert.ToInt32(dataGridView1.CurrentRow.Cells["物品ID"].Value), out m_error)) { MessageDialog.ShowPromptMessage(m_error); } else { MessageDialog.ShowPromptMessage("修改成功"); } ClearDate(); RefreshDataGridView(); PositioningRecord(lnqSafe.GoodsID.ToString()); }
/// <summary> /// 更新信息 /// </summary> /// <param name="safeStock">LNQ数据集</param> /// <param name="goodsID">物品ID</param> /// <param name="error">错误信息</param> /// <returns>成功返回True,失败返回False</returns> public bool UpdateInfo(S_SafeStock safeStock, int goodsID, out string error) { error = null; DepotManagementDataContext ctx = CommentParameter.DepotDataContext; try { var varData = from a in ctx.S_SafeStock where a.GoodsID == goodsID select a; if (varData.Count() != 1) { error = "数据错误"; return(false); } else { S_SafeStock lnqSafe = varData.Single(); lnqSafe.GoodsID = safeStock.GoodsID; lnqSafe.Remark = safeStock.Remark; lnqSafe.SafeStockCount = safeStock.SafeStockCount; } ctx.SubmitChanges(); return(true); } catch (Exception ex) { error = ex.Message; return(false); } }
/// <summary> /// 批量插入数据 /// </summary> /// <param name="dtSource">数据源列表</param> public void BatchInsertCGBom(DataTable dtSource) { if (dtSource == null || dtSource.Rows.Count == 0) { throw new Exception("数据集无效"); } DepotManagementDataContext ctx = CommentParameter.DepotDataContext; ctx.Connection.Open(); ctx.Transaction = ctx.Connection.BeginTransaction(); try { foreach (DataRow dr in dtSource.Rows) { bool isDelete = false; int goodsID = UniversalFunction.GetGoodsID(dr["图号型号"].ToString(), dr["物品名称"].ToString(), dr["规格"].ToString()); CG_CBOM bom = new CG_CBOM(); bom.Edition = dr["总成型号"].ToString(); if (goodsID != 0) { bom.GoodsID = goodsID; } else { throw new Exception("图号:" + dr["图号型号"].ToString() + " 名称:" + dr["物品名称"].ToString() + " 规格:" + dr["规格"].ToString() + " 不存在于系统中"); } if (dr["基数"] == null || Convert.ToInt32(dr["基数"]) == 0) { throw new Exception("图号:" + dr["图号型号"].ToString() + " 名称:" + dr["物品名称"].ToString() + " 规格:" + dr["规格"].ToString() + " 基数不符合要求,请重新检查"); } else { bom.Usage = Convert.ToDecimal(dr["基数"]); } //采购BOM var varData = from a in ctx.CG_CBOM where a.GoodsID == bom.GoodsID && a.Edition == bom.Edition select a; ctx.CG_CBOM.DeleteAllOnSubmit(varData); ctx.SubmitChanges(); if (bom.Usage == 0) { var varData1 = from a in ctx.CG_CBOM where a.GoodsID == bom.GoodsID select a; if (varData1.Count() == 0) { isDelete = true; } } else { ctx.CG_CBOM.InsertOnSubmit(bom); } ctx.SubmitChanges(); //安全库存 var varSaftStock = from a in ctx.S_SafeStock where a.GoodsID == goodsID select a; ctx.S_SafeStock.DeleteAllOnSubmit(varSaftStock); ctx.SubmitChanges(); if (!isDelete) { S_SafeStock saftStock = new S_SafeStock(); saftStock.GoodsID = goodsID; saftStock.SafeStockCount = Convert.ToDecimal(dr["安全库存"]); ctx.S_SafeStock.InsertOnSubmit(saftStock); } ctx.SubmitChanges(); //供应商配额 var varProviderPack = from a in ctx.B_GoodsLeastPackAndStock where a.GoodsID == goodsID select a; if (isDelete) { ctx.B_GoodsLeastPackAndStock.DeleteAllOnSubmit(varProviderPack); } ctx.SubmitChanges(); //采购公式 var varProcurement = from a in ctx.CG_ProcurementPlan where a.GoodsID == goodsID select a; if (isDelete) { ctx.CG_ProcurementPlan.DeleteAllOnSubmit(varProcurement); } ctx.SubmitChanges(); } ctx.Transaction.Commit(); } catch (Exception ex) { ctx.Transaction.Rollback(); throw new Exception(ex.Message); } }