public IActionResult SetCurrentCourseCompleteByDate(int id, ReturnPageQuery returnPageQuery) { var currentCourses = courseDataService.GetCurrentCourses(User.GetCandidateIdKnownNotNull()); var course = currentCourses.FirstOrDefault(c => c.Id == id); if (course == null) { logger.LogWarning( $"Attempt to set complete by date for course with id {id} which is not a current course for user with id {User.GetCandidateIdKnownNotNull()}" ); return(RedirectToAction("StatusCode", "LearningSolutions", new { code = 404 })); } var courseModel = new CurrentCourseViewModel(course, returnPageQuery); if (courseModel.CompleteByDate != null && !courseModel.SelfEnrolled) { logger.LogWarning( $"Attempt to set complete by date for course with id {id} for user with id ${User.GetCandidateIdKnownNotNull()} " + "but the complete by date has already been set and the user has not self enrolled" ); return(RedirectToAction("StatusCode", "LearningSolutions", new { code = 403 })); } var editCompleteByDateViewModel = new EditCompleteByDateViewModel( id, course.Name, LearningItemType.Course, courseModel.CompleteByDate, returnPageQuery, courseModel.ProgressId ); return(View("Current/SetCompleteByDate", editCompleteByDateViewModel)); }
public IActionResult SetCurrentActionPlanResourceCompleteByDate( int learningLogItemId, EditCompleteByDateFormData formData ) { if (!ModelState.IsValid) { var model = new EditCompleteByDateViewModel(formData, learningLogItemId); return(View("Current/SetCompleteByDate", model)); } var completeByDate = DateValidator.IsDateNull(formData.Day, formData.Month, formData.Year) ? (DateTime?)null : new DateTime(formData.Year !.Value, formData.Month !.Value, formData.Day !.Value); actionPlanService.SetCompleteByDate(learningLogItemId, completeByDate); return(RedirectToAction("Current")); }
public IActionResult EditCompleteByDate( EditCompleteByDateFormData formData, int progressId, DelegateProgressAccessRoute accessedVia ) { if (!ModelState.IsValid) { var model = new EditCompleteByDateViewModel(formData, progressId, accessedVia); return(View(model)); } var completeByDate = formData.Year != null ? new DateTime(formData.Year.Value, formData.Month !.Value, formData.Day !.Value) : (DateTime?)null; progressService.UpdateCompleteByDate(progressId, completeByDate); return(RedirectToPreviousPage(formData.DelegateId, progressId, accessedVia)); }
public IActionResult SetCurrentCourseCompleteByDate( int id, int progressId, EditCompleteByDateFormData formData ) { if (!ModelState.IsValid) { var model = new EditCompleteByDateViewModel(formData, id, progressId); return(View("Current/SetCompleteByDate", model)); } var completeByDate = DateValidator.IsDateNull(formData.Day, formData.Month, formData.Year) ? (DateTime?)null : new DateTime(formData.Year !.Value, formData.Month !.Value, formData.Day !.Value); courseDataService.SetCompleteByDate(progressId, User.GetCandidateIdKnownNotNull(), completeByDate); return(RedirectToAction("Current")); }