Esempio n. 1
0
        public void AdvancedQuery_ReturnsOnlyMatchingRecordsWhenFilterSpecified_AnyWord()
        {
            var c = TestUtil.Client;

            const string valToMatch = "Basic";
            var          filter     = new DefaultFilterField(DefaultComparator.AnyWord, valToMatch, "products.product_name");

            var conn = new DefaultConnection(c);

            var criteria = new AdvancedQueryCriteria <SampleResult>(
                TestUtil.SampleIndices,
                null,
                null,
                new[] { filter });
            var query = new AdvancedQuery <SampleResult>(
                criteria,
                conn);

            var results = query.Execute();

            var all = results.Documents.All(
                x => x.Products.Any(
                    z => z.ProductName.Contains(valToMatch, StringComparison.OrdinalIgnoreCase)));

            Assert.NotEmpty(results.Documents);
            Assert.True(all);
        }
Esempio n. 2
0
        public void AdvancedQuery_CriteriaWorksCorrectly_Skip()
        {
            var c = TestUtil.Client;

            var conn = new DefaultConnection(c);

            var criteria = new AdvancedQueryCriteria <SampleResult>(
                TestUtil.SampleIndices,
                skip: 0);
            var query = new AdvancedQuery <SampleResult>(
                criteria,
                conn);
            var criteria2 = new AdvancedQueryCriteria <SampleResult>(
                TestUtil.SampleIndices,
                skip: 1);
            var query2 = new AdvancedQuery <SampleResult>(
                criteria2,
                conn);

            var results  = query.Execute();
            var results2 = query2.Execute();

            var r  = results.Documents.ElementAt(1) as SampleResult;
            var r2 = results2.Documents.ElementAt(0) as SampleResult;

            Assert.Equal(r.OrderId, r2.OrderId);
        }
Esempio n. 3
0
        public void AdvancedQuery_ReturnsOnlyMatchingRecordsWhenFilterSpecified_Equal()
        {
            var c = TestUtil.Client;

            const string valToMatch = "Eddie";
            var          filter     = new DefaultFilterField(DefaultComparator.Equal, valToMatch, "customer_first_name");

            var conn = new DefaultConnection(c);

            var criteria = new AdvancedQueryCriteria <SampleResult>(
                TestUtil.SampleIndices,
                null,
                null,
                new[] { filter });
            var query = new AdvancedQuery <SampleResult>(
                criteria,
                conn);

            var results = query.Execute();

            var all = results.Documents.All(x => x.CustomerFirstName == valToMatch);

            Assert.NotEmpty(results.Documents);
            Assert.True(all);
        }
        // Token: 0x06000271 RID: 625 RVA: 0x00013498 File Offset: 0x00011698
        public void moreConditionBtn_Click(object sender, EventArgs e)
        {
            AdvancedQuery advancedQuery = new AdvancedQuery();

            advancedQuery.setQueryAction(this);
            advancedQuery.TopLevel = true;
            advancedQuery.ShowDialog(this);
        }
        public void Category_strings_are_correct(string categoryText, Categories categories)
        {
            var expected = terms + " category:" + categoryText;
            var actual   = new AdvancedQuery(terms)
            {
                Categories = categories
            }.ToString();

            Assert.Equal(expected, actual);
        }
        public void Language_codes_are_decoded_correctly(string languageCode, Language language)
        {
            var expected = terms + " +lang:" + languageCode;
            var actual   = new AdvancedQuery(terms)
            {
                Language = language
            }.ToString();

            Assert.Equal(expected, actual);
        }
        public void Can_overwrite_exact_matches()
        {
            var expected = "\"new\"";
            var actual   = new AdvancedQuery("old", true)
            {
                ExactMatchTerms = expected.Trim('"')
            }.ToString();

            Assert.Equal(expected, actual);
        }
        public void Can_overwrite_search_terms()
        {
            var expected = "new";
            var actual   = new AdvancedQuery("old")
            {
                SearchTerms = expected
            }.ToString();

            Assert.Equal(expected, actual);
        }
        public void Whitespace_and_illegal_characters_are_removed()
        {
            var expected = @"search something -exclude -these -words ""match these exactly""";
            var actual   = new AdvancedQuery(" search   something ")
            {
                ExcludedTerms   = " exclude  these  words ",
                ExactMatchTerms = "match\"these\"exactly"
            }.ToString();

            Assert.Equal(expected, actual);
        }
        public void Invalid_size_units_do_not_affect_query(int minUnit, int maxUnit, string sizeText)
        {
            var expected = (terms + " " + sizeText).TrimEnd();
            var actual   = new AdvancedQuery(terms)
            {
                MinSize = new Size(1, (SizeUnit)minUnit),
                MaxSize = new Size(2, (SizeUnit)maxUnit)
            }.ToString();

            Assert.Equal(expected, actual);
        }
