Esempio n. 1
0
        private static IQueryable <LocationEntity> ApplyFiltering(IQueryable <LocationEntity> queryable,
                                                                  LocationFilter locationFilter)
        {
            if (locationFilter.StartDate.HasValue)
            {
                queryable = queryable.Where(x => x.DateTime >= locationFilter.StartDate.Value);
            }

            if (locationFilter.EndDate.HasValue)
            {
                queryable = queryable.Where(x => x.DateTime <= locationFilter.EndDate.Value);
            }

            if (locationFilter.MinSpeed.HasValue)
            {
                queryable = queryable.Where(x => x.Speed >= locationFilter.MinSpeed.Value);
            }

            if (locationFilter.MaxSpeed.HasValue)
            {
                queryable = queryable.Where(x => x.Speed <= locationFilter.MaxSpeed.Value);
            }

            if (locationFilter.MinAltitude.HasValue)
            {
                queryable = queryable.Where(x => x.Altitude >= locationFilter.MinAltitude.Value);
            }

            if (locationFilter.MaxAltitude.HasValue)
            {
                queryable = queryable.Where(x => x.Altitude <= locationFilter.MaxAltitude.Value);
            }

            return(queryable);
        }
        public override int GetHashCode()
        {
            int hashCode = 1266972041;

            if (LoyaltyAccountFilter != null)
            {
                hashCode += LoyaltyAccountFilter.GetHashCode();
            }

            if (TypeFilter != null)
            {
                hashCode += TypeFilter.GetHashCode();
            }

            if (DateTimeFilter != null)
            {
                hashCode += DateTimeFilter.GetHashCode();
            }

            if (LocationFilter != null)
            {
                hashCode += LocationFilter.GetHashCode();
            }

            if (OrderFilter != null)
            {
                hashCode += OrderFilter.GetHashCode();
            }

            return(hashCode);
        }
Esempio n. 3
0
 public LocationsRecycleAdapter(List <LocationViewModel> locations, Activity activity)
 {
     this.mLocations         = locations;
     this.mFilteredLocations = locations;
     this.mActivity          = activity;
     Filter = new LocationFilter(this);
 }
        public async Task <ApiResult> GetLocationsAsync(LocationFilter locationFilter)
        {
            var locationsPagedResult = await locationRepository.GetLocationsAsync(locationFilter);

            var locationsDtoPagedResult = new PagedResult <LocationDto>();

            Mapper.Map(locationsPagedResult, locationsDtoPagedResult);
            return(new ApiResult(MessageType.Success, locationsDtoPagedResult));
        }
Esempio n. 5
0
        public IQueryable <LocationEntity> GetLocations(int assetId, LocationFilter locationFilter)
        {
            IQueryable <LocationEntity> queryable = repository.GetEntities <LocationEntity>()
                                                    .OrderByDescending(x => x.DateTime)
                                                    .Where(x => x.AssetId == assetId);

            queryable = ApplyFiltering(queryable, locationFilter);

            return(queryable);
        }
Esempio n. 6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AmplaLocationAttribute"/> class.
        /// </summary>
        /// <param name="location">The location.</param>
        public AmplaLocationAttribute(string location)
        {
            LocationFilter filter;

            if (LocationFilter.TryParse(location, out filter))
            {
                Location    = filter.Location;
                WithRecurse = filter.WithRecurse;
            }
        }
        private Expression <Func <Location, bool> > GetLocationExpression(LocationFilter filter)
        {
            Expression <Func <Location, bool> > expression = null;

            if (filter.Id > 0)
            {
                expression = x => x.Id == filter.Id;
            }
            return(expression);
        }
Esempio n. 8
0
        /// <summary>
        /// Asynchronously Retrieve Locations, with support for cancellation.
        /// </summary>
        /// <remarks>
        /// Retrieves a list of all locations associated with your company,
        /// with optional filters to narrow down the results.
        /// </remarks>
        /// <param name="filter">
        /// An instance of the <see cref="LocationFilter"/> class, for narrowing down the results.
        /// </param>
        /// <param name="options">
        /// An instance of the <see cref="RequestOptions"/> class, for customizing method processing.
        /// </param>
        /// <param name="cancellationToken">
        /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>
        /// An enumerable set of <see cref="Location"/> objects, along with an output
        /// instance of the <see cref="ResultsMeta"/> class containing additional data.
        /// </returns>
        public async Task <(IList <Location>, ResultsMeta)> GetLocationsAsync(
            LocationFilter filter,
            RequestOptions options,
            CancellationToken cancellationToken)
        {
            var context = new GetContext <Location>(EndpointName.Locations, filter, options);

            await ExecuteOperationAsync(context, cancellationToken).ConfigureAwait(false);

            return(context.Results.Items, context.ResultsMeta);
        }
