/// <summary> /// Remove the question's answer. /// </summary> /// <param name="id">The answer's id.</param> /// <returns>Refresh page</returns> public async Task <IActionResult> OnPostDeleteAsync(int id) { LinkQuestionAnswerData linkQuestionAnswerData = new LinkQuestionAnswerData(_db); DataLinkQuestionAnswerModel newDataLinkQuestionAnswerModel = new DataLinkQuestionAnswerModel { Id = string.Empty, QuestionId = DisplayLink.QuestionId, AnswerId = id.ToString(), }; await linkQuestionAnswerData.DeleteLink(newDataLinkQuestionAnswerModel); return(RedirectToPage("./linkquestiontoanswer", new { id = DisplayLink.QuestionId })); }
/// <summary> /// Add a new answer to the question. /// </summary> /// <returns>Refresh the page.</returns> public async Task <IActionResult> OnPost() { if (!ModelState.IsValid) { return(Page()); } LinkQuestionAnswerData linkQuestionAnswerData = new LinkQuestionAnswerData(_db); DataLinkQuestionAnswerModel newLinkQuestionAnswerModel = new DataLinkQuestionAnswerModel { AnswerId = DisplayLink.AnswerId, Id = DisplayLink.Id, QuestionId = DisplayLink.QuestionId, }; // Getting the question type QuestionData questionData = new QuestionData(_db); var dataQuestionModel = await questionData.GetQuestionById(newLinkQuestionAnswerModel.QuestionId); QuestionTypeData questionTypeData = new QuestionTypeData(_db); var dataQuestionTypeModel = await questionTypeData.GetQuestionTypeById(dataQuestionModel[0].QuestionTypeId); // Getting the question answers List <DisplayAnswerModel> questionAnswers = await GetQuestionAnswers(newLinkQuestionAnswerModel.QuestionId); // Getting the user answer AnswerData answerData = new AnswerData(_db); var dataAnswerModel = await answerData.GetAnswerById(newLinkQuestionAnswerModel.AnswerId); if (dataAnswerModel[0].Type == true) { // If the answer to add is correct and it already exists a correct response in simple and boolean types, we shouldn't add the answer if ((dataQuestionTypeModel[0].QuestionType == "Simple" || dataQuestionTypeModel[0].QuestionType == "Boolean") && questionAnswers.Any(x => x.Type == true)) { return(RedirectToPage("./linkquestiontoanswer", new { id = DisplayLink.QuestionId })); } } await linkQuestionAnswerData.InsertLink(newLinkQuestionAnswerModel); return(RedirectToPage("./linkquestiontoanswer", new { id = DisplayLink.QuestionId })); }
public Task DeleteLink(DataLinkQuestionAnswerModel dataLinkQuestionAnswerModel) { string sql = @"delete from linkquestionanswer where questionId=@QuestionId and answerId=@AnswerId;"; return(_db.SaveData(sql, dataLinkQuestionAnswerModel)); }
public Task InsertLink(DataLinkQuestionAnswerModel dataLinkQuestionAnswerModel) { string sql = @"insert into linkquestionanswer (questionId, answerId) values (@QuestionId, @AnswerId);"; return(_db.SaveData(sql, dataLinkQuestionAnswerModel)); }