Api-PWA/DocuMed.PWA/Shared/MedicalTemplates/BaseMedicalQuestionTemplate...

52 lines
2.2 KiB
Plaintext
Raw Permalink Normal View History

2023-10-28 23:57:28 +03:30
@switch (Question.QuestionType)
{
case MedicalHistoryQuestionType.Selective:
<SelectiveMedicalQuestionTemplate Question="@Question.Question" OldAnswer="@OldAnswer.Answer" AnswerChanged="async answer => await AnswerChanging(answer) " />
2023-10-28 23:57:28 +03:30
break;
case MedicalHistoryQuestionType.Hourly:
<HourMedicalQuestionTemplate Question="@Question.Question" OldAnswer="@OldAnswer.Answer" AnswerChanged="async answer => await AnswerChanging(answer) " />
2023-10-28 23:57:28 +03:30
break;
case MedicalHistoryQuestionType.Interrogatively:
<InterrogativelyMedicalQuestionTemplate Question="@Question.Question" OldAnswer="@OldAnswer.Answer" AnswerChanged="async answer => await AnswerChanging(answer) " />
2023-10-28 23:57:28 +03:30
break;
case MedicalHistoryQuestionType.YesOrNo:
<YesOrNoMedicalQuestionTemplate Question="@Question.Question" OldAnswer="@OldAnswer.Answer" AnswerChanged="async answer => await AnswerChanging(answer) " />
break;
case MedicalHistoryQuestionType.RosSelective:
<RosSelectiveMedicalQuestionTemplate IsSymptom="@Question.IsSymptom" IsSign="@Question.IsSign" BodySystem="@Question.BodySystem" Question="@Question.Question" OldAnswer="@OldAnswer.Answer" AnswerChanged="async answer => await AnswerChanging(answer) " />
2023-10-28 23:57:28 +03:30
break;
default:
<InterrogativelyMedicalQuestionTemplate Question="@Question.Question" OldAnswer="@OldAnswer.Answer" AnswerChanged="async answer => await AnswerChanging(answer) " />
2023-10-28 23:57:28 +03:30
break;
}
@code {
2023-10-28 23:57:28 +03:30
[Parameter]
public MedicalHistoryQuestionSDto Question { get; set; } = new();
[Parameter]
public MedicalHistoryAnswerSDto OldAnswer { get; set; } = new();
2023-10-28 23:57:28 +03:30
[Parameter]
public MedicalHistoryAnswerSDto Answer { get; set; } = new();
[Parameter]
public EventCallback<MedicalHistoryAnswerSDto> AnswerChanged { get; set; }
private async Task AnswerChanging(string answer)
{
Answer = new MedicalHistoryAnswerSDto
{
Question = Question.Question,
QuestionType = Question.QuestionType,
Answer = answer,
Part = Question.Part
};
if (OldAnswer.Id != Guid.Empty)
Answer.Id = OldAnswer.Id;
2023-10-28 23:57:28 +03:30
await AnswerChanged.InvokeAsync(Answer);
}
}