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