public async Task <IActionResult> ProgramDelete(DashboardViewModel model) { var settings = await _performerSchedulingService.GetSettingsAsync(); var schedulingStage = _performerSchedulingService.GetSchedulingStage(settings); if (schedulingStage != PsSchedulingStage.RegistrationOpen) { return(RedirectToAction(nameof(Index))); } var userId = GetId(ClaimType.UserId); var performer = await _performerSchedulingService.GetPerformerByUserIdAsync(userId); if (performer?.RegistrationCompleted != true) { return(RedirectToAction(nameof(Information))); } try { await _performerSchedulingService.RemoveProgramAsync(model.ProgramToDelete.Id); ShowAlertSuccess($"Program \"{model.ProgramToDelete.Title}\" removed!"); } catch (GraException gex) { ShowAlertDanger("Unable to remove program: ", gex); } return(RedirectToAction(nameof(Dashboard))); }