public async Task <ActionResult <MeetingDTO> > GetMeeting(int id) { var spec = new MeetingsWithTypesSpecification(id); var meeting = await _meetingRepo.GetEntityWithSpec(spec); if (meeting is null) { return(NotFound(new ApiResponse(404))); } return(_mapper.Map <Meeting, MeetingDTO>(meeting)); }
public async Task <ActionResult <Pagination <MeetingDTO> > > GetMeetings([FromQuery] MeetingSpecParams meetingParams) { var spec = new MeetingsWithTypesSpecification(meetingParams); var countSpec = new MeetingWithFilterCountSpecification(meetingParams); var totalItems = await _meetingRepo.CountAsync(countSpec); var meetings = await _meetingRepo.ListAsync(spec); var data = _mapper.Map <IReadOnlyList <Meeting>, IReadOnlyList <MeetingDTO> >(meetings); return(Ok(new Pagination <MeetingDTO>(meetingParams.PageIndex, meetingParams.PageSize, totalItems, data))); }