public async Task <ActionResult <IEnumerable <FlakDto> > > GetFlaksForUser([FromQuery] FlakParams flakParams) { flakParams.Username = User.GetUsername(); var flaks = await _flakRepository.GetFlaksForUser(flakParams); Response.AddPaginationHeader(flaks.CurrentPage, flaks.PageSize, flaks.TotalCount, flaks.TotalPages); return(flaks); }
// 11/4 note parans are now changed - - ********************************************* public async Task <PagedList <FlakDto> > GetFlaksForUser(FlakParams flakParams) { var query = _context.Flaks .Where(m => m.Sender.UserName == flakParams.Username) // 11-10 I added this !!!! Worked .OrderByDescending(m => m.FlakSent) .AsQueryable(); query = flakParams.Container switch { "Inbox" => query.Where(u => u.Recipient.UserName == flakParams.Username && u.RecipientDeleted == false), "Outbox" => query.Where(u => u.Sender.UserName == flakParams.Username && u.SenderDeleted == false), _ => query.Where(u => u.Recipient.UserName == flakParams.Username && u.RecipientDeleted == false && u.DateRead == null) }; var flaks = query.ProjectTo <FlakDto>(_mapper.ConfigurationProvider); return(await PagedList <FlakDto> .CreateAsync(flaks, flakParams.PageNumber, flakParams.PageSize)); }