public Task <MultipleTripsQueryResponse> Handle(GetUserTripsQuery request, CancellationToken cancellationToken) { ICollection <Trip> trips = _repo.GetUserTrips(request.UserId, request.From, request.To, request.Destination); int totalCount = trips.Count; if (request.PageIndex.HasValue && request.PageSize.HasValue) { trips = trips.Skip((request.PageIndex.Value - 1) * request.PageSize.Value).Take(request.PageSize.Value).ToList(); } var response = new MultipleTripsQueryResponse(trips, totalCount); response.Status = GetResponseStatus(trips); return(Task.FromResult(response)); }
public async Task <MultipleTripsQueryResponse> GetUserTrips(TravelUser currentUser, string userId, DateTime?from, DateTime?to, string destination, int?pageIndex, int?pageSize) { var query = new GetUserTripsQuery(currentUser, userId, from, to, destination, pageIndex, pageSize); return(await _mediator.Send(query)); }