protected async override Task OnInitializedAsync() { AccountSurvey = await AccountSurveyRepository.GetAccountSurvey(AccountSurveyId); if (AccountSurvey != null) { User = AccountSurvey.Account; StateHasChanged(); } }
private async void SubmitSurvey() { var answers = new List <SurveyAnswer>(); if (UserAnswers.Count > 0 && !string.IsNullOrEmpty(UserId)) { //Submit UserSurvey var userSurvey = await AccountSurveyRepository.AddAccountSurvey(new AccountSurvey { Id = UserId, SurveyId = Survey.SurveyId, Risk = UserAnswers.Sum(p => p.Percentage), SurveyDate = DateTime.Now, UserSurveyStatus = SurveyResult(UserAnswers.Sum(p => p.Percentage)) }); if (userSurvey != null) { foreach (var userAnswer in UserAnswers) { answers.Add(new SurveyAnswer { AccountSurveyId = userSurvey.AccountSurveyId, Answer = userAnswer.UserAnswer, Question = userAnswer.Question.SurveyQuestion }); } var added = await QuestionAnswerRepository.AddRange(answers); if (added) { Open = false; StateHasChanged(); await SweetAlertMessage.SuccessMessage(); //Navigate to show results } else { await SweetAlertMessage.ErrorMessage(); } } } else { await SweetAlertMessage.ErrorMessage(Text : "Survey not completed, please answer atleast one question"); } }