private IActionResult Part3Or4Processing(string partName, string partAction, ReadingCombined readingCombined, bool isCheckQuestionText = true) { var view = View($"{partName}/{partAction}", readingCombined); // Nếu không hợp lệ if (!IsValidate(readingCombined, isCheckQuestionText)) { return(view); } // Tiến hành thêm danh mục vào CSDL và lấy ID if (readingCombined.TestCategory.Id <= 0) { _TestCategoryManager.Add(readingCombined.TestCategory); } else { _TestCategoryManager.Update(readingCombined.TestCategory); } if (readingCombined.TestCategory.Id <= 0) { ModelState.AddModelError(string.Empty, "An error occurred during execution."); return(view); } // Cập nhật câu hỏi for (int i = 0; i < readingCombined.ReadingPartTwos.Count; i++) { if (readingCombined.ReadingPartTwos[i].TestCategoryId <= 0) { readingCombined.ReadingPartTwos[i].TestCategoryId = readingCombined.TestCategory.Id; } if (readingCombined.ReadingPartTwos[i].Id <= 0) { _ReadingPartTwoManager.Add(readingCombined.ReadingPartTwos[i]); } else { _ReadingPartTwoManager.Update(readingCombined.ReadingPartTwos[i]); } } this.NotifySuccess("Update completed!"); // Trả về return(RedirectToAction(partName)); }
private bool IsValidate(ReadingCombined readingCombined, bool isCheckQuestionText = true) { ModelState.Remove(nameof(ReadingPartTwo.Answers)); if (!(readingCombined != null && readingCombined.TestCategory != null && readingCombined.TestCategory.Name != null && readingCombined.TestCategory.Name.Length > 0 && readingCombined.TestCategory.TypeCode != null && readingCombined.TestCategory.TypeCode.Length > 0 && readingCombined.TestCategory.PartId > 0 && readingCombined.TestCategory.WYSIWYGContent != null && readingCombined.TestCategory.WYSIWYGContent.Length > 0 && readingCombined.ReadingPartTwos.Count > 0)) { return(false); } // Lấy mã người tạo int userId = User.Id(); // Cập nhật mã người tạo cho category if (readingCombined.TestCategory.CreatorId <= 0) { readingCombined.TestCategory.CreatorId = userId; } // Tiến hành kiểm tra trong các phần câu hỏi và đặt mã người tạo + convert đối tượng thành Json và gán vào ANSWERS for (int i = 0; i < readingCombined.ReadingPartTwos.Count; i++) { if ((readingCombined.ReadingPartTwos[i].QuestionText == null || readingCombined.ReadingPartTwos[i].QuestionText.Length <= 0) && isCheckQuestionText) { ModelState.AddModelError(string.Empty, $"{nameof(ReadingPartTwo.QuestionText)} of question {i + 1} is required."); return(false); } string validation = readingCombined.ReadingPartTwos[i].AnswerList.BaseAnswerValidation(); if (validation != null && validation.Length > 0) { ModelState.AddModelError(string.Empty, $"{nameof(ReadingPartTwo.Answers)} of question {i + 1} error: {validation}."); return(false); } if (readingCombined.ReadingPartTwos[i].CreatorId <= 0) { readingCombined.ReadingPartTwos[i].CreatorId = userId; } readingCombined.ReadingPartTwos[i].Answers = readingCombined.ReadingPartTwos[i].AnswerList.ToJson(); } return(true); }
public IActionResult Part4Update(ReadingCombined readingCombined) { return(Part3Or4Processing(nameof(Part4), nameof(Part4Update), readingCombined, false)); }
public IActionResult Part3Create(ReadingCombined readingCombined) { return(Part3Or4Processing(nameof(Part3), nameof(Part3Create), readingCombined)); }