public ResultModel Update(UserModel user, NFMT.Operate.Model.Apply apply, Model.CustomsClearanceApply customsClearanceApply, List<Model.CustomsApplyDetail> details) { ResultModel result = new ResultModel(); NFMT.Operate.DAL.ApplyDAL applyDAL = new Operate.DAL.ApplyDAL(); DAL.CustomsApplyDetailDAL customsApplyDetailDAL = new CustomsApplyDetailDAL(); try { using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { result = applyDAL.Get(user, apply.ApplyId); if (result.ResultStatus != 0) return result; NFMT.Operate.Model.Apply applyResult = result.ReturnValue as NFMT.Operate.Model.Apply; if (applyResult == null) { result.ResultStatus = -1; result.Message = "获取数据失败"; return result; } applyResult.ApplyType = apply.ApplyType; applyResult.EmpId = user.EmpId; applyResult.ApplyTime = DateTime.Now; applyResult.ApplyDept = apply.ApplyDept; applyResult.ApplyDesc = apply.ApplyDesc; result = applyDAL.Update(user, applyResult); if (result.ResultStatus != 0) return result; result = customsclearanceapplyDAL.Get(user, customsClearanceApply.CustomsApplyId); if (result.ResultStatus != 0) return result; NFMT.WareHouse.Model.CustomsClearanceApply customsClearanceApplyResult = result.ReturnValue as NFMT.WareHouse.Model.CustomsClearanceApply; if (customsClearanceApplyResult == null) { result.ResultStatus = -1; result.Message = "获取数据失败"; return result; } customsClearanceApplyResult.ApplyId = customsClearanceApply.ApplyId; customsClearanceApplyResult.AssetId = customsClearanceApply.AssetId; customsClearanceApplyResult.GrossWeight = customsClearanceApply.GrossWeight; customsClearanceApplyResult.NetWeight = customsClearanceApply.NetWeight; customsClearanceApplyResult.UnitId = customsClearanceApply.UnitId; customsClearanceApplyResult.OutCorpId = customsClearanceApply.OutCorpId; customsClearanceApplyResult.InCorpId = customsClearanceApply.InCorpId; customsClearanceApplyResult.CustomsCorpId = customsClearanceApply.CustomsCorpId; customsClearanceApplyResult.CustomsPrice = customsClearanceApply.CustomsPrice; customsClearanceApplyResult.CurrencyId = customsClearanceApply.CurrencyId; customsClearanceApplyResult.Status = Common.StatusEnum.已录入; result = customsclearanceapplyDAL.Update(user, customsClearanceApplyResult); if (result.ResultStatus != 0) return result; result = customsApplyDetailDAL.Load(user, customsClearanceApply.CustomsApplyId); if (result.ResultStatus != 0) return result; List<Model.CustomsApplyDetail> customsApplyDetails = result.ReturnValue as List<Model.CustomsApplyDetail>; if (customsApplyDetails == null || !customsApplyDetails.Any()) { result.ResultStatus = -1; result.Message = "获取数据失败"; return result; } foreach (Model.CustomsApplyDetail detail in customsApplyDetails) { if (detail.DetailStatus == Common.StatusEnum.已生效) detail.DetailStatus = Common.StatusEnum.已录入; result = customsApplyDetailDAL.Invalid(user, detail); if (result.ResultStatus != 0) return result; } if (details != null && details.Any()) { foreach (Model.CustomsApplyDetail detail in details) { detail.CustomsApplyId = customsClearanceApply.CustomsApplyId; result = customsApplyDetailDAL.Insert(user, detail); if (result.ResultStatus != 0) return result; } } if (result.ResultStatus == 0) result.ReturnValue = customsClearanceApply.CustomsApplyId; scope.Complete(); } } catch (Exception e) { result.Message = e.Message; result.ResultStatus = -1; } return result; }
public ResultModel Create(UserModel user, NFMT.Operate.Model.Apply apply, Model.CustomsClearanceApply customsClearanceApply, List<Model.CustomsApplyDetail> details) { ResultModel result = new ResultModel(); NFMT.Operate.DAL.ApplyDAL applyDAL = new Operate.DAL.ApplyDAL(); DAL.CustomsApplyDetailDAL customsApplyDetailDAL = new CustomsApplyDetailDAL(); try { using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required)) { result = applyDAL.Insert(user, apply); if (result.ResultStatus != 0) return result; int applyId = (int)result.ReturnValue; customsClearanceApply.ApplyId = applyId; result = customsclearanceapplyDAL.Insert(user, customsClearanceApply); if (result.ResultStatus != 0) return result; int customsApplyId = (int)result.ReturnValue; if (details != null && details.Any()) { foreach (Model.CustomsApplyDetail detail in details) { detail.CustomsApplyId = customsApplyId; result = customsApplyDetailDAL.Insert(user, detail); if (result.ResultStatus != 0) return result; } } if (result.ResultStatus == 0) result.ReturnValue = applyId; scope.Complete(); } } catch (Exception e) { result.Message = e.Message; result.ResultStatus = -1; } return result; }