Exemplo n.º 1
0
        public async Task <IActionResult> GetGuestsDisplay([FromQuery] GuestUserParams userParams)
        {
            var guests = _mapper.Map <IEnumerable <GuestForDisplayDto> >(
                await _guestStayService.GuestGuests(userParams)
                );

            return(Ok(guests));
        }
Exemplo n.º 2
0
 public async Task <IEnumerable <Guest> > GuestGuests(GuestUserParams userParams)
 {
     return(await _guestRepo.GetGuests(
                userParams,
                new Expression <Func <Guest, object> >[] {
         g => g.Rank,
         g => g.Unit
     }));
 }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 7
0
        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());
        }