public async Task <IActionResult> GetTournamentBookingsPagedList([FromQuery] BookingTableParams bookingParams)
        {
            var dtos = await bookingSectorService.GetTournamentBookingsPagedList(bookingParams);

            if (dtos != null)
            {
                var data = new
                {
                    dtos,
                    dtos.totalCount
                };

                return(Ok(data));
            }
            else
            {
                return(NotFound());
            }
        }
        public async Task <PagedBookingsList <BookingSectorDTO> > GetTournamentBookingsPagedList(BookingTableParams bookingParams)
        {
            DateTime date = DateTime.Now.AddDays(-1);

            var bookings = await database.BookingSectorRepository.GetAllEntitiesAsync();

            var tournamentBookings = bookings.Where(b => b.TournamentId.HasValue).OrderBy(b => b.TournamentId & b.SectorId);
            IEnumerable <BookingSector> pagedBookings = new List <BookingSector>();

            if (!bookingParams.isExpired)
            {
                pagedBookings = from booking in tournamentBookings
                                where booking.IsApproved == bookingParams.isApproved
                                select booking;
            }
            else if (bookingParams.isExpired)
            {
                pagedBookings = from booking in tournamentBookings
                                where booking.BookingStart < date
                                select booking;
            }
            var dtos = mapper.Map <IEnumerable <BookingSector>, IEnumerable <BookingSectorDTO> >(pagedBookings);


            return(PagedBookingsList <BookingSectorDTO> .toPagedList(dtos, bookingParams.pageIndex, bookingParams.pageSize));
        }
        public async Task <PagedBookingsList <BookingSectorDTO> > GetBookingsPagedList(BookingTableParams bookingParams)
        {
            DateTime date     = DateTime.Now.AddDays(-1);
            var      bookings = await database.BookingSectorRepository.GetAllEntitiesAsync();

            IEnumerable <BookingSector> conditionalBookings = new List <BookingSector>();

            if (!bookingParams.isExpired)
            {
                conditionalBookings = from booking in bookings
                                      where booking.IsApproved == bookingParams.isApproved
                                      where booking.TournamentId == null
                                      select booking;
            }
            else if (bookingParams.isExpired)
            {
                conditionalBookings = from booking in bookings
                                      where booking.BookingStart < date
                                      where booking.TournamentId == null
                                      select booking;
            }
            var dtos = mapper.Map <IEnumerable <BookingSector>, IEnumerable <BookingSectorDTO> >(conditionalBookings);


            return(PagedBookingsList <BookingSectorDTO> .toPagedList(dtos, bookingParams.pageIndex, bookingParams.pageSize));;
        }