public async Task <bool> addQuestionnaireSymptoms(QuestionnaireDto questionnaire, int idQuestionnaire) { conn.Open(); List <string> keyList = new List <string>(questionnaire.symptoms.Keys); int result = -1; foreach (string key in keyList) { string sql = "insert into questionnairesymptoms(idQuestionnaireSymptoms, symptomName, symptomSeverity) values (@idQuestionnaireSymptoms, @symptomName, @symptomSeverity);"; MySqlCommand cmd = new MySqlCommand(sql, conn); cmd.Parameters.AddWithValue("@idQuestionnaireSymptoms", idQuestionnaire); cmd.Parameters.AddWithValue("@symptomName", key); cmd.Parameters.AddWithValue("@symptomSeverity", questionnaire.symptoms[key]); cmd.Prepare(); result = await Task.Run(() => { return(cmd.ExecuteNonQuery()); }); if (result == 0) { return(false); } } return(true); }
public List <Questionnaires> CreateQuestionnaire(QuestionnaireDto questionnaireLDto, int formId) { var questionnaireList = new List <Questionnaires>(); if (questionnaireLDto == null) { return(null); } var listTitle = CreateQuestionnaireTitle(questionnaireLDto.Header); if (listTitle == null) { return(null); } foreach (var item in questionnaireLDto.Body) { var i = 0; foreach (var item2 in item.Data) { var questionnaire = new Questionnaires { FormId = formId, RId = item.Rid, Answer = item2, Title = listTitle[i] }; questionnaireList.Add(questionnaire); i++; } } return(questionnaireList); }
/// <summary> /// Convert Questionnaire entity to QuestionnaireDto. /// </summary> public static QuestionnaireDto ToDto(this Questionnaire questionnaire) { var questionnaireDto = new QuestionnaireDto() { Id = questionnaire.Id, Title = questionnaire.Title }; foreach (var question in questionnaire.Questions) { questionnaireDto.Questions.Add(new QuestionDto <AnswerDto>() { Id = question.Id, Text = question.Text, IsFewAnswers = question.IsFewAnswers, }); foreach (var answer in question.Answers) { questionnaireDto.Questions.Last().Answers.Add(new AnswerDto() { Id = answer.Id, Text = answer.Text }); } } return(questionnaireDto); }
public async Task <IActionResult> Post([FromBody] QuestionnaireDto questionnaire) { ServiceResponse <Dictionary <string, string> > response = await questionnaireService.addQuestionnaire(questionnaire); if (response.Success) { return(Ok(response)); } return(BadRequest(response)); }
public static QuestionnaireDto MakeDto(Core.Questionnaire questionnaire) { var dto = new QuestionnaireDto(); dto.Identity = questionnaire.Id; dto.Name = questionnaire.Name; dto.Version = questionnaire.Version; dto.Css = questionnaire.Css; dto.LockQuestion = questionnaire.LockQuestion; dto.EnablePrevious = questionnaire.EnablePrevious; dto.FooterLabel = questionnaire.FooterLabel; dto.RedirectOnCloseUrl = questionnaire.RedirectOnCloseUrl; dto.Slides = CreateSlides(questionnaire.Slides).ToList(); dto.CurrentSlideIndex = questionnaire.NextSlide(); return(dto); }
public async Task <ServiceResponse <Dictionary <string, string> > > addQuestionnaire(QuestionnaireDto questionnaire) { ServiceResponse <Dictionary <string, string> > response = new ServiceResponse <Dictionary <string, string> >(); if (questionnaire.symptoms.Count == 0) { response.Message = "Symptoms are missing"; response.Success = false; return(response); } int idQuestionnaire = await questionnaireDAO.addQuestionnaire(questionnaire.username, 50); if (idQuestionnaire == -1) { response.Message = "Could not add the questionnaire!"; response.Success = false; return(response); } bool resultQuestionnaireSymptoms = await questionnaireDAO.addQuestionnaireSymptoms(questionnaire, idQuestionnaire); Dictionary <string, string> data = new Dictionary <string, string>(); if (!resultQuestionnaireSymptoms) { //rollback insert in questionnaire //rollback insert in questionnaire if (await questionnaireDAO.rollbackAddQuestionnaire(idQuestionnaire)) { response.Message = "Could not add the questionnaire, rolled back the inserted values!"; response.Success = false; return(response); } response.Message = "Could not add the questionnaire, rolled back unsuccesfully!"; response.Success = false; return(response); } data.Add("result", "add something here"); //implement AI calculation based on responses //add details to response.Data response.Data = data; return(response); }
public QuestionnaireDtoBuilder() { _questionnaireDto = WithDefaults(); }
public async Task <IActionResult> Put([FromBody] QuestionnaireDto questionnaire) { return(Success(await _questionnaireService.CreateAsync(questionnaire))); }
public async Task <IActionResult> Post([FromBody] QuestionnaireDto questionnaire) { await _questionnaireService.UpdateAsync(questionnaire); return(Success()); }