Exemplo n.º 1
0
        public QueryResult<AdRealty> GetAds(string query, string priceMin, string priceMax, string sortBy, string sortDirection, string offset, string limit)
        {
            Query q = new Query();

            if (!string.IsNullOrEmpty(query))
            {
                q.AddFilter("TextFilter", query);
            }

            double? _priceMin = UriParamsHelper.ParseDouble(priceMin);
            if (_priceMin.HasValue)
            {
                q.AddFilter("PriceMin", _priceMin);
            }

            double? _priceMax = UriParamsHelper.ParseDouble(priceMax);
            if (_priceMax.HasValue)
            {
                q.AddFilter("PriceMax", _priceMax);
            }

            if (!string.IsNullOrEmpty(sortBy))
            {
                SortOrder? _sortOrder = UriParamsHelper.ParseEnum<SortOrder>(sortDirection, SortOrder.Ascending);
                q.AddSort(sortBy, _sortOrder.Value);
            }

            q.Start = UriParamsHelper.ParseInt(offset, 0);
            q.Limit = UriParamsHelper.ParseInt(limit, 100);
            q.AddFields("Metadata", "HistoryLength");

            var result = Managers.AdManager.GetAds(q);
            return new QueryResult<AdRealty>(result.Items.OfType<AdRealty>().ToList(), result.TotalCount);
        }
Exemplo n.º 2
0
        public MainViewModel()
        {
            TotalAdsCount = Managers.AdManager.GetAds().Count;

            Query query = new Query(0, 1);
            query.AddFilter("IsNew", true);
            NewAdsCount = Managers.AdManager.GetAds(query).TotalCount.Value;
        }
Exemplo n.º 3
0
 protected void FillDetails(Action<OperationState> stateCallback, Action completedCallback, CancellationToken cancelationToken)
 {
     Query query = new Query();
     query.AddFilter("DetailsDownloadStatus", DetailsDownloadStatus.NotDownloaded);
     query.AddSort("CollectDate", SortOrder.Descending);
     var ads = Repositories.AdsRepository.GetList(query).Items;
     FillDetails(stateCallback, completedCallback, cancelationToken, ads);
 }
Exemplo n.º 4
0
        private void StartLoadItems()
        {
            Query query = new Query();
            query.AddSort(SortBySelectedItem.Key, SortOrderSelectedItem.Key);
            query.AddFields("LinkedAdsCount");
            query.AddFields("HistoryLength");

            if (!string.IsNullOrEmpty(TextFilter))
            {
                query.AddFilter("TextFilter", TextFilter);
            }

            if (PriceMin.HasValue && PriceMin.Value > 0)
            {
                query.AddFilter("PriceMin", PriceMin.Value);
            }
            if (PriceMax.HasValue && PriceMax.Value > 0)
            {
                query.AddFilter("PriceMax", PriceMax.Value);
            }

            _loadItemsOperation.RunAsync(query);
        }