public async Task <IActionResult> ElGradebookCreateOrUpdate(int elGradebookId)
        {
            ElGradebook elGradebook = new ElGradebook {
                EduYear        = "2020-2021",
                DisciplineName = "Информатика",
                Course         = 1,
                SemesterNumber = 1,
                GroupName      = "АЭ-11(1)",
                Faculty        = "Энергетический факультет",
                Department     = "Математика и биоинформатика"
            };

            if (elGradebookId != 0)
            {
                elGradebook = await _elGradebookRepository.GetElGradebookAsync(elGradebookId);

                if (elGradebook == null)
                {
                    return(NotFound());
                }

                bool isGradebookTeacher = await _elGradebookRepository.IsGradebookTeacherAsync(elGradebook, User.Identity.Name);

                if (!isGradebookTeacher)
                {
                    return(NotFound());
                }
            }

            ViewBag.Faculties = new SelectList(new List <string> {
                "Факультет среднего профессионального образования",
                "Факультет \"Экономика и управление территориями\"",
                "Инженерно-технологический факультет",
                "Энергетический факультет"
            },
                                               elGradebook.Faculty);

            ViewBag.Departments = new SelectList(new List <string> {
                "Математика и биоинформатика",
                "Теплоэнергетика и техносферная безопасность",
                "Физическое воспитание и спорт",
                "Эксплуатация энергетического оборудования и электрических машин",
                "Электроэнергетика и электротехника",
                "Бухгалтерский учет, анализ и аудит",
                "Гуманитарные дисциплины и иностранные языки",
                "Землеустройство и кадастры",
                "Экономика и управление",
                "Агрономия и селекция сельскохозяйственных культур",
                "Техническая механика и физика",
                "Технический сервис в агропромышленном комплексе",
                "Технологии и средства механизации агропромышленного комплекса",
                "Тракторы, автомобили и эксплуатация автотранспортных средств"
            },
                                                 elGradebook.Faculty);

            ViewBag.StudentGroups = _selectListRepository.GetSelectListStudentGroups(elGradebook.GroupId);

            return(View(elGradebook));
        }
        /// <summary>
        /// Список занятий указанного электронного журнала
        /// </summary>
        /// <param name="elGradebookId"></param>
        /// <returns></returns>
        public async Task <IActionResult> ElGradebookLessons(int elGradebookId)
        {
            ElGradebook elGradebook = await _elGradebookRepository.GetElGradebookWithLessonsAsync(elGradebookId);

            if (elGradebook == null)
            {
                return(NotFound());
            }

            return(View(elGradebook));
        }
        public async Task <IActionResult> ElGradebookRemove(ElGradebook elGradebook)
        {
            await _elGradebookRepository.RemoveElGradebookAsync(elGradebook.ElGradebookId);

            if (elGradebook == null)
            {
                return(NotFound());
            }

            return(RedirectToAction(nameof(Index),
                                    new
            {
                FilterEduYear = elGradebook.EduYear,
                FilterGroupName = elGradebook.GroupName,
                IsRequestDataImmediately = true
            }));
        }
        public async Task <IActionResult> ElGradebookCreateOrUpdate(ElGradebook elGradebook)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction(nameof(ElGradebookCreateOrUpdate), elGradebook));
            }


            if (elGradebook.ElGradebookId == 0)
            {
                await _elGradebookRepository.CreateElGradebook(elGradebook, User.Identity.Name);
            }
            else
            {
                await _elGradebookRepository.UpdateElGradebook(elGradebook, User.Identity.Name);
            }

            return(RedirectToAction(nameof(Index)));
        }
        /// <summary>
        /// Добавление учебного занятия в журнал
        /// </summary>
        /// <param name="elGradebookId"></param>
        /// <returns></returns>
        public async Task <IActionResult> ElGradebookLessonCreate(int elGradebookId)
        {
            ElGradebook elGradebook = await _elGradebookRepository.GetElGradebookWithLessonsAsync(elGradebookId);

            if (elGradebook == null)
            {
                return(NotFound());
            }

            ElGradebookLesson elGradebookLesson = new ElGradebookLesson {
                Date = DateTime.Today
            };

            elGradebookLesson.ElGradebookId = elGradebook.ElGradebookId;
            elGradebookLesson.ElGradebook   = elGradebook;

            ViewBag.ElGradebookLessonTypes = _selectListRepository.GetSelectListElGradebookLessonTypes();

            return(View("ElGradebookLessonCreateOrUpdate", elGradebookLesson));
        }