Esempio n. 11
0
        public async void AdvancedQuery_CanExecuteAsync()
        {
            var c = TestUtil.Client;

            var conn     = new DefaultConnection(c);
            var criteria = new AdvancedQueryCriteria <SampleResult>(
                TestUtil.SampleIndices);
            var query = new AdvancedQuery <SampleResult>(
                criteria,
                conn);

            var results = await query.ExecuteAsync();

            Assert.True(results != null);
        }
        public void Default_filters_do_not_affect_query()
        {
            var actual = new AdvancedQuery(terms)
            {
                ExcludedTerms   = "",
                ExactMatchTerms = "",
                MinSize         = new Size(0, SizeUnit.MB),
                MaxSize         = new Size(0, SizeUnit.GB),
                Age             = new Age(0, TimeUnit.Day, false),
                Categories      = Categories.Any,
                Language        = Language.Any,
                OnlyInFiles     = false
            }.ToString();

            Assert.Equal(terms, actual);
        }
Esempio n. 13
0
        public void AdvancedQuery_CanExecute()
        {
            var c = TestUtil.Client;

            var conn     = new DefaultConnection(c);
            var criteria = new AdvancedQueryCriteria <SampleResult>(
                TestUtil.SampleIndices);
            var query = new AdvancedQuery <SampleResult>(
                criteria,
                conn);

            var results = query.Execute();

            Assert.True(results != null);
            Assert.NotEmpty(results.Documents);
        }
Esempio n. 14
0
        public void AdvancedQuery_ReturnsNoBucketsWhenNoFieldsSpecified()
        {
            var c = TestUtil.Client;

            var conn     = new DefaultConnection(c);
            var criteria = new AdvancedQueryCriteria <SampleResult>(
                TestUtil.SampleIndices);
            var query = new AdvancedQuery <SampleResult>(
                criteria,
                conn);

            var results = query.Execute();

            Assert.True(results != null);
            Assert.NotEmpty(results.Documents);
            Assert.Empty((results as AdvancedQueryResults <SampleResult>)?.Buckets);
        }
        public void Invalid_size_amounts_do_not_affect_query(int minAmount, SizeUnit minUnit, int maxAmount, SizeUnit maxUnit)
        {
            var expected1 = terms + " >" + minAmount + minUnit;
            var actual1   = new AdvancedQuery(terms)
            {
                MinSize = new Size(minAmount, minUnit),
                MaxSize = new Size(maxAmount, maxUnit)
            }.ToString();

            var expected2 = terms + " <" + maxAmount + maxUnit;
            var actual2   = new AdvancedQuery(terms)
            {
                MaxSize = new Size(maxAmount, maxUnit),
                MinSize = new Size(minAmount, minUnit)
            }.ToString();

            Assert.Equal(new[] { expected1, expected2 }, new[] { actual1, actual2 });
        }
Esempio n. 16
0
        public void AdvancedQuery_CriteriaWorksCorrectly_Take()
        {
            var c = TestUtil.Client;

            const int _take = 25;

            var conn     = new DefaultConnection(c);
            var criteria = new AdvancedQueryCriteria <SampleResult>(
                TestUtil.SampleIndices,
                take: _take);
            var query = new AdvancedQuery <SampleResult>(
                criteria,
                conn);

            var results = query.Execute();

            Assert.Equal(25, results.Documents.Count());
        }