Esempio n. 9
0
        public async Task <ApiResponse <LocationList> > GetLocationsResponseAsync(LocationFilter locationFilter = null)
        {
            if (locationFilter?.After != null && locationFilter.Before != null)
            {
                throw new InvalidOperationException("Only after or before can be specified for a request, not both.");
            }

            var apiResponse = await _restApiClient.GetApiResponseAsync <LocationList>(UrlPathBuilder.LocationUrl, locationFilter?.ToQueryParams());

            return(apiResponse);
        }
Esempio n. 10
0
        private IQueryable <DbLocation> GetAllWithFilterQueryable(LocationFilter model)
        {
            IQueryable <DbLocation> filteredLocations = _dbSet;

            if (model.Name != null)
            {
                model.Name        = model.Name.Trim().ToLower();
                filteredLocations = filteredLocations.Where(x => x.Name.ToLower().Contains(model.Name));
            }

            if (model.MinCapacity != null)
            {
                filteredLocations = filteredLocations.Where(x => x.Capacity > model.MinCapacity);
            }


            if (model.CityOrPostcode != null)
            {
                model.CityOrPostcode = model.CityOrPostcode.Trim().ToLower();

                int  postalCode        = -1;
                bool isValidPostalCode = int.TryParse(model.CityOrPostcode, out postalCode);
                if (isValidPostalCode)
                {
                    filteredLocations = filteredLocations.Where(x => x.AddressPostalCode == postalCode);
                }
                else
                {
                    filteredLocations = filteredLocations.Where(x => x.AddressCity.ToLower().Contains(model.CityOrPostcode));
                }
            }

            if (model.Province != null)
            {
                model.Province    = model.Province.Trim().ToLower();
                filteredLocations = filteredLocations.Where(x => x.AddressProvince.ToLower().Contains(model.Province));
            }

            if (model.From != null)
            {
                filteredLocations = filteredLocations.Where(x => !x.Bookings.Where(y => y.StatusId != (int)EBookingStatus.Cancelled || y.StatusId != (int)EBookingStatus.Denied).Where(y => y.StartDateTime <= model.From && y.EndDateTime >= model.From).Any());
            }
            if (model.To != null)
            {
                filteredLocations = filteredLocations.Where(x => !x.Bookings.Where(y => y.StatusId != (int)EBookingStatus.Cancelled || y.StatusId != (int)EBookingStatus.Denied).Where(y => y.StartDateTime <= model.To && y.EndDateTime >= model.To).Any());
            }
            if (model.From != null && model.To != null)
            {
                filteredLocations = filteredLocations.Where(x => !x.Bookings.Where(y => y.StatusId != (int)EBookingStatus.Cancelled || y.StatusId != (int)EBookingStatus.Denied).Where(y => y.StartDateTime >= model.From && y.EndDateTime <= model.To).Any());
            }

            filteredLocations = filteredLocations.OrderBy(x => x.PricePerDay);
            return(filteredLocations);
        }
Esempio n. 11
0
        // [END city_location_search]

        // [START multi_location_search]

        public static void MultiLocationSearch(string companyName, string location1, double distance1, string location2)
        {
            RequestMetadata requestMetadata = new RequestMetadata()
            {
                // Make sure to hash your userID
                UserId = "HashedUserId",
                // Make sure to hash the sessionID
                SessionId = "HashedSessionId",
                // Domain of the website where the search is conducted
                Domain = "www.google.com"
            };

            LocationFilter locationFilter1 = new LocationFilter()
            {
                Address         = location1,
                DistanceInMiles = distance1
            };

            LocationFilter locationFilter2 = new LocationFilter()
            {
                Address = location2
            };

            JobQuery jobQuery = new JobQuery()
            {
                LocationFilters = new List <LocationFilter>()
                {
                    locationFilter1,
                    locationFilter2
                }
            };

            if (companyName != null)
            {
                jobQuery.CompanyNames = new List <string>
                {
                    companyName
                };
            }

            SearchJobsRequest searchJobRequest = new SearchJobsRequest()
            {
                RequestMetadata = requestMetadata,
                JobQuery        = jobQuery,
                SearchMode      = "JOB_SEARCH"
            };

            SearchJobsResponse searchJobsResponse = jobServiceClient.Projects.Jobs.Search(searchJobRequest, parent).Execute();

            Console.WriteLine("Jobs multi location searched: " + ToJsonString(searchJobsResponse));
        }
