/// <summary>
        /// Преподаватели, ведущие занятия по направлениям подготовки
        /// </summary>
        /// <param name="EduProfileId"></param>
        /// <returns></returns>
        public async Task <IActionResult> EmployeesOfEduProfile(int EduProfileId,
                                                                int EduYearBeginningTrainingId,
                                                                int EduYearId,
                                                                bool needFetchDataFromDb)
        {
            if (needFetchDataFromDb)
            {
                var eduPlansOfSelectedEduProfile = await _context.EduPlans
                                                   .Include(p => p.EduPlanEduYearBeginningTrainings)
                                                   .Include(p => p.EduPlanEduYears)
                                                   .Where(p => p.EduProfileId == EduProfileId)
                                                   .ToListAsync();

                var eduPlansOfSelectedEduProfileAndYearBeginningTraining = new List <EduPlan>();
                foreach (var plan in eduPlansOfSelectedEduProfile)
                {
                    foreach (var eduPlanEduYearBeginningTraining in plan.EduPlanEduYearBeginningTrainings)
                    {
                        if (eduPlanEduYearBeginningTraining.EduYearBeginningTrainingId == EduYearBeginningTrainingId)
                        {
                            eduPlansOfSelectedEduProfileAndYearBeginningTraining.Add(plan);
                        }
                    }
                }

                var eduPlansFiltered = new List <EduPlan>();
                foreach (var plan in eduPlansOfSelectedEduProfileAndYearBeginningTraining)
                {
                    foreach (var eduPlanEduYears in plan.EduPlanEduYears)
                    {
                        if (eduPlanEduYears.EduYearId == EduYearId)
                        {
                            eduPlansFiltered.Add(plan);
                        }
                    }
                }


                #region Перечень педагогических (научно-педагогических) работников
                var teacher1 = await _context.Teachers
                               .Include(t => t.TeacherStructKafPostStavka)
                               .ThenInclude(p => p.Post)
                               .Include(t => t.TeacherStructKafPostStavka)
                               .ThenInclude(p => p.StructKaf.StructSubvision)
                               .Include(t => t.TeacherStructKafPostStavka)
                               .ThenInclude(p => p.EmploymentForm)
                               .Include(a => a.AppUser)
                               .ThenInclude(e => e.EduLevelGroup)
                               .Include(a => a.AppUser)
                               .ThenInclude(aa => aa.AcademicDegree)
                               .Include(a => a.AppUser)
                               .ThenInclude(aa => aa.AcademicStat)
                               .Include(a => a.AppUser)
                               .ThenInclude(q => q.Qualifications)
                               .Include(a => a.AppUser)
                               .ThenInclude(pr => pr.ProfessionalRetrainings)
                               .Include(a => a.AppUser)
                               .ThenInclude(r => r.RefresherCourses)
                               .Include(e => e.TeacherEduProfileDisciplineNames)
                               .ThenInclude(ed => ed.DisciplineName)
                               .Include(e => e.TeacherEduProfileDisciplineNames)
                               .ThenInclude(ep => ep.EduProfile)
                               .ThenInclude(p => p.EduPlans)
                               .ThenInclude(f => f.EduForm)
                               .Include(e => e.TeacherEduProfileDisciplineNames)
                               .ThenInclude(ep => ep.EduProfile)
                               .ThenInclude(p => p.EduNapravl)
                               .ToListAsync();

                ViewData["teacher1"] = teacher1;
                #endregion

                #region Таблица 16. Перечень педагогических (научно-педагогических) работников, задействованных в реализации образовательных программ

                var eduLevels = await _context.EduLevels
                                .Include(u => u.EduUgses)
                                .ThenInclude(en => en.EduNapravls)
                                .ThenInclude(p => p.EduProfiles)
                                .ThenInclude(pp => pp.EduPlans)
                                .ThenInclude(py => py.EduPlanEduYears)
                                .ThenInclude(t => t.TeacherDisciplines)
                                .ThenInclude(tt => tt.Teacher)
                                .ThenInclude(a => a.AppUser)
                                .Include(u => u.EduUgses)
                                .ThenInclude(en => en.EduNapravls)
                                .ThenInclude(p => p.EduProfiles)
                                .ThenInclude(pp => pp.EduPlans)
                                .ThenInclude(py => py.EduPlanEduYears)
                                .ThenInclude(t => t.TeacherDisciplines)
                                .ThenInclude(tt => tt.Teacher)
                                .ThenInclude(ttt => ttt.TeacherStructKafPostStavka)
                                .ThenInclude(tp => tp.StructKaf.StructSubvision)
                                .Include(u => u.EduUgses)
                                .ThenInclude(en => en.EduNapravls)
                                .ThenInclude(p => p.EduProfiles)
                                .ThenInclude(pp => pp.EduPlans)
                                .ThenInclude(py => py.EduPlanEduYears)
                                .ThenInclude(t => t.TeacherDisciplines)
                                .ThenInclude(tt => tt.Discipline)
                                .ThenInclude(d => d.DisciplineName)
                                .Include(u => u.EduUgses)
                                .ThenInclude(en => en.EduNapravls)
                                .ThenInclude(p => p.EduProfiles)
                                .ThenInclude(pp => pp.EduPlans)
                                .ThenInclude(f => f.EduForm)
                                .Include(u => u.EduUgses)
                                .ThenInclude(en => en.EduNapravls)
                                .ThenInclude(p => p.EduProfiles)
                                .ThenInclude(pp => pp.EduPlans)
                                .ThenInclude(f => f.EduProgramPodg)
                                .Include(u => u.EduUgses)
                                .ThenInclude(en => en.EduNapravls)
                                .ThenInclude(p => p.EduProfiles)
                                .ThenInclude(pp => pp.EduPlans)
                                .ThenInclude(f => f.EduPlanEduYearBeginningTrainings)
                                .ThenInclude(f => f.EduYearBeginningTraining)
                                .Include(u => u.EduUgses)
                                .ThenInclude(en => en.EduNapravls)
                                .ThenInclude(p => p.EduProfiles)
                                .ThenInclude(pp => pp.EduPlans)
                                .ThenInclude(f => f.EduPlanEduYears)
                                .ThenInclude(f => f.EduYear)
                                .ToListAsync();

                ViewData["eduLevels"] = eduLevels;
                //ViewData["eduLevels"] = eduPlansFiltered;
            }

            #endregion

            ViewBag.EduProfiles = _selectListRepository.GetSelectListEduProfileFullNames(EduProfileId);
            //ViewBag.EduYearBeginningTrainings = _selectListRepository.GetSelectListEduYearBeginningTrainings(EduYearBeginningTrainingId);
            ViewBag.EduYearBeginningTrainings = _selectListRepository.GetSelectListEduYearBeginningTrainingsFrom(EduYearBeginningTrainingId, 3);
            //ViewBag.EduYears = _selectListRepository.GetSelectListEduYears(EduYearId);

            var eduYearsList = new List <string> {
                "2015-", "2016-", "2017-", "2018-", "2019-", "2020-",
            };
            ViewBag.EduYears = _selectListRepository.GetSelectListEduYearsFromStringList(EduYearId, eduYearsList);

            ViewBag.EduProfileId = EduProfileId;
            ViewBag.EduYearBeginningTrainingId = EduYearBeginningTrainingId;
            ViewBag.EduYearId = EduYearId;

            return(View());
        }