public async Task <PartialViewResult> AssignExamToCourse(CreateAssignedExamVM createAssignedExamVM) { if (!ModelState.IsValid) { ViewBag.ExamsSelectList = await GenerateExamsSelectList(createAssignedExamVM.TeacherId); return(PartialView("_CreateAssignedExamPartial", createAssignedExamVM)); } var exam = await _unitOfWork.Exams.GetNotAssignedFullExamAsync(createAssignedExamVM.ExamId); if (exam == null) { ModelState.AddModelError(nameof(CreateAssignedExamVM.ExamId), "Exam Not Found"); } var course = await _unitOfWork.Courses.GetAsync(createAssignedExamVM.CourseId); if (course == null) { ModelState.AddModelError("", "Course Not Found, Please Contact Admin"); } else { if (course.StartDate > createAssignedExamVM.StartDate || course.FinishDate < createAssignedExamVM.StartDate) { ModelState.AddModelError(nameof(CreateAssignedExamVM.StartDate), $"Exam start date must be within course time limits: {course.StartDate.ToShortDateString()} - {course.FinishDate.ToShortDateString()}"); } if (course.FinishDate < createAssignedExamVM.FinishDate || course.StartDate > createAssignedExamVM.FinishDate) { ModelState.AddModelError(nameof(CreateAssignedExamVM.FinishDate), $"Exam finish date must be within course time limits: {course.StartDate.ToShortDateString()} - {course.FinishDate.ToShortDateString()}"); } } if (!ModelState.IsValid) { ViewBag.ExamsSelectList = await GenerateExamsSelectList(createAssignedExamVM.TeacherId); return(PartialView("_CreateAssignedExamPartial", createAssignedExamVM)); } AssignedExam assignedExam = _mapper.Map <AssignedExam>(createAssignedExamVM); assignedExam.Course = course; assignedExam.ExamType = ExamType.AssignedExam; CustomMappings.Map_Exam_To_AssignedExam(exam, assignedExam); createAssignedExamVM.IsCreated = true; await _unitOfWork.AssignedExams.AddAsync(assignedExam); await _unitOfWork.SaveAsync(); return(PartialView("_CreateAssignedExamPartial", createAssignedExamVM)); }
public void AddCustomMappings(params Action <TSource, TDestination>[] customMappings) { CustomMappings.AddRange(customMappings); }
public void AddCustomMapping(Action <TSource, TDestination> customMapping) { CustomMappings.Add(customMapping); }