public ResultModel CompleteCancel(UserModel user, int repoId) { ResultModel result = new ResultModel(); try { using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { result = this.repoDAL.Get(user, repoId); if (result.ResultStatus != 0) return result; Model.Repo repo = result.ReturnValue as Repo; if (repo == null) { result.Message = "该数据不存在,不能完成"; result.ResultStatus = -1; return result; } result = repoDAL.CompleteCancel(user, repo); if (result.ResultStatus != 0) return result; //获取所有已生效的明细 DAL.RepoDetailDAL repoDetailDAL = new RepoDetailDAL(); result = repoDetailDAL.Load(user, repoId, StatusEnum.已完成); if (result.ResultStatus != 0) return result; List<Model.RepoDetail> details = result.ReturnValue as List<Model.RepoDetail>; if (details == null || !details.Any()) { result.ResultStatus = -1; result.Message = "获取失败"; return result; } DAL.StockLogDAL stockLogDAL = new StockLogDAL(); DAL.StockDAL stockDAL = new StockDAL(); foreach (Model.RepoDetail detail in details) { //明细完成 result = repoDetailDAL.CompleteCancel(user, detail); if (result.ResultStatus != 0) return result; //获取回购流水 result = stockLogDAL.Get(user, detail.StockLogId); if (result.ResultStatus != 0) return result; Model.StockLog stockLog = result.ReturnValue as Model.StockLog; if (stockLog == null || stockLog.StockLogId <= 0) { result.ResultStatus = -1; result.Message = "回购流水获取失败"; return result; } //完成回购流水 result = stockLogDAL.CompleteCancel(user, stockLog); if (result.ResultStatus != 0) return result; //获取库存 result = stockDAL.Get(user, detail.StockId); if (result.ResultStatus != 0) return result; Model.Stock stock = result.ReturnValue as Model.Stock; if (stock == null || stock.StockId <= 0) { result.ResultStatus = -1; result.Message = "库存获取失败"; return result; } result = stockDAL.UpdateStockStatusDirect(stock, StockStatusEnum.预回购库存); if (result.ResultStatus != 0) return result; } scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; } return result; }
public ResultModel Close(UserModel user, int customId) { ResultModel result = new ResultModel(); try { using (System.Transactions.TransactionScope scope = new TransactionScope()) { //获取报关 result = this.customsclearanceDAL.Get(user, customId); if (result.ResultStatus != 0) return result; Model.CustomsClearance customsClearance = result.ReturnValue as Model.CustomsClearance; if (customsClearance == null || customsClearance.CustomsId <= 0) { result.ResultStatus = -1; result.Message = "报关不存在"; return result; } //报关关闭 result = this.customsclearanceDAL.Close(user, customsClearance); if (result.ResultStatus != 0) return result; //获取所有已完成的明细 DAL.CustomsDetailDAL customsDetailDAL = new CustomsDetailDAL(); result = customsDetailDAL.Load(user, customId, StatusEnum.已生效); if (result.ResultStatus != 0) return result; List<Model.CustomsDetail> details = result.ReturnValue as List<Model.CustomsDetail>; if (details == null || !details.Any()) { result.ResultStatus = -1; result.Message = "获取失败"; return result; } DAL.StockLogDAL stockLogDAL = new StockLogDAL(); DAL.StockDAL stockDAL = new StockDAL(); foreach (Model.CustomsDetail detail in details) { //明细关闭 result = customsDetailDAL.Close(user, detail); if (result.ResultStatus != 0) return result; //获取报关流水 result = stockLogDAL.Get(user, detail.StockLogId); if (result.ResultStatus != 0) return result; Model.StockLog stockLog = result.ReturnValue as Model.StockLog; if (stockLog == null || stockLog.StockLogId <= 0) { result.ResultStatus = -1; result.Message = "报关流水获取失败"; return result; } //完成报关流水 result = stockLogDAL.Close(user, stockLog); if (result.ResultStatus != 0) return result; //获取库存 result = stockDAL.Get(user, detail.StockId); if (result.ResultStatus != 0) return result; Model.Stock stock = result.ReturnValue as Model.Stock; if (stock == null || stock.StockId <= 0) { result.ResultStatus = -1; result.Message = "库存获取失败"; return result; } result = stockDAL.UpdateStockStatusDirect(stock, StockStatusEnum.在库正常); if (result.ResultStatus != 0) return result; } scope.Complete(); } } catch (Exception ex) { result.ResultStatus = -1; result.Message = ex.Message; return result; } return result; }
public ResultModel Complete(UserModel user, int pledgeId) { ResultModel result = new ResultModel(); try { using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { //验证质押 result = pledgeDAL.Get(user, pledgeId); if (result.ResultStatus != 0) return result; Pledge pledge = result.ReturnValue as Pledge; if (pledge == null || pledge.PledgeId <= 0) { result.ResultStatus = -1; result.Message = "该数据不存在,不能进行执行完成操作"; return result; } //执行完成 result = pledgeDAL.Complete(user, pledge); if (result.ResultStatus != 0) return result; //加载明细 PledgeDetialDAL pledgeDetialDAL = new PledgeDetialDAL(); result = pledgeDetialDAL.Load(user, pledge.PledgeId); if (result.ResultStatus != 0) return result; List<Model.PledgeDetial> details = result.ReturnValue as List<Model.PledgeDetial>; if (details == null || !details.Any()) { result.ResultStatus = -1; result.Message = "获取质押明细失败"; return result; } //加载对应质押申请 PledgeApplyDAL pledgeApplyDAL = new PledgeApplyDAL(); result = pledgeApplyDAL.Get(user, pledge.PledgeApplyId); if (result.ResultStatus != 0) return result; PledgeApply pledgeApply = result.ReturnValue as PledgeApply; if (pledgeApply == null || pledgeApply.PledgeApplyId <= 0) { result.ResultStatus = -1; result.Message = "对应质押申请加载失败"; return result; } //明细执行完成 //更新库存状态至质押库存 StockDAL stockDAL = new StockDAL(); StockLogDAL stockLogDAL = new StockLogDAL(); StockNameDAL stockNameDAL = new StockNameDAL(); foreach (Model.PledgeDetial detail in details) { //明细完成 result = pledgeDetialDAL.Complete(user, detail); if (result.ResultStatus != 0) return result; //获取质押流水 result = stockLogDAL.Get(user, detail.StockLogId); if (result.ResultStatus != 0) return result; Model.StockLog stockLog = result.ReturnValue as Model.StockLog; if (stockLog == null || stockLog.StockLogId <= 0) { result.ResultStatus = -1; result.Message = "质押流水获取失败"; return result; } //完成质押流水 result = stockLogDAL.Complete(user, stockLog); if (result.ResultStatus != 0) return result; //获取库存 result = stockDAL.Get(user, detail.StockId); if (result.ResultStatus != 0) return result; Model.Stock stock = result.ReturnValue as Model.Stock; if (stock == null || stock.StockId <= 0) { result.ResultStatus = -1; result.Message = "库存获取失败"; return result; } result = stockDAL.UpdateStockStatusDirect(stock, StockStatusEnum.质押库存); if (result.ResultStatus != 0) return result; } scope.Complete(); } } catch (Exception ex) { result.Message = ex.Message; } finally { if (result.ResultStatus != 0) log.ErrorFormat("{0} {1},类型序号:{2}", user.EmpName, result.Message, result.ReturnValue); else if (log.IsInfoEnabled) log.InfoFormat("{0} {1},类型序号:{2}", user.EmpName, result.Message, result.ReturnValue); } return result; }