Ejemplo n.º 1
0
        /// <summary>
        /// 删除标识码
        /// </summary>
        /// <param name="dataContext">数据上下文</param>
        /// <param name="uniqueIdentifier">标识码数据集</param>
        /// <param name="error">错误信息</param>
        /// <returns>成功返回True,失败返回False</returns>
        public bool DeleteIdentifier(DepotManagementDataContext dataContext, Out_UniqueIdentifierData uniqueIdentifier, out string error)
        {
            error = null;

            try
            {
                var varData = from a in dataContext.Out_UniqueIdentifierData
                              select a;

                if (uniqueIdentifier.Bill_ID != null && uniqueIdentifier.GoodsID != null && uniqueIdentifier.Identifier != null)
                {
                    varData = from a in varData
                              where a.Bill_ID == uniqueIdentifier.Bill_ID &&
                              a.GoodsID == uniqueIdentifier.GoodsID &&
                              a.Identifier == uniqueIdentifier.Identifier
                              select a;
                }
                else if (uniqueIdentifier.Bill_ID != null && uniqueIdentifier.GoodsID != null)
                {
                    varData = from a in varData
                              where a.Bill_ID == uniqueIdentifier.Bill_ID &&
                              a.GoodsID == uniqueIdentifier.GoodsID
                              select a;
                }
                else if (uniqueIdentifier.Bill_ID != null)
                {
                    varData = from a in varData
                              where a.Bill_ID == uniqueIdentifier.Bill_ID
                              select a;
                }
                else
                {
                    error = "输入信息错误,无法删除标识码";
                    return(false);
                }

                dataContext.Out_UniqueIdentifierData.DeleteAllOnSubmit(varData);

                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 提交信息
        /// </summary>
        /// <param name="billNo">单据号</param>
        /// <param name="goodsID">物品ID</param>
        /// <param name="storageID">账务库房ID</param>
        /// <param name="uniqueIdentifier">标识表</param>
        /// <param name="error">错误信息</param>
        /// <returns>成功返回True,失败返回False</returns>
        public bool SubmitInfo(string billNo, int goodsID, string storageID, DataTable uniqueIdentifier, out string error)
        {
            error = null;

            try
            {
                DepotManagementDataContext dataContext = CommentParameter.DepotDataContext;

                var varData = from a in dataContext.Out_UniqueIdentifierData
                              where a.Bill_ID == billNo &&
                              a.GoodsID == goodsID &&
                              a.StorageID == storageID
                              select a;

                dataContext.Out_UniqueIdentifierData.DeleteAllOnSubmit(varData);

                for (int i = 0; i < uniqueIdentifier.Rows.Count; i++)
                {
                    Out_UniqueIdentifierData lnqIdentifier = new Out_UniqueIdentifierData();

                    lnqIdentifier.Bill_ID    = billNo;
                    lnqIdentifier.GoodsID    = goodsID;
                    lnqIdentifier.Identifier = uniqueIdentifier.Rows[i][0].ToString();
                    lnqIdentifier.StorageID  = storageID;

                    dataContext.Out_UniqueIdentifierData.InsertOnSubmit(lnqIdentifier);
                }

                dataContext.SubmitChanges();

                return(true);
            }
            catch (Exception ex)
            {
                error = ex.Message;
                return(false);
            }
        }
        /// <summary>
        /// 删除单据
        /// </summary>
        /// <param name="billNo">单据号</param>
        /// <param name="error">错误信息</param>
        /// <returns>成功返回True,失败返回False</returns>
        public bool DeleteBill(string billNo, out string error)
        {
            error = null;


            DepotManagementDataContext dataContext = CommentParameter.DepotDataContext;

            dataContext.Connection.Open();
            dataContext.Transaction = dataContext.Connection.BeginTransaction();

            try
            {
                var varData = from a in dataContext.Out_ManeuverBill
                              where a.Bill_ID == billNo
                              select a;

                if (varData.Count() != 1)
                {
                    error = "数据为空或者不唯一";
                    return(false);
                }
                else
                {
                    Out_ManeuverBill billInfo = varData.Single();

                    foreach (var item in varData)
                    {
                        Out_UniqueIdentifierData lnqIdentifier = new Out_UniqueIdentifierData();

                        lnqIdentifier.Bill_ID = item.Bill_ID;

                        if (!m_serverIdentifier.DeleteIdentifier(dataContext, lnqIdentifier, out error))
                        {
                            return(false);
                        }
                    }

                    if (billInfo.AssociatedBillNo != null && billInfo.AssociatedBillNo.Contains("YXTK"))
                    {
                        var varMarketing = from a in dataContext.S_MarketingBill
                                           where a.DJH == varData.Single().AssociatedBillNo
                                           select a;


                        dataContext.S_MarketingBill.DeleteAllOnSubmit(varMarketing);

                        m_billMessageServer.DestroyMessage(billInfo.AssociatedBillNo);
                    }


                    var varAfterService = from a in dataContext.Out_AfterServicePartsApplyBill
                                          where a.Bill_ID == billInfo.AssociatedBillNo
                                          select a;

                    foreach (var item in varAfterService)
                    {
                        item.BillStatus = "新建单据";
                    }

                    var varDetail = from a in dataContext.Out_ManeuverList
                                    where a.Bill_ID == billInfo.Bill_ID
                                    select a;

                    List <Out_ManeuverList> lstList = varDetail.ToList();

                    dataContext.Out_ManeuverBill.DeleteAllOnSubmit(varData);
                    dataContext.SubmitChanges();

                    foreach (Out_ManeuverList detail in lstList)
                    {
                        var varAccount = from a in dataContext.Out_DetailAccount
                                         where a.Bill_ID == billInfo.Bill_ID &&
                                         a.GoodsID == detail.GoodsID &&
                                         a.SecStorageID == billInfo.OutStorageID &&
                                         a.StorageID == detail.StorageID
                                         select a;

                        if (varAccount.Count() == 1)
                        {
                            Out_DetailAccount lnqAccount = varAccount.Single();
                            lnqAccount.OperationCount = -lnqAccount.OperationCount;

                            if (!m_serverBusiness.OperationStock(dataContext, lnqAccount, out error))
                            {
                                throw new Exception(error);
                            }
                        }

                        dataContext.Out_DetailAccount.DeleteAllOnSubmit(varAccount);
                        dataContext.SubmitChanges();
                    }
                }

                dataContext.Transaction.Commit();
                return(true);
            }
            catch (Exception ex)
            {
                dataContext.Transaction.Rollback();
                error = ex.Message;
                return(false);
            }
        }