コード例 #1
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);
        }
コード例 #2
0
        public async Task <IActionResult> CreateScore(GetCreateScoreViewModel model, string returnUrl = null)
        {
            returnUrl = NormalizeReturnUrl(returnUrl);
            var createModel = new CreateScoreViewModel
            {
                ReturnUrl = returnUrl,
                Input     = new CreateScoreInput()
            };
            var resultGetTeacher = await _teacherService.GetTeacherById(new EntityDto <long>(model.TeacherId));

            if (resultGetTeacher.IsSuccessed)
            {
                var teacher = resultGetTeacher.Value;
                createModel.Input.TeacherId = model.TeacherId;
                if (teacher.AcademicSubject != null)
                {
                    if (teacher.AcademicSubject.Id == model.SubjectId)
                    {
                        createModel.Input.AcademicSubjectId = model.SubjectId;
                        createModel.AcademicSubject         = teacher.AcademicSubject;
                    }
                }
            }

            createModel.Input.StudyGroupId = model.StudyGroupId;
            var resultGetStudent = await _studentService.GetStudentById(new EntityDto <long>(model.StudentId));

            if (resultGetStudent.IsSuccessed)
            {
                createModel.Input.StudentId = model.StudentId;
                createModel.StudentName     = resultGetStudent.Value.FullName;
            }
            createModel.Input.DateString = model.DateString;
            return(View(createModel));
        }
コード例 #3
0
        public async Task <IActionResult> EditInfoTeacher(long id)
        {
            var returnUrl = NormalizeReturnUrl(null, () => Url.Action("Index", "Teachers", new { Area = "Admin" }));
            var result    = await _teacherService.GetTeacherById(new EntityDto <long>(id));

            if (result.IsSuccessed)
            {
                var teacher = result.Value;
                var model   = new EditInfoTeacherViewModel();
                model.Input.TeacherId         = teacher.Id;
                model.Input.AcademicSubjectId = teacher.AcademicSubject?.Id;
                model.FullName  = teacher.FullName;
                model.ReturnUrl = returnUrl;
                var resultGetAcadSubjs = await _academicSubjectService.GetAcademicSubjects(new GetAcademicSubjectsInput());

                if (resultGetAcadSubjs.IsSuccessed)
                {
                    ViewBag.AcademicSubjects =
                        new SelectList(resultGetAcadSubjs.Value.Items, "Id", "Name");
                }
                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 = teacher.StudyGroups.FirstOrDefault(studyGroup => studyGroup.Id == studyGroup.Id);
                        if (findedStudyGroup != null)
                        {
                            comboboxItem.IsSelected = true;
                        }
                        model.Input.StudyGroupComboboxes.Add(comboboxItem);
                    }
                }
                return(View(model));
            }
            return(Redirect(returnUrl));
        }