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