Ejemplo n.º 1
0
        public async Task <IActionResult> DeleteConfirmed(int id)
        {
            var group = await _context.Group.SingleOrDefaultAsync(m => m.ID == id);

            var user = await _context.Users.FirstOrDefaultAsync(m => m.GroupID == id);

            if (user != null)
            {
                return(View("NotDelete"));
            }
            var lessons  = _context.Lesson.Where(m => m.GroupID == id);
            var students = _context.Student.Where(m => m.GroupID == id);
            var subjects = _context.Subject.Where(m => m.GroupID == id);

            foreach (var lesson in lessons)
            {
                _context.Remove(lesson);
            }

            foreach (var student in students)
            {
                _context.Remove(student);
            }

            foreach (var subject in subjects)
            {
                _context.Remove(subject);
            }

            _context.Group.Remove(group);
            await _context.SaveChangesAsync();

            return(RedirectToAction(nameof(Index)));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> AddMissings(List <Missing> missings, Lesson lesson)
        {
            if (ModelState.IsValid)
            {
                var groupId  = _context.Users.First(m => m.UserName == User.Identity.Name).GroupID;
                var students = await _context.Student.Where(m => m.GroupID == groupId).OrderBy(m => m.LastName).ToListAsync();

                var missingsToDelete = _context.Missing.Where(m => m.LessonID == lesson.ID);
                foreach (var item in missingsToDelete)
                {
                    _context.Remove(item);
                }

                for (int i = 0; i < missings.Count; i++)
                {
                    missings[i].LessonID  = lesson.ID;
                    missings[i].StudentID = students[i].ID;
                    _context.Add(missings[i]);
                }

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            return(View());
        }