public async Task <IActionResult> GetGuestsDisplay([FromQuery] GuestUserParams userParams) { var guests = _mapper.Map <IEnumerable <GuestForDisplayDto> >( await _guestStayService.GuestGuests(userParams) ); return(Ok(guests)); }
public async Task <IEnumerable <Guest> > GuestGuests(GuestUserParams userParams) { return(await _guestRepo.GetGuests( userParams, new Expression <Func <Guest, object> >[] { g => g.Rank, g => g.Unit })); }
public async Task <PagedList <Guest> > GetGuestsPagination(GuestUserParams userParams) { var guests = await _guestRepo.GetGuestPagination(userParams, new Expression <Func <Guest, object> >[] { g => g.Rank, g => g.Unit }); return(guests); }
public async Task <IActionResult> GetGuestsPagination([FromQuery] GuestUserParams userParams) { var guests = await _guestStayService.GetGuestsPagination(userParams); var guestsToReturn = _mapper.Map <IEnumerable <GuestForEditDto> > (guests); Response.AddPagination(guests.CurrentPage, guests.PageSize, guests.TotalCount, guests.TotalPages); return(Ok(guestsToReturn)); }
private IQueryable <Guest> ProcessGuestFilter(IQueryable <Guest> guests, GuestUserParams userParams, Expression <Func <Guest, bool> > filter = null) { if (filter != null) { guests = guests.Where(filter); } if (!String.IsNullOrWhiteSpace(userParams.LastName)) { guests = guests.Where(g => g.LastName.Equals(userParams.LastName)); } if (userParams.ServiceId != null && userParams.ServiceId != 0) { guests = guests.Where(g => g.Rank.ServiceId == userParams.ServiceId); } if (userParams.RankId != null && userParams.RankId != 0) { guests = guests.Where(g => g.RankId == userParams.RankId); } if (userParams.DodId != null && userParams.DodId != 0) { guests = guests.Where(g => g.DodId == userParams.DodId); } if (userParams.UnitId != null && userParams.UnitId != 0) { guests = guests.Where(g => g.UnitId == userParams.UnitId); } if (!String.IsNullOrWhiteSpace(userParams.Gender)) { guests = guests.Where(g => g.Gender.Equals(userParams.Gender)); } if (userParams.UploadId != null && userParams.UploadId != 0) { guests = guests.Where(g => g.UploadId == userParams.UploadId); } return(guests); }
public async Task <PagedList <Guest> > GetGuestPagination( GuestUserParams userParams, Expression <Func <Guest, object> >[] includeProperties = null, Expression <Func <Guest, bool> > filter = null) { var guests = _context.Guests.AsQueryable(); if (includeProperties != null) { foreach (Expression <Func <Guest, object> > includeProperty in includeProperties) { guests = guests.Include <Guest, object> (includeProperty); } } guests = ProcessGuestFilter(guests, userParams, filter); return(await PagedList <Guest> .CreateAsync(guests, userParams.PageNumber, userParams.PageSize)); }
public async Task <IEnumerable <Guest> > GetGuests( GuestUserParams userParams, Expression <Func <Guest, object> >[] includeProperties = null, Expression <Func <Guest, bool> > filter = null ) { var guests = _context.Guests.AsQueryable(); if (includeProperties != null) { foreach (Expression <Func <Guest, object> > includeProperty in includeProperties) { guests = guests.Include <Guest, object> (includeProperty); } } guests = ProcessGuestFilter(guests, userParams, filter); return(await guests.ToListAsync()); }