Beispiel #1
0
        public IActionResult Delete(int lessonId, bool confirmation = false)
        {
            var lessonToDelete = _traversalService.GetLesson(lessonId);

            ConfigureDeleteBreadcrumbs(lessonToDelete);

            if (!confirmation)
            {
                var vm = new LessonViewModel
                {
                    Id = lessonId,
                    TitleOrFullName = lessonToDelete.Subject.Name,
                    SemesterId      = lessonToDelete.SemesterId,
                    DepartmentId    = lessonToDelete.DepartmentId,
                    MaterialsCount  = lessonToDelete.MaterialsCount
                };

                return(View(vm));
            }
            else
            {
                // First - delete materials due to database constraints betwee Lesson and Material
                foreach (var material in lessonToDelete.Materials)
                {
                    _filesManagement.DeleteWholeMaterialFolder(material.MaterialId);
                    _materialsService.DeleteMaterial(material);
                }

                // actually delete
                _managementService.DeleteLesson(lessonToDelete.LessonId);

                return(RedirectToAction("Lessons", new { semesterId = lessonToDelete.SemesterId, departmentId = lessonToDelete.DepartmentId }));
            }
        }
Beispiel #2
0
 public void Delete(int id)
 {
     _managementService.DeleteLesson(id);
 }