public async Task <IActionResult> GetConsumerHealthReportPageList([FromQuery]
                                                                          GetConsumerHealthReportPageListRequestDto request)
        {
            var healthBiz = new HealthBiz();

            return(Success(await healthBiz.GetConsumerHealthReportPageList(request)));
        }
        public async Task <IActionResult> GetConsumerQuestionnairesPageList([FromBody]
                                                                            GetConsumerQuestionnairesPageListRequestDto request)
        {
            var healthBiz = new HealthBiz();

            return(Success(await healthBiz.GetConsumerQuestionnairesPageList(request)));
        }
        public async Task <IActionResult> UpdateHealthReport([FromBody] CreateOrUpdateHealthReportRequestDto request)
        {
            var healthBiz = new HealthBiz();

            if (string.IsNullOrEmpty(request.UserGuid))
            {
                return(Failed(ErrorCode.Empty, "请指定检验报告所属会员"));
            }

            var userBiz   = new UserBiz();
            var userModel = await userBiz.GetAsync(request.UserGuid);

            if (userModel is null || !userModel.Enable)
            {
                return(Failed(ErrorCode.Empty, "指定会员不存在"));
            }

            if (string.IsNullOrEmpty(request.ReportGuid))
            {
                return(Failed(ErrorCode.Empty, "请指定编辑报告"));
            }

            if (string.IsNullOrEmpty(request.Suggestion) && request.Suggestion.Length > 1000)
            {
                return(Failed(ErrorCode.Empty, "报告建议超过最大长度限制"));
            }

            if (request.Attachments is null || request.Attachments.Count <= 0)
            {
                return(Failed(ErrorCode.Empty, "请上传报告附件"));
            }

            if (await healthBiz.CheckReportName(request.ReportName, request.ReportGuid))
            {
                return(Failed(ErrorCode.Empty, $"报告名称“{request.ReportName}”已存在"));
            }

            var model = await healthBiz.GetConsumerHealthReport(request.ReportGuid);

            model.ReportName      = request.ReportName;
            model.Suggestion      = request.Suggestion;
            model.LastUpdatedBy   = UserID;
            model.LastUpdatedDate = DateTime.Now;

            (List <ConsumerHealthReportDetailModel> detailModels, string errorMsg) = FilterReportAttachments(request.Attachments, model.ReportGuid);

            if (detailModels is null && !string.IsNullOrEmpty(errorMsg))
            {
                return(Failed(ErrorCode.Empty, errorMsg));
            }

            var result = await healthBiz.UpdateHealthReport(model, detailModels.ToList());

            return(result ? Success() : Failed(ErrorCode.DataBaseError, "编辑检验报告失败"));
        }
        public async Task <IActionResult> DeleteConsumerHealthReport(string reportGuid)
        {
            if (string.IsNullOrEmpty(reportGuid))
            {
                return(Failed(ErrorCode.Empty, "指定报告参数未提供"));
            }

            var healthBiz = new HealthBiz();

            return(Success(await healthBiz.DeleteConsumerHealthReport(reportGuid)));
        }