Esempio n. 12
0
        /// <summary>
        ///     Tries to get the Location value from the specified type.
        /// </summary>
        /// <typeparam name="TModel">The type of the model.</typeparam>
        /// <param name="location">The location.</param>
        /// <returns></returns>
        public static bool TryGetLocation <TModel>(out LocationFilter location)
        {
            location = null;
            AmplaLocationAttribute attribute;

            if (typeof(TModel).TryGetAttribute(out attribute))
            {
                location = new LocationFilter(attribute.Location, attribute.WithRecurse);
                if (string.IsNullOrEmpty(location.Location))
                {
                    location = null;
                }
            }

            return(location != null);
        }
        public async Task <PagedResult <Location> > GetLocationsAsync(LocationFilter filter)
        {
            filter = filter ?? new LocationFilter();

            var result = unitOfWork.Query(GetLocationExpression(filter), filter.PropertiesToInclude);

            List <Location> list = await result.OrderBy(filter.OrderBy)
                                   .Skip((filter.Page - 1) * filter.Skip).Take(filter.Take)
                                   .ToListAsync();

            var pagedResult = new PagedResult <Location>
            {
                Data     = list,
                PageInfo = await GetPageInfo(x => x.Id, filter, GetLocationExpression(filter))
            };

            return(pagedResult);
        }
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            if (obj == this)
            {
                return(true);
            }

            return(obj is LoyaltyEventFilter other &&
                   ((LoyaltyAccountFilter == null && other.LoyaltyAccountFilter == null) || (LoyaltyAccountFilter?.Equals(other.LoyaltyAccountFilter) == true)) &&
                   ((TypeFilter == null && other.TypeFilter == null) || (TypeFilter?.Equals(other.TypeFilter) == true)) &&
                   ((DateTimeFilter == null && other.DateTimeFilter == null) || (DateTimeFilter?.Equals(other.DateTimeFilter) == true)) &&
                   ((LocationFilter == null && other.LocationFilter == null) || (LocationFilter?.Equals(other.LocationFilter) == true)) &&
                   ((OrderFilter == null && other.OrderFilter == null) || (OrderFilter?.Equals(other.OrderFilter) == true)));
        }
        private string GenerateUrlWithFilter(string baseUrl, LocationFilter filter, string cityOrPostCodeParamName, string fromParamName, string toParamName)
        {
            string fullUrl = baseUrl + "?";

            if (filter.CityOrPostcode != null)
            {
                fullUrl += cityOrPostCodeParamName + "=" + filter.CityOrPostcode + "&";
            }
            if (filter.From != null)
            {
                fullUrl += fromParamName + "=" + filter.From + "&";
            }
            if (filter.To != null)
            {
                fullUrl += toParamName + "=" + filter.To + "&";
            }

            fullUrl = fullUrl.Remove(fullUrl.Length - 1, 1);
            return(fullUrl);
        }
Esempio n. 16
0
        public IEnumerable <ApiLocation> Get(string name = null, string cityOrPostcode = null, string province = null, DateTime?from = null, DateTime?to = null, int?minCapacity = null)
        {
            var locationsRepository = _unitOfWork.LocationsRepository;

            LocationFilter filter = new LocationFilter();

            filter.Name           = name;
            filter.CityOrPostcode = cityOrPostcode;
            filter.Province       = province;
            filter.From           = from;
            filter.To             = to;
            filter.MinCapacity    = minCapacity;
            IList <DbLocation> locations = locationsRepository.GetAllWithFilter(filter);

            return(locations.Select(x =>
            {
                ApiLocation location = x.ToApiEntity();
                location.DetailsPageUrl = Uri.EscapeUriString(string.Format(DetailsPageUrlTemplate, x.Id));
                location.BookingPageUrl = Uri.EscapeUriString(string.Format(BookingPageUrlTemplate, x.Id));
                location.BannerImageUrl = Uri.EscapeUriString(string.Format(BannerImageBaseUrl, x.Id, x.BannerImageFileName));
                return location;
            }));
        }