Esempio n. 17
0
        public void AdvancedQuery_ReturnsNoFieldsWhenEmptySpecified()
        {
            var c = TestUtil.Client;

            var conn     = new DefaultConnection(c);
            var criteria = new AdvancedQueryCriteria <SampleResult>(
                TestUtil.SampleIndices);
            var query = new AdvancedQuery <SampleResult>(
                criteria,
                conn);

            var results = query.Execute();

            var hasValues = TestUtil.DoAllTheseFieldsHaveValues(
                results.Documents.FirstOrDefault(),
                TestUtil.GetObjectFields(results.Documents.FirstOrDefault()).ToArray());

            Assert.True(hasValues);
        }
Esempio n. 18
0
        public void AdvancedQuery_ReturnsBucketsForSpecifiedFields()
        {
            var c = TestUtil.Client;

            var b = new[] { new DefaultBucketField("manufacturer.keyword") };

            var conn     = new DefaultConnection(c);
            var criteria = new AdvancedQueryCriteria <SampleResult>(
                TestUtil.SampleIndices,
                bucketFields: b);
            var query = new AdvancedQuery <SampleResult>(
                criteria,
                conn);

            var results = query.Execute();

            Assert.True(results != null);
            Assert.NotEmpty(results.Documents);
            Assert.NotEmpty((results as AdvancedQueryResults <SampleResult>)?.Buckets);
        }
Esempio n. 19
0
        public void AdvancedQuery_ReturnsAllRecordsWhenNoFilterSpecified()
        {
            var c = TestUtil.Client;

            const int expectedTotal = 4675;

            var conn = new DefaultConnection(c);

            var criteria = new AdvancedQueryCriteria <SampleResult>(
                TestUtil.SampleIndices,
                null,
                null,
                null);
            var query = new AdvancedQuery <SampleResult>(
                criteria,
                conn);

            var results = query.Execute();

            Assert.Equal(expectedTotal, results.Total);
        }
Esempio n. 20
0
        public void AdvancedQuery_CriteriaWorksCorrectly_Sort()
        {
            var c = TestUtil.Client;

            var sort = new[] { new DefaultSortField("order_id", true, 0) };

            var conn = new DefaultConnection(c);

            var criteria = new AdvancedQueryCriteria <SampleResult>(
                TestUtil.SampleIndices,
                sort);
            var query = new AdvancedQuery <SampleResult>(
                criteria,
                conn);

            var results = query.Execute();

            var actualFirst   = results.Documents.FirstOrDefault() as SampleResult;
            var intendedFirst = results.Documents.OrderBy(x => (x as SampleResult)?.OrderId).FirstOrDefault() as SampleResult;

            Assert.Equal(actualFirst.OrderId, intendedFirst.OrderId);
        }
        public void MonthIngredientChange(string item)
        {
            int index = MonthExpenditureLabels.IndexOf(item);
            ObservableCollection <string[]> result = AdvancedQuery.GetIngredientExpenditure(expenditure_month[index], expenditure_year[index]);

            IngredientSeries.Clear();
            // Debug log
            for (int i = 0; i < result.Count; i++)
            {
                IngredientSeries.Add
                (
                    new PieSeries
                {
                    Title  = result[i][1] + " (" + result[i][2] + ")",
                    Values = new ChartValues <ObservableValue> {
                        new ObservableValue(Double.Parse(result[i][3]))
                    },
                    DataLabels = true
                }
                );
            }
        }
Esempio n. 22
0
        public void AdvancedQuery_ReturnsOnlySpecifiedFields()
        {
            var c = TestUtil.Client;

            const string fieldToUse = "customer_full_name";//nameof(SampleResult.CustomerFullName);//

            var conn     = new DefaultConnection(c);
            var criteria = new AdvancedQueryCriteria <SampleResult>(
                TestUtil.SampleIndices,
                returnFields: new[] { new DefaultReturnField(fieldToUse) });
            var query = new AdvancedQuery <SampleResult>(
                criteria,
                conn);

            var results = query.Execute();

            var hasValues = TestUtil.DoOnlyTheseFieldsHaveValues(
                results.Documents.FirstOrDefault(),
                nameof(SampleResult.CustomerFullName));

            Assert.True(hasValues);
        }
