示例#1
0
 private IQueryable <Reservation> AddSorting(IQueryable <Reservation> query, ReservationSortingColumn sortBy, SortingDirection sortDirection)
 {
     return((sortBy, sortDirection) switch
     {
         (ReservationSortingColumn.Date, SortingDirection.Asc) => query.OrderBy(r => r.DateTime),
         (ReservationSortingColumn.Date, SortingDirection.Desc) => query.OrderByDescending(r => r.DateTime),
         (ReservationSortingColumn.ContactName, SortingDirection.Asc) => query.OrderBy(r => r.Contact.Name),
         (ReservationSortingColumn.ContactName, SortingDirection.Desc) => query.OrderByDescending(r => r.Contact.Name),
         (ReservationSortingColumn.Ranking, SortingDirection.Asc) => query.OrderBy(r => r.Ranking),
         (ReservationSortingColumn.Ranking, SortingDirection.Desc) => query.OrderByDescending(r => r.Ranking),
         (_, _) => throw new ArgumentException("Enum value not recognized"),
     });
示例#2
0
        public async Task <PagedResult <ReservationListItem> > ListReservations(int pageSize, int page, ReservationSortingColumn sortBy, SortingDirection sortDirection)
        {
            var pagedResult = await UnitOfWork.Reservation.ListWithContacts(pageSize, page, sortBy, sortDirection);

            return(pagedResult.Convert(r => ReservationListItem.FromEntity(r)));
        }
示例#3
0
        public async Task <PagedResult <IReservation> > ListWithContacts(int pageSize, int page, ReservationSortingColumn sortBy, SortingDirection sortDirection)
        {
            var query  = Set.Include(r => r.Contact);
            var result = await ListWithPaging(query, pageSize, page, q => AddSorting(q, sortBy, sortDirection));

            return(result);
        }