public void GivenExamViewModel_WhenCallingCreateExam_ThenShouldCreateANewExamWithClassrooms() { // arrange var newExam = new Exam() { CourseId = _course.Id, Title = "New Exam", ClassroomExams = new List <ClassroomExam> { new ClassroomExam() { ClassroomId = _classroom.Id, ExamId = _exam.Id } } }; var expected = _databaseContext.Exams.Count() + 1; // act _examRepository.CreateExam(newExam); var result = _databaseContext.Exams.Count(); // assert expected.Should().Be(result); }
public void CreateExam(ExamBlModel exam, List <int> classroomsList) { var classrooms = new List <ClassroomBlModel>(); foreach (var classroomId in classroomsList) { var classroom = _classroomRepository.GetClassroomById(classroomId); classrooms.Add(classroom.GetBlModel()); } var examId = _examRepository.CreateExam(exam.GetDataModel()); exam.Id = examId; var classroomExams = new List <ClassroomExamBlModel>(); foreach (var classroom in classrooms) { var classroomExam = new ClassroomExamBlModel() { ClassroomId = classroom.Id, ExamId = exam.Id }; classroomExams.Add(classroomExam); } exam.ClassroomExams = classroomExams; _examRepository.EditExam(exam.GetDataModel()); }
public async Task <IActionResult> Create(string name, string description , int duration, List <Question> questions, int cateid = 1) { var userid = User.Claims.FirstOrDefault(c => c.Type == "userid").Value; User u = await _user.Get(Int16.Parse(userid)); await _exam.CreateExam(name, description, duration, questions, u, cateid); return(Ok(new { msg = "Added!" })); }
public async Task <IActionResult> CreateExam(ExamViewModel examView) { if (!ModelState.IsValid) { return(BadRequest()); } else { if (!examRepository.CreateExam(examView, User.FindFirstValue(ClaimTypes.NameIdentifier))) { return(BadRequest()); } } if (!await examRepository.SaveChangesAsync()) { return(StatusCode(StatusCodes.Status500InternalServerError)); //or return notfound();? } return(Ok()); }
public IActionResult CreateExam(Exam examModel) { try { Exam exam = new Exam() { Name = examModel.Name, CreateDate = DateTime.Now, Article = examModel.Article }; examRepository.CreateExam(exam); foreach (var que in examModel.questions) { FormQuestion question = new FormQuestion(); question.ExamId = exam.Id; question.QuestionText = que.QuestionText; formQuestionRepository.CreateQuestion(question); foreach (var opt in que.options) { FormQuestionOption option = new FormQuestionOption(); option.FormQuestionId = question.Id; option.OptionText = opt.OptionText; option.IsAnswer = opt.IsAnswer; formQuestionOptionRepository.CreateOption(option); } } return(RedirectToAction("Index", "Exam")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public JsonResult CreateExam([FromBody] ExamForCreationDto exam) { string functionName = System.Reflection.MethodBase.GetCurrentMethod().Name; try { //Check value enter from the form if (exam == null) { Log4Net.log.Error(className + "." + functionName + " - " + Log4Net.AddErrorLog(Constants.notInformationExam)); return(Json(MessageResult.GetMessage(MessageType.NOT_INFORMATION_EXAM))); } if (!ModelState.IsValid) { Log4Net.log.Error(className + "." + functionName + " - " + Log4Net.AddErrorLog(Constants.notFound)); return(Json(MessageResult.GetMessage(MessageType.NOT_FOUND))); } GroupOwnerEntity groupOwner = _groupOwnerRepository.GetGroupOwnerByGroupId(exam.GroupId); //Map data enter from the form to exam entity var finalExam = Mapper.Map <PPT.Database.Entities.ExamEntity>(exam); //This is query insert exam _examRepository.CreateExam(finalExam); if (!_examRepository.Save()) { Log4Net.log.Error(className + "." + functionName + " - " + Log4Net.AddErrorLog(Constants.badRequest)); return(Json(MessageResult.GetMessage(MessageType.BAD_REQUEST))); } GroupEntity groupEntity = _groupRepository.GetGroupByExam(finalExam); List <GroupMemberEntity> listGroupMembers = _groupMemberRepository.GetGroupMemberByGroupId(groupEntity.GroupId); if (listGroupMembers.Count() > 0) { AccountExamEntity accountExamEntity1 = new AccountExamEntity(); accountExamEntity1.Exam = finalExam; accountExamEntity1.AccountId = groupOwner.AccountId; accountExamEntity1.ExamId = finalExam.ExamId; accountExamEntity1.IsStatus = "Empty"; _accountExamRepository.CreateAccountExam(accountExamEntity1); _accountExamRepository.Save(); foreach (var item in listGroupMembers) { AccountExamEntity accountExamEntity = new AccountExamEntity(); accountExamEntity.Exam = finalExam; accountExamEntity.AccountId = item.AccountId; accountExamEntity.Account = item.Account; accountExamEntity.ExamId = finalExam.ExamId; accountExamEntity.IsStatus = "Empty"; _accountExamRepository.CreateAccountExam(accountExamEntity); _accountExamRepository.Save(); } } else { AccountExamEntity accountExamEntity = new AccountExamEntity(); accountExamEntity.Exam = finalExam; accountExamEntity.AccountId = groupOwner.AccountId; accountExamEntity.ExamId = finalExam.ExamId; accountExamEntity.IsStatus = "Empty"; _accountExamRepository.CreateAccountExam(accountExamEntity); _accountExamRepository.Save(); } Log4Net.log.Error(className + "." + functionName + " - " + Log4Net.AddErrorLog(Constants.createdExam)); return(Json(MessageResult.GetMessage(MessageType.CREATED_EXAM))); } catch (Exception ex) { Log4Net.log.Error(className + "." + functionName + " - " + Log4Net.AddErrorLog(ex.Message)); return(Json(MessageResult.ShowServerError(ex.Message))); } }