Esempio n. 23
0
 /// <summary>
 /// Searches for torrents with the given advanced query.
 /// </summary>
 /// <param name="searchQuery">The advanced search query.</param>
 /// <param name="page">The requested page number. Must be greater than 0.</param>
 /// <exception cref="HttpRequestException"/>
 /// <remarks>Info hashes and IMDb IDs are treated as exact-match searches.</remarks>
 public static async Task <SearchResult> SearchTorrentAsync(AdvancedQuery searchQuery, int page = 1) =>
 await SearchTorrentAsync(searchQuery.ToString(), page);
        //private ObservableCollection<String> timeline;
        //private ObservableCollection<DateTime> listDate;

        public ReportManagementViewModel() : base()
        {
            listBillModel = ListBillModel.GetInstance();
            listBillModel.LoadAllBill();

            listRevenueModel     = ListRevenueModel.GetInstance();
            listExpenditureModel = ListExpenditureModel.GetInstance();

            ReportCollection = new LiveCharts.SeriesCollection();

            MonthRevenueLabels     = new ObservableCollection <String>();
            MonthExpenditureLabels = new ObservableCollection <String>();
            MonthReportLabels      = new ObservableCollection <string>();

            revenue_month     = new ObservableCollection <int>();
            revenue_year      = new ObservableCollection <int>();
            expenditure_month = new ObservableCollection <int>();
            expenditure_year  = new ObservableCollection <int>();
            overview_month    = new ObservableCollection <int>();
            overview_year     = new ObservableCollection <int>();

            // Calculate revenue
            revenue = new ObservableCollection <double>();
            ObservableCollection <String[]> result_revenue = ListBillModel.GetRevenueByDayAndMonth();

            for (int i = 0; i < result_revenue.Count; i++)
            {
                //Debug.LogOutput(result_revenue[i][0]);
                String item_timeline = result_revenue[i][0].ToString();
                double item_revenue  = Double.Parse(result_revenue[i][1].ToString());

                MonthRevenueLabels.Add(item_timeline);
                revenue_month.Add(Int32.Parse(result_revenue[i][2].ToString()));
                revenue_year.Add(Int32.Parse(result_revenue[i][3].ToString()));
                revenue.Add(item_revenue);
            }

            ReportCollection.Add(new ColumnSeries()
            {
                Title  = "Tổng thu",
                Values = new ChartValues <double>(revenue)
            });

            // Calculate expenditure
            expenditure = new ObservableCollection <double>();
            ObservableCollection <String[]> result_expenditure = ListImportationModel.GetExpenditureByDayAndMonth();

            for (int i = 0; i < result_expenditure.Count; i++)
            {
                Debug.LogOutput(result_expenditure[i][0]);
                String item_timeline    = result_expenditure[i][0].ToString();
                double item_expenditure = Double.Parse(result_expenditure[i][1].ToString());

                MonthExpenditureLabels.Add(item_timeline);
                expenditure_month.Add(Int32.Parse(result_expenditure[i][2].ToString()));
                expenditure_year.Add(Int32.Parse(result_expenditure[i][3].ToString()));
                expenditure.Add(item_expenditure);
            }

            ReportCollection.Add(new ColumnSeries()
            {
                Title  = "Tổng chi",
                Values = new ChartValues <double>(expenditure)
            });

            Formatter = value => value.ToString("N");

            // Calculate for MonthReportLabels: find min and max timeline
            ObservableCollection <string[]> overview_temp = new ObservableCollection <string[]>();

            overview_temp = AdvancedQuery.GetAllTimeline();
            for (int i = 0; i < overview_temp.Count; i++)
            {
                MonthReportLabels.Add(overview_temp[i][0]);
                overview_month.Add(Int32.Parse(overview_temp[i][1]));
                overview_year.Add(Int32.Parse(overview_temp[i][2]));
            }

            // Export Excel
            ExportExcelCommand = new DelegateCommand(ExportExcel);

            // Month report combobox
            MonthReportChangeCommand = new DelegateCommand <string>(MonthReportChange);

            // Month product combobox
            NotifyChanged("SelectedMonthProduct");
            MonthProductChangeCommand = new DelegateCommand <string>(MonthProductChange);

            // init product chart
            ProductSeries = new LiveCharts.SeriesCollection();

            // Month product combobox
            NotifyChanged("SelectedMonthIngredient");
            MonthIngredientChangeCommand = new DelegateCommand <string>(MonthIngredientChange);

            // init ingredient chart
            IngredientSeries = new LiveCharts.SeriesCollection();
        }