public IActionResult Delete(int departmentId, bool confirmation = false) { var departmentToDelete = _traversalService.GetDepartment(departmentId); if (departmentToDelete == null) { return(RedirectToAction("ResourceNotFound", "Error", new { error = "wydział o podanym Id nie istnieje." })); } ConfigureDeleteBreadcrumbs(departmentToDelete); if (!confirmation) { var vm = new DepartmentViewModel { Id = departmentId, TitleOrFullName = departmentToDelete.Name, UniversityId = departmentToDelete.UniversityId }; return(View(vm)); } else { // First - delete materials due to database constraints betwee Lesson and Material foreach (var lesson in departmentToDelete.Lessons) { foreach (var materialToDelete in lesson.Materials) { _filesManagement.DeleteWholeMaterialFolder(materialToDelete.MaterialId); _materialsService.DeleteMaterial(materialToDelete); } } // actually delete _managementService.DeleteDepartment(departmentToDelete); return(RedirectToAction("Departments", new { universityId = departmentToDelete.UniversityId })); } }
public void Delete(int id) { var departmentToDelete = _traversalService.GetDepartment(id); _managementService.DeleteDepartment(departmentToDelete); }