Beispiel #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);
        }
        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));
        }
        public async Task <IActionResult> EditInfoStudent(long id)
        {
            var returnUrl = NormalizeReturnUrl(null, () => Url.Action("Index", "Students", new { Area = "Admin" }));
            var result    = await _studentService.GetStudentById(new EntityDto <long>(id));

            if (result.IsSuccessed)
            {
                var student = result.Value;
                var model   = new EditInfoStudentViewModel();
                model.Input.StudentId    = student.Id;
                model.Input.StudyGroupId = student.StudyGroup?.Id;
                model.FullName           = student.FullName;
                model.ReturnUrl          = returnUrl;
                var resultGetStudyGroups = await _studyGroupService.GetStudyGroups(new GetStudyGroupsInput());

                if (resultGetStudyGroups.IsSuccessed)
                {
                    ViewBag.StudyGroups =
                        new SelectList(resultGetStudyGroups.Value.Items, "Id", "Name");
                }
                return(View(model));
            }
            return(Redirect(returnUrl));
        }