void DealWithContainsTime(ManualInspectionSafetyAssessmentSearchRequest req, IList <Func <ManualInspectionSafetyAssessmentReportTable, bool> > ps)
 {
     if (req.StartTime.Year != 1)
     {
         ps.Add(m => m.ReportTime >= req.StartTime);
         ps.Add(m => m.ReportTime < req.EndTime);
     }
     ;
 }
        public ActionResult GetManualInspectionSafetyAssessmentReportList(SafetyAssessmentReportSearchBaseView conditions)
        {
            Response.Cache.SetOmitVaryStar(true);
            var req = new ManualInspectionSafetyAssessmentSearchRequest()
            {
                CurrentPageIndex = conditions.CurrentPageIndex,
            };

            if (conditions.Time.Year != 1)
            {
                req.StartTime = new DateTime(conditions.Time.Year, conditions.Time.Month, 1);
                req.EndTime   = req.StartTime.AddMonths(1);
            }
            ;
            var GetManualInspectionSafetyAssessmentReportService = new GetManualInspectionSafetyAssessmentReportService();
            var resp       = GetManualInspectionSafetyAssessmentReportService.GetManualInspectionSafetyAssessmentReportList(req);
            var models     = new List <SafetyAssessmentReportViewModel>();
            var resultView = new SafetyAssessmentReportSearchBaseView();

            if (resp.Succeed)
            {
                foreach (var item in resp.ManualInspectionSafetyAssessmentReport)
                {
                    var resultItem = new SafetyAssessmentReportViewModel();
                    resultItem.ReportName      = item.ReportPeriods;
                    resultItem.ReporePath      = item.ReprotPath;
                    resultItem.ReportTime      = DateTimeHelper.FormatDateTime(item.ReportTime);
                    resultItem.AssessmentGrade = item.AssessmentResultState.AssessmentGrade;
                    resultItem.AssessmentState = item.AssessmentResultState.AssessmentState;
                    models.Add(resultItem);
                }
                resultView.SafetyAssessmentReportViewModels = models;
                resultView.PaginatorModel = new ViewModels.PaginatorModel {
                    TotalPages = resp.TotalPages, CurrentPageIndex = conditions.CurrentPageIndex
                };
            }
            else
            {
                return(Json(new { Color = StyleConstants.RedColor, message = resp.Message }, JsonRequestBehavior.AllowGet));
            }
            return(PartialView("GetManualInspectionSafetyAssessmentListPartial", resultView));
        }
        public ManualInspectionSafetyAssessmentReportResponse GetManualInspectionSafetyAssessmentReportList(ManualInspectionSafetyAssessmentSearchRequest req)
        {
            var resp = new ManualInspectionSafetyAssessmentReportResponse();
            IList <Func <ManualInspectionSafetyAssessmentReportTable, bool> > ps = new List <Func <ManualInspectionSafetyAssessmentReportTable, bool> >();

            try
            {
                DealWithContainsTime(req, ps);
                var numberOfResultsPrePage = ApplicationSettingsFactory.GetApplicationSettings().NumberOfResultsPrePage;//获取每页记录数
                var source = _getManualInspectionSafetyAssessmentReportDAL.FindBy(ps, req.CurrentPageIndex, numberOfResultsPrePage, ServiceConstant.AssessmentResultStateNavigationProperty);

                if (HasNoSearchResult(source))
                {
                    resp.Message = "无记录!";
                }
                else
                {
                    resp.TotalResultCount = _getManualInspectionSafetyAssessmentReportDAL.GetCountByContains(ps);
                    resp.ManualInspectionSafetyAssessmentReport = source;
                    resp.Succeed = true;
                }
            }
            catch (Exception ex)
            {
                resp.Message = "搜索人工巡检安全评估报告发生错误!";
                Log(ex);
            }
            return(resp);
        }