public async Task <JsonResult> DeleteCourse(int id) { var unusedCourse = unusedCourseBll.Get(id); unusedCourse.Status = CourseStatus.PendingDeletion; unusedCourseBll.Update(unusedCourse); return(Json(unusedCourse)); }
public void RunQueuedUpdates() { try { var coursesPendingDeletion = unusedCourseBll.GetAll().Where(x => x.Status == CourseStatus.PendingDeletion).ToList(); if (coursesPendingDeletion.Any()) { var coursesClient = new CoursesClient(); foreach (var course in coursesPendingDeletion) { if (coursesClient.DeleteCourse(course.CourseId).Result) { course.Status = CourseStatus.Deleted; unusedCourseBll.Update(course); } } } } catch (Exception ex) { FileLogger.Log("RunQueuedUpdates :: " + ex.ToString()); } }
public async Task <ActionResult> Index(SearchQueueResultViewModel viewModel) { var unusedCourses = unusedCourseBll.GetAll().Where(x => x.CourseSearchQueueId == viewModel.CourseSearchQueueId).ToList(); foreach (var course in unusedCourses) { course.Status = Models.Enums.CourseStatus.PendingDeletion; unusedCourseBll.Update(course); } viewModel.UnusedCourses = unusedCourses; return(View(viewModel)); }
static void ProcessCoursesPendingReactivation(IUnusedCourseBLL unusedCourseBll, ISendEmailBLL sendEmailBll) { var coursesPendingReactivation = unusedCourseBll.GetAll().Where(x => x.Status == CourseStatus.PendingReactivation).ToList(); foreach (var unusedCourse in coursesPendingReactivation) { var form = new MultipartFormDataContent(); form.Add(new StringContent(unusedCourse.CourseId), "course_ids[]"); form.Add(new StringContent("undelete"), "event"); var result = client.PutAsync($"accounts/{unusedCourse.AccountId}/courses", form).GetAwaiter() .GetResult(); if (result.IsSuccessStatusCode) { // TODO: This call return an asyncronous task url internal to Canvas. Need to get the url and wait for it to be completed unusedCourse.Status = CourseStatus.Active; unusedCourseBll.Update(unusedCourse); } } }