public BaseResponse <bool> DeleteOfficerRecord(DeleteOfficerParameter parameter) { BaseResponse <bool> response = new BaseResponse <bool>(); try { var officer = officerRepository.GetDatas <Officer>(t => !t.IsDeleted && t.OfficerID == parameter.OfficerID, true).FirstOrDefault(); if (officer == null) { throw new Exception("数据异常"); } officer.IsDeleted = true; var operResult = officerRepository.Update <Officer>(officer); if (operResult.ResultType != EnumOperationResultType.Success) { throw new Exception("删除干部时,数据库操作发生异常"); } Dictionary <EntityBase, EntityState> opers = new Dictionary <EntityBase, EntityState>(); #region 除干部时候,同时删除此干部的积分申请信息(包含审批过与未审批过的) 以及积分变更记录 var relatedScoreApplies = scoreApplyRepository.GetDatas <ScoreApply>(t => !t.IsDeleted && t.OfficerID == officer.OfficerID, true).ToList(); relatedScoreApplies.ForEach(p => { p.IsDeleted = true; opers.Add(p, EntityState.Modified); }); var schList = schRepository.GetDatas <ScoreChangeHistory>(t => !t.IsDeleted && t.OfficerID == officer.OfficerID, true).ToList(); schList.ForEach(t => { t.IsDeleted = true; opers.Add(t, EntityState.Modified); }); operResult = officerRepository.TranMethod(opers); if (operResult.ResultType != EnumOperationResultType.Success) { throw new Exception("删除干部相关数据发生异常"); } #endregion #region 操作日志 new LogManager().AddOperationLog(parameter.CurrentUserID, "删除干部", parameter.RequestIP); #endregion return(response); } catch (Exception e) { LogHelper.WriteLog(e); response.IsSuccessful = false; response.Reason = e.Message; return(response); } }
public BaseResponse <bool> DeleteOfficerRecord(DeleteOfficerParameter parameter) { if (Validate(parameter)) { return(officerManager.DeleteOfficerRecord(parameter)); } else { BaseResponse <bool> response = new BaseResponse <bool>(); response.IsSuccessful = false; response.Reason = "JWT_ERR"; return(response); } }