public async Task <IActionResult> Index()
        {
            var returnUrl = NormalizeReturnUrl(null);
            var model     = new GetTeachersViewModel
            {
                Input     = new GetTeachersInput(),
                ReturnUrl = returnUrl
            };

            model.Input.AcademicSubjectId = null;
            model.Input.StudyGroupId      = null;
            var resultGetAcademicSubjects = await _academicSubjectService.GetAcademicSubjects(new GetAcademicSubjectsInput());

            if (resultGetAcademicSubjects.IsSuccessed)
            {
                ViewBag.AcademicSubjects =
                    new SelectList(resultGetAcademicSubjects.Value.Items, "Id", "Name");
            }
            var resultGetStudyGroups = await _studyGroupService.GetStudyGroups(new GetStudyGroupsInput());

            if (resultGetStudyGroups.IsSuccessed)
            {
                ViewBag.StudyGroups =
                    new SelectList(resultGetStudyGroups.Value.Items, "Id", "Name");
            }
            var result = await _teacherService.GetTeachers(model.Input);

            if (result.IsSuccessed)
            {
                model.Value = result.Value;
            }
            return(View(model));
        }
        public async Task <IActionResult> Index(GetTeachersViewModel model)
        {
            var result = await _teacherService.GetTeachers(model.Input);

            if (result.IsSuccessed)
            {
                var resultGetAcadSubjs = await _academicSubjectService.GetAcademicSubjects(new GetAcademicSubjectsInput());

                if (resultGetAcadSubjs.IsSuccessed)
                {
                    ViewBag.AcademicSubjects =
                        new SelectList(resultGetAcadSubjs.Value.Items, "Id", "Name");
                }
                var resultGetStdGroups = await _studyGroupService.GetStudyGroups(new GetStudyGroupsInput());

                if (resultGetStdGroups.IsSuccessed)
                {
                    ViewBag.StudyGroups =
                        new SelectList(resultGetStdGroups.Value.Items, "Id", "Name");
                }
                model.Value = result.Value;
            }
            return(View(model));
        }