public async Task <IActionResult> Index(GetEventListInput input) { var output = await _eventAppService.GetListAsync(input); var model = new IndexViewModel(output.Items) { }; return(View(model)); }
public async Task <ListResultDto <EventListDto> > GetList(GetEventListInput input) { var events = await _eventRepository .GetAll() .Include(e => e.Registrations) .WhereIf(!input.IncludeCanceledEvents, e => !e.IsCancelled) .OrderByDescending(e => e.CreationTime) .ToListAsync(); return(new ListResultDto <EventListDto>(events.MapTo <List <EventListDto> >())); }
public async Task <ListResultDto <EventListDto> > GetListAsync(GetEventListInput input) { var events = await _eventRepository .GetAll() .Include(e => e.Registrations) .WhereIf(!input.IncludeCanceledEvents, e => !e.IsCancelled) .OrderByDescending(e => e.CreationTime) .Take(64) .ToListAsync(); var exts = await _extension.GetByAsync(events.Select(e => e.Id).ToArray()); // TODO: Merge //var dtos = events.MapTo<List<EventListDto>>(); //var dtos = (from e in events // select new // { // e.Title, // e.Description, // e.Date, // e.IsCancelled, // e.MaxRegistrationCount, // e.Registrations // }).ToList().MapTo<List<EventListDto>>(); //var dtos = (from e in events select e).ToList().MapTo<List<EventListDto>>(); //var dtos = (from evt in events.MapTo<List<EventListDto>>() // let ext = exts.FirstOrDefault(e => e.ExternalId == evt.Id) // let mod = evt.Location = ext.Location // select evt).ToList(); var dtos = events.MapTo <List <EventListDto> >().Select(dto => { var loc = exts.FirstOrDefault(e => e.ExternalId == dto.Id); dto.Location = loc?.Location; return(dto); }).ToList(); return(new ListResultDto <EventListDto>(dtos)); }