コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }