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);
            }
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 8
0
        /// <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);
            }
        }