/// <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); } }
/// <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); } }