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)); }
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); }
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); }
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); }