public async Task <Result <PagedList <EventDto> > > List(FilterEventQueryDto filterQueryDto) { var events = await WhereAsyncAsNoTracking(e => (string.IsNullOrEmpty(filterQueryDto.Keyword) || (string.IsNullOrEmpty(e.Name) || e.Name.ToLower().Contains(filterQueryDto.Keyword)) || (string.IsNullOrEmpty(e.Host.Name) || e.Host.Name.ToLower().Contains(filterQueryDto.Keyword)) ) && !e.IsDeleted, filterQueryDto, e => e.Category, e => e.Comment, e => e.Host, e => e.UserInEvents.Select(ur => ur.User), e => e.EventGallery.Select(rg => rg.User), e => e.EventSchedule); if (events.Items.Any()) { events.Items.ForEach(eventDetail => { if (eventDetail.Comment != null) { eventDetail.Comment = eventDetail.Comment.Where(c => c.IsConfirmed && !c.IsDeleted) .OrderBy(c => c.ModifiedDateTime).ToList(); } }); } return(Result <PagedList <EventDto> > .SuccessFull(events.MapTo <EventDto>(_mapper))); }
public async Task <IActionResult> List([FromQuery] FilterEventQueryDto filterQueryDto) { var result = await _unitOfWork.EventService.List(filterQueryDto); if (filterQueryDto.Page == null && filterQueryDto.Limit == null) { return(Ok(result.Data.Items)); } return(result.ApiResult); }