Ejemplo n.º 1
0
        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 }));
            }
        }
Ejemplo n.º 2
0
        public void Delete(int id)
        {
            var departmentToDelete = _traversalService.GetDepartment(id);

            _managementService.DeleteDepartment(departmentToDelete);
        }