public List <Trip> Execute(SearchTripsModel searchTripsModel, Guid userId)
        {
            var trips = _tripRepository
                        .GetAll()
                        .Include(x => x.Driver)
                        .Include(x => x.Passengers)
                        .Where(x =>
                               x.From.Equals(searchTripsModel.From) &&
                               x.To.Equals(searchTripsModel.To) &&
                               !x.Driver.Id.Equals(userId) &&
                               !x.Passengers.Any(y => y.PassengerId.Equals(userId)) &&
                               x.Seats - x.Passengers.Count >= searchTripsModel.Seats &&
                               x.StartingTime >= searchTripsModel.DateTime &&
                               (searchTripsModel.OnlyTwo
                        ? x.OnlyTwoBehind.Equals(searchTripsModel.OnlyTwo)
                        : x.OnlyTwoBehind.Equals(true) || x.OnlyTwoBehind.Equals(false)))
                        .ToList();

            foreach (var trip in trips)
            {
                trip.CheckUserApplied(userId);
            }

            return(trips);
        }
        public ActionResult <IEnumerable <Trip> > Search(SearchTripsModel searchTripsModel)
        {
            var userId = User.GetUserIdentifier();

            return(_searchTripsQuery.Execute(searchTripsModel, userId));
        }