Exemple #1
0
        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));
        }