コード例 #1
0
        public virtual ActionResult NewPaci(PaciViewModel model, int institutionId, string operationNumber)
        {
            model.SelectedInstitution = institutionId;

            var questionnaireStage = _catalogService.GetMasterDataListByTypeCode(typeCodes: Literals.QUESTIONNAIRE_STAGE_TYPE);

            if (!questionnaireStage.IsValid)
            {
                model.ErrorMessage = questionnaireStage.ErrorMessage;
                return(new HttpStatusCodeResult(HttpStatusCode.NoContent, model.ErrorMessage));
            }

            var questionnaireStageDraft = questionnaireStage
                                          .MasterDataCollection
                                          .FirstOrDefault(mdc => mdc.Code == QuestionnaireStageCodeEnum.Draft.GetStringValue());

            if (questionnaireStageDraft == null)
            {
                model.ErrorMessage = Localization.GetText(Literals.QUESTIONNAIRE_NOT_FOUND_DRAFT_ERROR);
                return(new HttpStatusCodeResult(HttpStatusCode.NoContent, model.ErrorMessage));
            }

            var newOperationQuestionnaire = new OperationQuestionnaireViewModel
            {
                PaciQuestionnaireId    = default(int),
                QuestionnaireStage     = questionnaireStageDraft.GetLocalizedName(Localization.CurrentLanguage),
                QuestionnaireStageCode = questionnaireStageDraft.Code,
                OperationNumber        = operationNumber,
                InstitutionId          = institutionId,
                QuestionnaireStageId   = questionnaireStageDraft.MasterId
            };

            model.InstitutionQuestionnaires.Where(s => s.InstitutionId == institutionId)
            .Select(x => x.OperationQuestionnaire)
            .FirstOrDefault()
            .Add(newOperationQuestionnaire);

            return(PartialView("~/Areas/PACI/Views/Controls/NewPaci.cshtml", model));
        }
コード例 #2
0
        public virtual ActionResult ClonePaci(PaciViewModel model, int institutionId, int paciQuestionnaireId, int operationId, string operationNumber)
        {
            var response = _paciService.CloneQuestionnaire(new PaciQuestionnaireCloneRequest
            {
                OperationId         = operationId,
                PaciQuestionnaireId = paciQuestionnaireId,
                InstitutionId       = institutionId
            });

            if (!response.IsValid)
            {
                model.ErrorMessage = response.ErrorMessage;
                return(new HttpStatusCodeResult(HttpStatusCode.NoContent, model.ErrorMessage));
            }

            OperationQuestionnaireViewModel clonedOperationQuestionnaire = model.InstitutionQuestionnaires
                                                                           .Where(n => n.InstitutionId == institutionId)
                                                                           .Select(q => q.OperationQuestionnaire)
                                                                           .FirstOrDefault(o => o.Any(p => p.PaciQuestionnaireId == paciQuestionnaireId))
                                                                           .FirstOrDefault();

            clonedOperationQuestionnaire.PaciQuestionnaireId     = response.PaciQuestionnaireId;
            clonedOperationQuestionnaire.QuestionnaireStage      = response.QuestionnaireStage;
            clonedOperationQuestionnaire.QuestionnaireStageId    = response.QuestionnaireStageId;
            clonedOperationQuestionnaire.QuestionnaireStageCode  = response.QuestionnaireStageCode;
            clonedOperationQuestionnaire.OperationNumber         = operationNumber;
            clonedOperationQuestionnaire.InstitutionId           = institutionId;
            clonedOperationQuestionnaire.OperationId             = operationId;
            clonedOperationQuestionnaire.QuestionnaireIsClonable = default(bool);
            model.SelectedInstitution = institutionId;
            model.InstitutionQuestionnaires.Where(s => s.InstitutionId == institutionId)
            .Select(x => x.OperationQuestionnaire)
            .FirstOrDefault()
            .Add(clonedOperationQuestionnaire);

            return(PartialView("~/Areas/PACI/Views/Controls/ClonePaci.cshtml", model));
        }