public async Task <IEnumerable <EventsForListViewModel> > GetAllEvents(EventsQueryParameters parameters) { List <Event> events; if (AreAllNullOrEmpty(parameters) == false) { events = await _dbContext.Events .Include(e => e.City) .Include(e => e.Category) .ToListAsync(); if (parameters.Category != null) { var category = _dbContext.Categories.FirstOrDefault(c => c.Name == parameters.Category); events = events.Where(e => e.Category.Id == category.Id || e.Category.ParentCategoryId == category.Id).ToList(); } if (parameters.SubCategory != null) { events = events.Where(e => e.Category.Name == parameters.SubCategory).ToList(); } if (parameters.Location != null) { events = events.Where(e => e.City.Name == parameters.Location).ToList(); } if (parameters.Date != null) { events = events.Where(e => e.EventStartDate.Date == parameters.Date.Value.Date).ToList(); } if (parameters.sortOrder != null) { if (parameters.sortOrder == "start_date") { events = events.OrderBy(e => e.EventStartDate).ToList(); } if (parameters.sortOrder == "created_date") { events = events.OrderByDescending(e => e.CreatedOn).ToList(); } } } else { events = await _dbContext.Events .Include(e => e.City) .Include(e => e.User) .Include(e => e.Category) .Include(e => e.Userevent) .OrderByDescending(x => x.CreatedOn) .Take(48) .AsNoTracking() .ToListAsync(); } var eventsToReturn = _mapper.Map <List <EventsForListViewModel> >(events); return(eventsToReturn); }
public Task <MarvelResponse <Event> > GetEvents(CancellationToken token, EventsQueryParameters parameters = null) => ExecuteApiCall <MarvelResponse <Event> >(() => _api.GetEvents(parameters, token));
public Task <string> GetEventsJson(CancellationToken token, EventsQueryParameters parameters = null) => ExecuteApiJson(() => _api.GetEvents(parameters, token));
public async Task <IActionResult> GetAll([FromQuery] EventsQueryParameters eventsQueryParameters) { var events = await _eventService.GetAllEvents(eventsQueryParameters); return(Ok(events)); }