コード例 #1
0
        public async Task <IActionResult> Index()
        {
            var            model   = new GetScoresViewModel();
            TeacherItemDto teacher = await GetTeacher();

            model.Input.StudentId = null;
            model.Input.TeacherId = teacher.Id;
            if (!teacher.StudyGroups.IsNullOrEmpty())
            {
                ViewBag.StudyGroups =
                    new SelectList(teacher.StudyGroups, "Id", "Name");
                model.Input.StudyGroupId = teacher.StudyGroups.First().Id;
            }
            if (model.Input.StudyGroupId.HasValue)
            {
                var resultGetStudents =
                    await _studentService.GetStudents(
                        new GetStudentsInput { StudyGroupId = model.Input.StudyGroupId });

                if (resultGetStudents.IsSuccessed)
                {
                    model.Students = resultGetStudents.Value.Items.ToList();
                }
            }
            var dateTime = DateTime.Now;

            model.Input.DateString = $"01." +
                                     $"{(dateTime.Month < 10 ? "0" + dateTime.Month.ToString() : dateTime.Month.ToString())}." +
                                     $"{dateTime.Year}";
            var daysInMonth = DateTime.DaysInMonth(model.Input.Date.Value.Year, model.Input.Date.Value.Month);
            var days        = new List <DayItemDto>();

            for (int i = 0; i < daysInMonth; i++)
            {
                var dayItem = new DayItemDto
                {
                    DayInMonth = i + 1,
                    DateTime   =
                        new DateTime(model.Input.Date.Value.Year, model.Input.Date.Value.Month, i + 1)
                };
                dayItem.DateString =
                    $"{(dayItem.DateTime.Day < 10 ? "0" + dayItem.DateTime.Day.ToString() : dayItem.DateTime.Day.ToString())}." +
                    $"{(dayItem.DateTime.Month < 10 ? "0" + dayItem.DateTime.Month.ToString() : dayItem.DateTime.Month.ToString())}." +
                    $"{dayItem.DateTime.Year}";
                days.Add(dayItem);
            }
            model.Days = days;
            if (teacher.AcademicSubject != null)
            {
                model.AcademicSubject = teacher.AcademicSubject;
            }
            var result = await _scoreService.GetScores(model.Input);

            if (result.IsSuccessed)
            {
                model.Value = result.Value;
            }

            return(View(model));
        }
コード例 #2
0
        private async Task <bool> CheckTeacherContainsAcademicSubject(long teacherId, long academicSubjectId)
        {
            TeacherItemDto teacher = new TeacherItemDto();
            var            result  = await _teacherService.GetTeacherById(new EntityDto <long>(teacherId));

            if (result.IsSuccessed)
            {
                teacher = result.Value;
            }
            if (teacher.AcademicSubject == null)
            {
                return(false);
            }
            return(teacher.AcademicSubject.Id == academicSubjectId);
        }
コード例 #3
0
        private async Task <bool> CheckTeacherContainsStudyGroup(long teacherId, long studyGroupId)
        {
            TeacherItemDto teacher = new TeacherItemDto();
            var            result  = await _teacherService.GetTeacherById(new EntityDto <long>(teacherId));

            if (result.IsSuccessed)
            {
                teacher = result.Value;
            }
            if (teacher.StudyGroups.IsNullOrEmpty())
            {
                return(false);
            }
            var firstFindedGroup = teacher.StudyGroups.FirstOrDefault(group => group.Id == studyGroupId);

            return(firstFindedGroup != null);
        }
コード例 #4
0
        private async Task <TeacherItemDto> GetTeacher()
        {
            var teacher       = new TeacherItemDto();
            var resultGetUser = await _userService.GetUserByClaims(User);

            if (resultGetUser.IsSuccessed)
            {
                var user             = resultGetUser.Value;
                var resultGetTeacher = await _teacherService.GetTeacherByUserId(new EntityDto <long>(user.Id));

                if (resultGetTeacher.IsSuccessed)
                {
                    teacher = resultGetTeacher.Value;
                }
            }
            return(teacher);
        }