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); }
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)); }