Exemplo n.º 1
0
 private static void SetAdditionalFilters(IAdvancedFiltersViewModel advancedFiltersViewModel, SearchQueryRequest searchQueryRequest)
 {
     foreach (var filterViewModel in advancedFiltersViewModel.AdditionalFilters.OfType <BindableFilterViewModel>())
     {
         SetValueByExpression(filterViewModel.BindingExpression, searchQueryRequest, filterViewModel);
     }
 }
Exemplo n.º 2
0
        public IQueryRequest Create(IQueryRequest originalRequest, IAdvancedFiltersViewModel advancedFiltersViewModel)
        {
            IQueryRequest result = originalRequest;

            if (originalRequest is SearchQueryRequest sourceSearchQueryRequest)
            {
                var searchQueryRequest = new SearchQueryRequest
                {
                    League = sourceSearchQueryRequest.League,
                    Query  =
                    {
                        Name    = sourceSearchQueryRequest.Query.Name,
                        Term    = sourceSearchQueryRequest.Query.Term,
                        Type    = sourceSearchQueryRequest.Query.Type,
                        Filters =
                        {
                            TypeFilters  =
                            {
                                Category = (OptionFilter)sourceSearchQueryRequest.Query.Filters.TypeFilters.Category?.Clone(),
                                Rarity   = (OptionFilter)sourceSearchQueryRequest.Query.Filters.TypeFilters.Rarity?.Clone()
                            }
                        }
                    }
                };

                SetStatFilters(advancedFiltersViewModel, searchQueryRequest);
                SetAdditionalFilters(advancedFiltersViewModel, searchQueryRequest);

                result = searchQueryRequest;
            }

            return(result);
        }
Exemplo n.º 3
0
        private static void SetStatFilters(IAdvancedFiltersViewModel advancedFiltersViewModel, SearchQueryRequest searchQueryRequest)
        {
            var enabledStatFilterViewModels = advancedFiltersViewModel.AllStatFilters.Where(f => f.IsEnabled == true);

            var statFilters = new StatFilters();

            foreach (var enabledStatFilterViewModel in enabledStatFilterViewModels)
            {
                StatFilter statFilter = CreateStatFilter(enabledStatFilterViewModel);

                statFilters.Filters.Add(statFilter);
            }

            searchQueryRequest.Query.Stats.Clear();
            searchQueryRequest.Query.Stats.Add(statFilters);
        }
Exemplo n.º 4
0
        public ItemSearchResultOverlayViewModel(
            IPoeTradeApiClient tradeClient,
            IItemListingsViewModelFactory itemListingsViewModelFactory,
            IQueryRequestFactory queryRequestFactory,
            IMediator mediator,
            IPricePredictionViewModel pricePredictionViewModel,
            IAdvancedFiltersViewModel advancedFiltersViewModel)
        {
            this.poeTradeApiClient            = tradeClient;
            this.itemListingsViewModelFactory = itemListingsViewModelFactory;
            this.queryRequestFactory          = queryRequestFactory;
            this.mediator        = mediator;
            this.PricePrediction = pricePredictionViewModel;
            this.AdvancedFilters = advancedFiltersViewModel;

            this.ExecuteAdvancedQueryCommand = ReactiveCommand.CreateFromTask(this.ExecuteAdvancedQueryAsync);
            this.ExecuteAdvancedQueryCommand.IsExecuting.ToProperty(this, x => x.IsBusy);
        }