public async Task <IActionResult> EditInfoAcademicSubject(long id) { var returnUrl = NormalizeReturnUrl(null); var result = await _academicSubjectService.GetAcademicSubject(new EntityDto <long>(id)); if (result.IsSuccessed) { var academicSubject = result.Value; var model = new EditInfoAcademicSubjectViewModel(); model.Input.AcademicSubjectId = academicSubject.Id; model.Input.Name = academicSubject.Name; model.ReturnUrl = returnUrl; var resultGetStudyGroups = await _studyGroupService.GetStudyGroups(new GetStudyGroupsInput()); if (resultGetStudyGroups.IsSuccessed) { var studyGroups = resultGetStudyGroups.Value; foreach (var studyGroup in studyGroups.Items) { var comboboxItem = new ComboboxItemDto(studyGroup.Id.ToString(), studyGroup.Name); var findedStudyGroup = academicSubject.StudyGroups.FirstOrDefault(studyGroup => studyGroup.Id == studyGroup.Id); if (findedStudyGroup != null) { comboboxItem.IsSelected = true; } model.Input.StudyGroupComboboxes.Add(comboboxItem); } } return(View(model)); } return(Redirect(returnUrl)); }
public async Task <Result> UpdateTeacherInfo(UpdateTeacherInfoInput input) { var teacher = await _teacherRespository.GetAllIncluding(teacher => teacher.TeacherStudyGroups) .FirstOrDefaultAsync(teacher => teacher.Id == input.TeacherId); if (teacher != null) { if (input.AcademicSubjectId.HasValue) { var result = await _academicSubjectService.GetAcademicSubject( new EntityDto <long>(input.AcademicSubjectId.Value)); if (result.IsSuccessed) { teacher.AcademicSubjectId = input.AcademicSubjectId; } } else { teacher.AcademicSubjectId = null; } foreach (var combobox in input.StudyGroupComboboxes) { var studyGroupId = long.Parse(combobox.Value); var teacherStudyGroup = teacher.TeacherStudyGroups. FirstOrDefault(first => first.StudyGroupId == studyGroupId); if (combobox.IsSelected) { if (teacherStudyGroup == null) { teacher.TeacherStudyGroups.Add( new TeacherStudyGroup { TeacherId = teacher.Id, StudyGroupId = studyGroupId }); } } else { if (teacherStudyGroup != null) { teacher.TeacherStudyGroups.Remove(teacherStudyGroup); } } } await _teacherRespository.UpdateAsync(teacher); return(Result.Success()); } return(ErrorNotFoundTeacherWithId(input.TeacherId)); }
protected override async Task <ScoreItemDto> MapEntityToEntityDto(AcademicSubjectScore entity) { var scoreDto = new ScoreItemDto(); if (entity != null) { scoreDto.Id = entity.Id; scoreDto.Score = entity.Score; scoreDto.Date = entity.Date; var resultGetStudent = await _studentService.GetStudentById(new EntityDto <long>(entity.StudentId)); if (resultGetStudent.IsSuccessed) { scoreDto.Student = resultGetStudent.Value; } var resultGetTeacher = await _teacherService.GetTeacherById(new EntityDto <long>(entity.TeacherId)); if (resultGetTeacher.IsSuccessed) { scoreDto.Teacher = resultGetTeacher.Value; } var resultGetAcademisSubject = await _academicSubjectService.GetAcademicSubject(new EntityDto <long>(entity.AcademicSubjectId)); if (resultGetAcademisSubject.IsSuccessed) { scoreDto.AcademicSubject = resultGetAcademisSubject.Value; } } return(scoreDto); }
protected override async Task <HomeWorkItemDto> MapEntityToEntityDto(HomeWork entity) { var homeWorkDto = new HomeWorkItemDto(); if (entity != null) { homeWorkDto.Id = entity.Id; homeWorkDto.EndDate = entity.EndDate; homeWorkDto.Description = entity.Description; homeWorkDto.HomeWorkData = entity.HomeWorkData; var resultGetStudyGroup = await _studyGroupService.GetStudyGroup(new EntityDto <long>(entity.StudyGroupId)); if (resultGetStudyGroup.IsSuccessed) { homeWorkDto.StudyGroup = resultGetStudyGroup.Value; } var resultGetAcademicSubject = await _subjectService.GetAcademicSubject(new EntityDto <long>(entity.AcademicSubjectId)); if (resultGetAcademicSubject.IsSuccessed) { homeWorkDto.AcademicSubject = resultGetAcademicSubject.Value; } } return(homeWorkDto); }