public IEnumerable <GroupVm> GetTeachersGroups(GetTeachersGroupsDto getTeachersGroups)
        {
            if (getTeachersGroups == null)
            {
                throw new ArgumentNullException($"Dto is null");
            }
            var teacher       = _userManager.Users.OfType <Teacher>().FirstOrDefault(x => x.Id == getTeachersGroups.TeacherId);
            var teacherGroups = _groupService.GetGroups(g => teacher.Subjects.SelectMany(s => s.SubjectGroups.Select(gr => gr.Group)).Any(x => x.Id == g.Id));

            return(teacherGroups);
        }
        public IActionResult Index()
        {
            var user = _userManager.GetUserAsync(User).Result;

            if (!_userManager.IsInRoleAsync(user, "Teacher").Result)
            {
                return(_userManager.IsInRoleAsync(user, "Admin").Result
                    ? View(_groupService.GetGroups())
                    : View("Error"));
            }
            var getTeacherGroupsDto = new GetTeachersGroupsDto()
            {
                TeacherId = user.Id
            };

            return(View(_teacherService.GetTeachersGroups(getTeacherGroupsDto)));
        }