Esempio n. 17
0
        public async Task <List <TripWithLocations> > GetTrips(int assetId, LocationFilter locationFilter)
        {
            IQueryable <TripEntity> queryable = repository.GetEntities <TripEntity>()
                                                .OrderByDescending(x => x.Id)
                                                .Include(x => x.StartLocation)
                                                .Include(x => x.EndLocation)
                                                .Where(x => x.AssetId == assetId);

            queryable = ApplyFiltering(queryable, locationFilter);
            queryable = queryable.Take(100);

            List <TripEntity> trips = await queryable
                                      .ToListAsync();

            if (trips.Any())
            {
                DateTime startDate = trips.Min(x => x.StartLocation.DateTime);
                DateTime endDate   = trips.Max(x => x.EndLocation.DateTime);

                List <LocationEntity> locations = await repository.GetEntities <LocationEntity>()
                                                  .Include(x => x.ConnectionMessage)
                                                  .Where(x => x.AssetId == assetId && x.DateTime >= startDate && x.DateTime <= endDate)
                                                  .OrderBy(x => x.DateTime)
                                                  .ToListAsync();

                List <TripWithLocations> tripWithLocations = trips.Select(x => new TripWithLocations
                {
                    Trip      = x,
                    Locations = locations.Where(y =>
                                                y.DateTime >= x.StartLocation.DateTime && y.DateTime <= x.EndLocation.DateTime).ToList()
                }).ToList();

                return(tripWithLocations);
            }

            return(Enumerable.Empty <TripWithLocations>().ToList());
        }
Esempio n. 18
0
        public async Task <PlayerRankingList> GetPlayerRankingsAsync(Locations location, LocationFilter locationFilter = null)
        {
            var apiResponse = await GetPlayerRankingsResponseAsync(location, locationFilter);

            return(apiResponse.GetModel());
        }
Esempio n. 19
0
        public async Task <LocationList> GetLocationsAsync(LocationFilter locationFilter = null)
        {
            var apiResponse = await GetLocationsResponseAsync(locationFilter);

            return(apiResponse.GetModel());
        }
Esempio n. 20
0
        public async Task <PagedLocations> GetLocationsAsync(LocationFilter locationFilter = null)
        {
            IApiResponse <PagedLocations> apiResponse = await GetLocationsResponseAsync(locationFilter);

            return(apiResponse.Model);
        }
Esempio n. 21
0
        public async Task <PagedLocationRankingPlayers> GetPlayerRankingsAsync(LocationsEnum locationEnum, LocationFilter locationFilter = null)
        {
            IApiResponse <PagedLocationRankingPlayers> apiResponse = await GetPlayerRankingsResponseAsync(locationEnum, locationFilter);

            return(apiResponse.Model);
        }
Esempio n. 22
0
 /// <summary>
 /// Asynchronously Retrieve Locations.
 /// </summary>
 /// <remarks>
 /// Retrieves a list of all locations associated with your company,
 /// with optional filters to narrow down the results.
 /// </remarks>
 /// <param name="filter">
 /// An instance of the <see cref="LocationFilter"/> class, for narrowing down the results.
 /// </param>
 /// <param name="options">
 /// An instance of the <see cref="RequestOptions"/> class, for customizing method processing.
 /// </param>
 /// <returns>
 /// An enumerable set of <see cref="Location"/> objects, along with an output
 /// instance of the <see cref="ResultsMeta"/> class containing additional data.
 /// </returns>
 public async Task <(IList <Location>, ResultsMeta)> GetLocationsAsync(
     LocationFilter filter,
     RequestOptions options)
 {
     return(await GetLocationsAsync(filter, options, default).ConfigureAwait(false));
 }
Esempio n. 23
0
 /// <summary>
 /// Asynchronously Retrieve Locations, with support for cancellation.
 /// </summary>
 /// <remarks>
 /// Retrieves a list of all locations associated with your company,
 /// with optional filters to narrow down the results.
 /// </remarks>
 /// <param name="filter">
 /// An instance of the <see cref="LocationFilter"/> class, for narrowing down the results.
 /// </param>
 /// <param name="cancellationToken">
 /// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
 /// </param>
 /// <returns>
 /// An enumerable set of <see cref="Location"/> objects, along with an output
 /// instance of the <see cref="ResultsMeta"/> class containing additional data.
 /// </returns>
 public async Task <(IList <Location>, ResultsMeta)> GetLocationsAsync(
     LocationFilter filter,
     CancellationToken cancellationToken)
 {
     return(await GetLocationsAsync(filter, null, cancellationToken).ConfigureAwait(false));
 }
