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); }