示例#1
0
        public async Task <GetEnrollmentsByStudentIdQueryResponseModel> Handle(GetEnrollmentsByStudentIdQuery request,
                                                                               CancellationToken cancellationToken)
        {
            if (!await _studentService.IsExists(request.Id))
            {
                throw new StudentIdDoesNotExistsException(request.Id.ToString());
            }

            var subjects = await _subjectService.GetAllByStudentId(request.Id);

            var student = await _studentService.GetById(request.Id);

            var response = new GetEnrollmentsByStudentIdQueryResponseModel
            {
                Id       = student.Id,
                Name     = student.Name,
                Subjects = _mapper.Map <IEnumerable <SubjectLecturesResponseModel> >(subjects)
            };

            foreach (var subject in response.Subjects)
            {
                subject.Lectures = await _lectureEntityMapperService.Map(subject.Lectures);
            }

            return(response);
        }
        public async Task <SubjectResponseModel> Map(SubjectResponseModel entity)
        {
            var lectures = await _lectureMapperService.Map(entity.Lectures);

            entity.Lectures = lectures;

            return(entity);
        }
        public async Task <IEnumerable <SubjectResponseModel> > Handle(GetSubjectsQuery request, CancellationToken cancellationToken)
        {
            var subjects = await _subjectService.GetAll();

            var response = _mapper
                           .Map <IEnumerable <SubjectResponseModel> >(subjects)
                           .ToList();

            var mappedResponse = await _subjectMapperService.Map(response);

            return(mappedResponse);
        }
示例#4
0
        public async Task <SubjectLecturesResponseModel> Handle(GetLecturesBySubjectIdQuery request, CancellationToken cancellationToken)
        {
            if (!await _subjectService.IsExists(request.Id))
            {
                throw new SubjectIdDoesNotExistsException(request.Id.ToString());
            }

            var subject = await _subjectService.GetById(request.Id);

            var response = _mapper.Map <SubjectLecturesResponseModel>(subject);

            response.Lectures = await _entityMapperService.Map(response.Lectures);

            return(response);
        }
        public async Task <LectureResponseModel> Handle(CreateLectureCommand request, CancellationToken cancellationToken)
        {
            if (!await _subjectService.IsExists(request.Id))
            {
                throw new SubjectIdDoesNotExistsException(request.Id.ToString());
            }

            if (!await _lectureTheatreService.IsExists(request.LectureTheatreId))
            {
                throw new LectureTheatreIdDoesNotExistsException(request.LectureTheatreId.ToString());
            }

            if (!await _lectureTheatreService.IsValidLectureTime(
                    request.LectureTheatreId,
                    request.StartTime,
                    request.EndTime))
            {
                throw new InvalidLectureTimingsException(
                          request.LectureTheatreId.ToString(),
                          request.StartTime, request.EndTime);
            }

            var subject = await _subjectService.GetById(request.Id);

            var lectureTheatreId = await _lectureTheatreService.GetById(request.LectureTheatreId);

            var lecture = subject.AddLecture(
                request.DayOfWeek,
                request.StartTime,
                request.EndTime,
                lectureTheatreId);

            await _subjectService.Save(subject);

            var response = _mapper.Map <LectureResponseModel>(lecture);

            return(await _entityMapperService.Map(response));
        }