Esempio n. 24
0
 /// <summary>
 /// Retrieve Locations.
 /// </summary>
 /// <remarks>
 /// Retrieves a list of all locations associated with your company,
 /// with optional filters to narrow down the results.
 /// </remarks>
 /// <param name="filter">
 /// An instance of the <see cref="LocationFilter"/> class, for narrowing down the results.
 /// </param>
 /// <param name="options">
 /// An instance of the <see cref="RequestOptions"/> class, for customizing method processing.
 /// </param>
 /// <returns>
 /// An enumerable set of <see cref="Location"/> objects, along with an output
 /// instance of the <see cref="ResultsMeta"/> class containing additional data.
 /// </returns>
 public (IList <Location>, ResultsMeta) GetLocations(
     LocationFilter filter,
     RequestOptions options)
 {
     return(AsyncUtil.RunSync(() => GetLocationsAsync(filter, options)));
 }
        public LocationFilterTests()
        {
            var services = ConfigureDi.BuildDi();

            locationFilter = services.GetRequiredService <LocationFilter>();
        }
 private void typeComboBox_SelectedIndexChanged(object sender, EventArgs e)
 {
     m_Filter = ( LocationFilter )typeComboBox.SelectedItem;
     ShowCurrentFolder( m_CurrentFolder );
 }
 protected void ToString(List <string> toStringOutput)
 {
     toStringOutput.Add($"LoyaltyAccountFilter = {(LoyaltyAccountFilter == null ? "null" : LoyaltyAccountFilter.ToString())}");
     toStringOutput.Add($"TypeFilter = {(TypeFilter == null ? "null" : TypeFilter.ToString())}");
     toStringOutput.Add($"DateTimeFilter = {(DateTimeFilter == null ? "null" : DateTimeFilter.ToString())}");
     toStringOutput.Add($"LocationFilter = {(LocationFilter == null ? "null" : LocationFilter.ToString())}");
     toStringOutput.Add($"OrderFilter = {(OrderFilter == null ? "null" : OrderFilter.ToString())}");
 }
Esempio n. 28
0
        public async Task <IHttpActionResult> GetLocations(LocationFilter filter)
        {
            var locations = await locationManager.GetLocationsAsync(filter);

            return(Ok(locations));
        }
Esempio n. 29
0
        private IQueryable <TripEntity> ApplyFiltering(IQueryable <TripEntity> queryable, LocationFilter locationFilter)
        {
            if (locationFilter.StartDate.HasValue)
            {
                queryable = queryable.Where(x => x.StartLocation.DateTime >= locationFilter.StartDate.Value);
            }

            if (locationFilter.EndDate.HasValue)
            {
                queryable = queryable.Where(x => x.EndLocation.DateTime <= locationFilter.EndDate.Value);
            }

            // TODO
            // if (locationFilter.MinSpeed.HasValue)
            // {
            //     queryable = queryable.Where(x => x.Speed >= locationFilter.MinSpeed.Value);
            // }
            //
            // if (locationFilter.MaxSpeed.HasValue)
            // {
            //     queryable = queryable.Where(x => x.Speed <= locationFilter.MaxSpeed.Value);
            // }
            //
            // if (locationFilter.MinAltitude.HasValue)
            // {
            //     queryable = queryable.Where(x => x.Altitude >= locationFilter.MinAltitude.Value);
            // }
            //
            // if (locationFilter.MaxAltitude.HasValue)
            // {
            //     queryable = queryable.Where(x => x.Altitude <= locationFilter.MaxAltitude.Value);
            // }

            return(queryable);
        }
Esempio n. 30
0
 public IList <DbLocation> GetAllWithFilter(LocationFilter model)
 {
     return(GetAllWithFilterQueryable(model).ToList());
 }
Esempio n. 31
0
 public IPagedList <DbLocation> GetAllPagedWithFilter(int page, int itemsPerPage, LocationFilter model)
 {
     return(GetAllWithFilterQueryable(model).ToPagedList(page, itemsPerPage));
 }