Example #1
0
        public async Task <List <ReservationModel> > GetReservationBySearch(int userId, SearchReservationRequest request)
        {
            //var result = _dbContext.Reservations.Where(w => w.StoreId == storeId)
            //    .Include(i => i.UserModel).Include(i => i.StoreModel).Where(w => w.StoreModel.OwnerId == ownerId)
            //    .AsNoTracking();

            var result = _dbContext.Reservations.Where(w => w.StoreModel.OwnerId == userId || w.UserId == userId).Include(i => i.UserModel).Include(i => i.StoreModel).AsNoTracking();

            var aa = result.ToList();

            if (request.StartTime != null && request.StopTime != null)
            {
                var startTime = new DateTime(request.StartTime.Year, request.StartTime.Month, request.StartTime.Day,
                                             request.StartTime.Hour, request.StartTime.Minute, request.StartTime.Second);

                var stopTime = new DateTime(request.StopTime.Year, request.StopTime.Month, request.StopTime.Day,
                                            request.StopTime.Hour, request.StopTime.Minute, request.StopTime.Second);

                result = result.Where(w => w.StartTime >= startTime && w.StopTime <= stopTime).AsNoTracking();
            }

            if (!string.IsNullOrWhiteSpace(request.UserName))
            {
                result = result.Where(w => w.UserModel.FirstName.Contains(request.UserName)).AsNoTracking();
            }

            if (!string.IsNullOrWhiteSpace(request.StoreName))
            {
                result = result.Where(w => w.StoreModel.Name.Contains(request.StoreName)).AsNoTracking();
            }
            return(await result.ToListAsync());
        }
 public async Task <ActionResult> GetReservationBySearch(int userId, [FromQuery] SearchReservationRequest request, int currentPage, int pageSize)
 {
     return(Ok(await _reservationManager.GetReservationBySearch(userId, request, currentPage, pageSize)));
 }
        public async Task <BasePagingDto <ReservationDto> > GetReservationBySearch(int userId, SearchReservationRequest request, int currentPage, int pageSize)
        {
            var listReservation = await _reservationRepository.GetReservationBySearch(userId, request);

            var lisReservationDto = _mapper.Map <List <ReservationDto> >(listReservation);

            var result = MakePaging.ReservationDtoToPaging(lisReservationDto, currentPage, pageSize);

            return(result);
        }