public IActionResult EditSupervisor(
            EditSupervisorFormData formData,
            int progressId,
            DelegateAccessRoute accessedVia
            )
        {
            if (!ModelState.IsValid)
            {
                var supervisors = userService.GetSupervisorsAtCentre(User.GetCentreId());
                var model       = new EditSupervisorViewModel(formData, progressId, accessedVia, supervisors);
                return(View(model));
            }

            progressService.UpdateSupervisor(progressId, formData.SupervisorId);

            return(RedirectToPreviousPage(formData.DelegateId, formData.CustomisationId, accessedVia, formData.ReturnPageQuery));
        }
        public IActionResult EditSupervisor(
            int progressId,
            DelegateAccessRoute accessedVia,
            ReturnPageQuery?returnPageQuery
            )
        {
            var centreId = User.GetCentreId();
            var delegateCourseProgress =
                progressService.GetDetailedCourseProgress(progressId);
            var supervisors = userService.GetSupervisorsAtCentreForCategory(
                centreId,
                delegateCourseProgress !.CourseCategoryId
                );

            var model = new EditSupervisorViewModel(
                progressId,
                accessedVia,
                supervisors,
                delegateCourseProgress,
                returnPageQuery
                );

            return(View(model));
        }