public static void FilterByPriceRange(FilterPage page, int?minPrice, int?maxPrice)
        {
            string url = page.GetDriver().Url;

            SetPrice(page, minPrice, maxPrice).SubmitPriceFilter();
            WaitingExtensions.WaitUntilUrlIsChanged(page, url);
        }
Esempio n. 2
0
        public override void InitilizeFunc(object obj = null)
        {
            LoadingMarkers = true;
            var lastFilterSettings =
                ApplicationSettings.DataBase.FilterSettingses.LastOrDefault();

            if (lastFilterSettings == null)
            {
                LoadingMarkers = false;
                Filter         = new FilterPage(MapRegion);
            }
            else
            {
                Task.Run((() =>
                {
                    Filter = new FilterPage(lastFilterSettings);
                    Device.BeginInvokeOnMainThread(
                        () =>
                    {
                        Pins =
                            new ObservableCollection <TKCustomMapPin>(
                                Filter.CurrentViewModel.SelectedPins.Select(item => item.Pin));
                    });
                }));
            }
            LoadingMarkers = false;
        }
        private void Addresses_CollectionChanged()
        {
            Summary.GetBindingExpression(TextBlock.TextProperty).UpdateTarget();
            Summary.GetBindingExpression(TextBlock.ForegroundProperty).UpdateTarget();

            FilterPage.GetBindingExpression(AvalonWizard.WizardPage.AllowNextProperty).UpdateTarget();
        }
Esempio n. 4
0
        public void ShowFilter()
        {
            var filterPage = new FilterPage();

            filterPage.BindingContext = this;
            Navigation.PushModalAsync(filterPage);
        }
        public static FilterPage ClickCheckbox(FilterPage page, string name)
        {
            string url = page.GetDriver().Url;
            Action <IWebElement> act0 = (elem) => elem.Click();

            WaitingExtensions.WaitUntilElementAppears(act0, page.MoreIzdButton);
            if (!ConstantCollectionsExtensions.RussianLetters.Contains(name[0]))
            {
                for (int i = 0; i < page.CheckboxIzdSet.Count; i++)
                {
                    if (page.CheckboxIzdSet[i].GetText().IndexOf(name + " (") == 0)
                    {
                        if (page.CheckboxIzdSet[i].GetText().Equals(name + " (0)"))
                        {
                            throw new Exception("No products with such filtering parameters.");
                        }
                        page.CheckboxIzdSet[i].Click();
                        break;
                    }
                }
            }
            else
            {
                int j = page.CheckboxIzdSet.Count;
                int i = 0;
                while (page.CheckboxIzdSet[i].GetText()[0] != name[0])
                {
                    if (name[0] < page.CheckboxIzdSet[j / 2].GetText()[0])
                    {
                        j = (j - i) / 2;
                    }
                    else
                    {
                        i = i + (j - i) / 2;
                    }
                }
                int k = i - 1;
                while (page.CheckboxIzdSet[k].GetText()[0] == name[0] && page.CheckboxIzdSet[k].GetText().IndexOf(name + " (") != 0)
                {
                    k--;
                }
                if (page.CheckboxIzdSet[k].GetText().IndexOf(name + " (") != 0)
                {
                    k = i + 1;
                    while (page.CheckboxIzdSet[k].GetText()[0] == name[0] && page.CheckboxIzdSet[k].GetText().IndexOf(name + " (") != 0)
                    {
                        k++;
                    }
                }

                if (page.CheckboxIzdSet[k].GetText().Equals(name + " (0)"))
                {
                    throw new Exception("No products with such filtering parameters.");
                }
                page.CheckboxIzdSet[k].Click();
            }
            WaitingExtensions.WaitUntilUrlIsChanged(page, url);
            return(page);
        }
Esempio n. 6
0
        public static void BuyElement(FilterPage page, int elementIndex)
        {
            var url = page.GetDriver().Url;
            Action <IWebElement> act0 = (elem) => elem.Click();

            WaitingExtensions.WaitUntilElementAppears(act0, page.BuyButtonSet[elementIndex]);
            WaitingExtensions.WaitUntilUrlIsChanged(page, url);
        }
Esempio n. 7
0
        public ActionResult BrandList(string search, decimal?down, decimal?up)
        {
            List <ProductBrand> brands = _brandBll.BrandsOfProduct(search, down, up);

            _filterPage = new FilterPage {
                BrandsOfProduct = brands
            };
            return(PartialView("_BrandFilter", _filterPage));
        }
Esempio n. 8
0
        public void WhenIFilter(int minPrice, int maxPrice)
        {
            var pageSource       = driver.PageSource;
            var booksResultsPage = new FilterPage(driver);

            FilteringContext.FilterByPriceRange(booksResultsPage, minPrice, maxPrice);
            wait.Until(d => d.PageSource != pageSource);
            ScenarioContext.Current.Set(new KeyValuePair <int, int>(minPrice, maxPrice), "filterLimits");
        }
Esempio n. 9
0
        public void ThenFilterIsCorrect()
        {
            var limits           = ScenarioContext.Current.Get <KeyValuePair <int, int> >("filterLimits");
            var booksResultsPage = new FilterPage(driver);

            ResultSetContext.SelectElement(booksResultsPage, 0);
            var itemPage = new GoodsItemPage(driver);

            GoodStateVerificationContext.VerifyItemPrice(itemPage, limits.Key, limits.Value);
        }
Esempio n. 10
0
        public void NegativeMinPriceShouldUpdatePriceToMinimalAvailable()
        {
            //Arrange
            var booksResultsPage   = new FilterPage(driver);
            var minPriceValueToSet = 20;
            var maxPriceValueToSet = 250;

            //Act
            FilteringContext.FilterByPriceRange(booksResultsPage, minPriceValueToSet, maxPriceValueToSet);

            //Assert
            (FilteringContext.VerifyMinPriceValue(booksResultsPage, minPriceValueToSet) &&
             FilteringContext.VerifyMaxPriceValue(booksResultsPage, maxPriceValueToSet)).Should().BeTrue();
        }
Esempio n. 11
0
        public void FilterByPrice()
        {
            //Arrange
            var booksResultsPage   = new FilterPage(driver);
            var bookPage           = new GoodsItemPage(driver);
            var minpriceValueToSet = 20;
            var maxpriceValueToSet = 250;

            //Act
            FilteringContext.FilterByPriceRange(booksResultsPage, minpriceValueToSet, maxpriceValueToSet);
            ResultSetContext.SelectElement(booksResultsPage, 0);

            //Assert
            GoodStateVerificationContext.VerifyItemPrice(bookPage, minpriceValueToSet, maxpriceValueToSet);
        }
 public static int SerchStandurt(FilterPage page, string name)
 {
     for (int i = 0; i < page.Publishing.Count; i++)
     {
         if (page.Publishing[i].GetText().IndexOf(name + " (") == 0)
         {
             if (page.Publishing[i].GetText().Equals(name + " (0)"))
             {
                 throw new Exception("No products with such filtering parameters.");
             }
             return(i);
         }
     }
     return(-1);
 }
        public static FilterPage ClickCheckbox(FilterPage page, string name, int howlongIcnwait)
        {
            string url = page.GetDriver().Url;
            Action <IWebElement> act0 = (elem) => elem.Click();

            WaitingExtensions.WaitUntilElementAppears(act0, page.MoreIzdButton, howlongIcnwait);
            int i = SerchStandurt(page, name);

            if (i == -1)
            {
                throw new Exception("No products with such filtering parameters.");
            }
            page.Publishing[i].Click();
            WaitingExtensions.WaitUntilUrlIsChanged(page, url, howlongIcnwait);
            return(page);
        }
        internal MainPageViewModel(IProgress <ProgressReportModel> i_ProgressReporter, Dictionary <EAppTab, SvgCachedImage> i_AppTabs)
        {
            waitingPage      = new WaitingPage();
            progressReporter = i_ProgressReporter;
            ProgressReportModel report = new ProgressReportModel(k_NumberOfInitializations);

            updateReporter("Initializing filter...", report);
            FilterIndicator = new FilterIndicatorViewModel();
            FilterPage      = new FilterPage(FilterIndicator);
            updateReporter("Filter initialized correctly", report);

            updateReporter("Fetching account...", report);
            LoginContext = new LoginPageViewModel();
            updateReporter("Account initialized.", report);

            initPagesCollectionHelper(report, i_AppTabs);
        }
        internal async void ResetHierarchyToRootLevel()
        {
            OnContentViewUpdateEvent(this, new UpdatedContentEventArgs(EContentUpdateType.Buffering));

            await Task.Factory.StartNew(() =>
            {
                try
                {
                    FilterPage = new FilterPage(FilterIndicator);
                    FilterIndicator.UpdateCurrentPath();
                }catch (AggregateException ex)
                {
                    HandleExceptionVisibility(ex.InnerException);
                }
            });

            OnContentViewUpdateEvent(this, new UpdatedContentEventArgs(EContentUpdateType.Pop));
        }
Esempio n. 16
0
        /// <summary>
        /// Finds Paginated Bandera
        /// </summary>
        /// <param name="viewModel">Injected <see cref="FilterPage"/></param>
        /// <returns>Instance of <see cref="Task{ViewPage{ViewBandera}}"/></returns>
        public async Task <ViewPage <ViewBandera> > FindPaginatedBandera(FilterPage @viewmodel)
        {
            ViewPage <ViewBandera> @page = new()
            {
                Length = Context.Bandera.TagWith("CountAllBandera").Count(),
                Index  = @viewmodel.Index,
                Size   = @viewmodel.Size,
                Items  = Mapper.Map <IList <ViewBandera> >(await Context.Bandera
                                                           .TagWith("FindPaginatedBandera")
                                                           .AsQueryable()
                                                           .AsNoTracking()
                                                           .AsSplitQuery()
                                                           .Skip(@viewmodel.Index * @viewmodel.Size)
                                                           .Take(@viewmodel.Size)
                                                           .ToListAsync())
            };

            return(@page);
        }
        /// <summary>
        /// Finds Paginated Poblacion
        /// </summary>
        /// <param name="viewModel">Injected <see cref="FilterPage"/></param>
        /// <returns>Instance of <see cref="Task{ViewPage{ViewPoblacion}}"/></returns>
        public async Task <ViewPage <ViewPoblacion> > FindPaginatedPoblacion(FilterPage @viewmodel)
        {
            ViewPage <ViewPoblacion> @page = new()
            {
                Length = Context.Poblacion.TagWith("CountAllPoblacion").Count(),
                Index  = @viewmodel.Index,
                Size   = @viewmodel.Size,
                Items  = Mapper.Map <IList <ViewPoblacion> >(await Context.Poblacion
                                                             .TagWith("FindPaginatedPoblacion")
                                                             .AsQueryable()
                                                             .AsNoTracking()
                                                             .AsSplitQuery()
                                                             .Include(x => x.Provincia)
                                                             .Skip(@viewmodel.Index * @viewmodel.Size)
                                                             .Take(@viewmodel.Size)
                                                             .ToListAsync())
            };

            return(@page);
        }
Esempio n. 18
0
        public void BuyAProduct()
        {
            //Arrange
            var minpriceValueToSet = 100;
            var maxpriceValueToSet = 2000;
            var name = "‘ол≥о";

            var booksResultsPage = new FilterPage(driver);
            var SingleBookPage   = new GoodsItemPage(driver);
            var Basket           = new BasketPage(driver);
            var Checkout         = new CheckoutPage(driver);

            //Act
            FilteringContext.FilterByPriceRange(booksResultsPage, minpriceValueToSet, maxpriceValueToSet);
            FilteringContext.ClickCheckbox(booksResultsPage, name);
            ResultSetContext.BuyElement(booksResultsPage, 0);
            BasketContext.ProceedToCheckout(Basket);
            CheckoutContext.InputReceiverData(Checkout, "Testik", "0980000001", "*****@*****.**");
            //Assert
            GoodStateVerificationContext.VerifyMakeOrderIsClickable(Checkout);
        }
Esempio n. 19
0
        /// <summary>
        /// Finds Paginated Arenal
        /// </summary>
        /// <param name="viewModel">Injected <see cref="FilterPage"/></param>
        /// <returns>Instance of <see cref="Task{ViewPage{ViewArenal}}"/></returns>
        public async Task <ViewPage <ViewArenal> > FindPaginatedArenal(FilterPage @viewmodel)
        {
            ViewPage <ViewArenal> @page = new()
            {
                Length = Context.Arenal.TagWith("CountAllArenal").Count(),
                Index  = @viewmodel.Index,
                Size   = @viewmodel.Size,
                Items  = Mapper.Map <IList <ViewArenal> >(await Context.Arenal
                                                          .TagWith("FindPaginatedArenal")
                                                          .AsQueryable()
                                                          .AsNoTracking()
                                                          .Include(x => x.ArenalPoblaciones)
                                                          .ThenInclude(x => x.Poblacion)
                                                          .Include(x => x.Historicos)
                                                          .Skip(@viewmodel.Index * @viewmodel.Size)
                                                          .Take(@viewmodel.Size)
                                                          .ToListAsync())
            };

            return(@page);
        }
Esempio n. 20
0
        public void Buy()
        {
            //Arrange
            var minpriceValueToSet = 100;
            var maxpriceValueToSet = 2000;
            var name            = "ю-аю-аю-цю-кю-лю-цю";
            int HowCanlongIwait = 15000;

            var booksResultsPage = new FilterPage(driver);
            var SingleBookPage   = new GoodsItemPage(driver);
            var Basket           = new BasketPage(driver);
            var Checkout         = new CheckoutPage(driver);

            //Act
            FilteringContext.FilterByPriceRange(booksResultsPage, minpriceValueToSet, maxpriceValueToSet, HowCanlongIwait);
            FilteringContext.ClickCheckbox(booksResultsPage, name, HowCanlongIwait);
            ResultSetContext.BuyElement(booksResultsPage, 0, HowCanlongIwait);
            BasketContext.ProceedToCheckout(Basket, HowCanlongIwait);
            CheckoutContext.InputReceiverData(Checkout, HowCanlongIwait);//modification with volid date
            //Assert
            VerificationContext.VerifyMakeOrderIsClickable(Checkout);
        }
Esempio n. 21
0
        public void FilterByPrice()
        {
            //Arrange
            var booksResultsPage   = new FilterPage(driver);
            var bookPage           = new GoodsItemPage(driver);
            var minPriceValueToSet = 20;
            var maxPriceValueToSet = 250;

            //Act
            booksResultsPage
            .SetMinimumPrice(minPriceValueToSet)
            .SetMaximumPrice(maxPriceValueToSet)
            .FilterByPrice();

            booksResultsPage.ResultSet[0].Click();
            new WebDriverWait(driver, TimeSpan.FromSeconds(5)).Until(d => d.Url != _url);

            //Assert
            var actualPrice = bookPage.GetPrice();

            actualPrice.Should().BeGreaterOrEqualTo(minPriceValueToSet);
            actualPrice.Should().BeLessOrEqualTo(maxPriceValueToSet);
        }
Esempio n. 22
0
        public void TooLowMinPriceShouldUpdatePriceToMinimalAvailable()
        {
            //Arrange
            var booksResultsPage   = new FilterPage(driver);
            var minPriceValueToSet = 1;
            var maxPriceValueToSet = 250;

            //Act
            booksResultsPage
            .SetMinimumPrice(minPriceValueToSet)
            .SetMaximumPrice(maxPriceValueToSet)
            .FilterByPrice();

            //Assert
            Console.WriteLine($"Actual minimum price {booksResultsPage.GetMinPrice()}, expected greater than {minPriceValueToSet}");
            var isMinPriceCorrect = booksResultsPage.GetMinPrice() >= minPriceValueToSet;

            Console.WriteLine($"Actual maximum price {booksResultsPage.GetMinPrice()}, expected {maxPriceValueToSet}");
            var isMaxPriceCorrect = booksResultsPage.GetMaxPrice() == maxPriceValueToSet;

            var checksPassed = isMaxPriceCorrect && isMinPriceCorrect;

            checksPassed.Should().BeTrue("because filters should work correctly");
        }
 public static void FilterByPriceRange(FilterPage page, int?minPrice, int?maxPrice)
 {
     page.SetPrice(minPrice, maxPrice).SubmitPriceFilter();
 }
 public static bool VerifyMaxPriceValue(FilterPage page, int expectedValue)
 {
     Console.WriteLine($"Actual maximum price {page.GetMaxPrice()}, expected {expectedValue}");
     return(page.GetMaxPrice().Equals(expectedValue));
 }
 public static FilterPage SubmitPriceFilter(this FilterPage page)
 {
     page.FilterByPrice.Click();
     return(page);
 }
 public static FilterPage SetPrice(this FilterPage page, int?MinPrice, int?MaxPrice)
 {
     page.SetMinimumPrice(MinPrice);
     page.SetMaximumPrice(MaxPrice);
     return(page);
 }
Esempio n. 27
0
        // GET: Filter

        public ActionResult Index(string searchh, int?filter, int?pageNo, decimal?down, decimal?up)
        {
            ViewBag.istek = searchh;
            int pageIndex = pageNo ?? 1;

            IPagedList <Product> filteredProduct = _productBll.FilterProduct(searchh).ToPagedList(pageIndex, 24);

            List <ProductBrand> brands = _brandBll.BrandsOfProduct(searchh, down, up);

            if (!pageNo.HasValue && !filter.HasValue)
            {
                if (down.HasValue && up.HasValue)
                {
                    var take  = _productBll.PriceFilter(searchh, down.Value, up.Value).ToPagedList(pageIndex, 24);
                    var brand = brands;
                    _filterPage = new FilterPage {
                        Products = take, BrandsOfProduct = brand
                    };
                    return(PartialView("_Filter", _filterPage));
                }

                if (!string.IsNullOrEmpty(searchh))
                {
                    _filterPage = new FilterPage {
                        Products = filteredProduct, BrandsOfProduct = brands
                    };
                    return(View(_filterPage));
                }
                else
                {
                    IPagedList <Product> noneFilteredProduct = _productBll.ListThem().ToPagedList(pageIndex, 24);
                    _filterPage = new FilterPage {
                        Products = noneFilteredProduct, BrandsOfProduct = brands
                    };
                    return(View(_filterPage));
                }
            }
            else
            {
                string istek = (string)ViewBag.istek;
                try
                {
                    if (down.HasValue && up.HasValue && !filter.HasValue)
                    {
                        var take  = _productBll.PriceFilter(searchh, down.Value, up.Value).ToPagedList(pageIndex, 24);
                        var brand = brands;
                        _filterPage = new FilterPage {
                            Products = take, BrandsOfProduct = brand
                        };
                        return(PartialView("_Filter", _filterPage));
                    }


                    switch (filter)
                    {
                    //todo pricefilter modülünü filtrelerken brand combobox filtresini de filtrelemeye ekleyeceğiz.
                    case 1:
                        if (!down.HasValue && !up.HasValue)
                        {
                            IPagedList <Product> orderbyProduct = _productBll.FilterProduct(istek).OrderBy(x => x.Price).ToPagedList(pageIndex, 24);
                            _filterPage = new FilterPage
                            {
                                Products        = orderbyProduct,
                                BrandsOfProduct = brands
                            };
                            return(PartialView("_Filter", _filterPage)); break;
                        }
                        else
                        {
                            IPagedList <Product> orderbyProduct = _productBll.PriceFilter(istek, down.Value, up.Value).OrderBy(x => x.Price).ToPagedList(pageIndex, 24);
                            _filterPage = new FilterPage
                            {
                                Products        = orderbyProduct,
                                BrandsOfProduct = brands
                            };

                            return(PartialView("_Filter", _filterPage)); break;
                        }

                    case 2:
                        if (!down.HasValue && !up.HasValue)
                        {
                            IPagedList <Product> latestProduct = _productBll.FilterProduct(istek).OrderByDescending(x => x.Price).ToPagedList(pageIndex, 24);
                            _filterPage = new FilterPage
                            {
                                Products        = latestProduct,
                                BrandsOfProduct = brands
                            };
                            return(PartialView("_Filter", _filterPage)); break;
                        }
                        else
                        {
                            IPagedList <Product> descendingProduct = _productBll.PriceFilter(istek, down.Value, up.Value).OrderByDescending(x => x.Price).ToPagedList(pageIndex, 24);
                            _filterPage = new FilterPage
                            {
                                Products        = descendingProduct,
                                BrandsOfProduct = brands
                            };

                            return(PartialView("_Filter", _filterPage)); break;
                        }


                    case 3:
                        if (!down.HasValue && !up.HasValue)
                        {
                            IPagedList <Product> latestProduct = _productBll.FilterProduct(istek).OrderByDescending(x => x.AddedDate).ToPagedList(pageIndex, 24);
                            _filterPage = new FilterPage
                            {
                                Products        = latestProduct,
                                BrandsOfProduct = brands
                            };
                            return(PartialView("_Filter", _filterPage)); break;
                        }
                        else
                        {
                            IPagedList <Product> latestProduct = _productBll.PriceFilter(istek, down.Value, up.Value).OrderByDescending(x => x.AddedDate).ToPagedList(pageIndex, 24);
                            _filterPage = new FilterPage
                            {
                                Products        = latestProduct,
                                BrandsOfProduct = brands
                            };


                            return(PartialView("_Filter", _filterPage)); break;
                        }



                    default:
                        if (!string.IsNullOrEmpty(ViewBag.istek))
                        {
                            IPagedList <Product> noneFilteredProduct = _productBll.FilterProduct(searchh).ToPagedList(pageIndex, 24);
                            _filterPage = new FilterPage
                            {
                                Products = noneFilteredProduct
                            };
                            return(PartialView("_Filter", _filterPage));
                        }
                        else
                        {
                            IPagedList <Product> noneFilteredProduct = _productBll.ListThem().ToPagedList(pageIndex, 24);
                            _filterPage = new FilterPage
                            {
                                Products = noneFilteredProduct
                            };
                            return(PartialView("_Filter", _filterPage));
                        }
                    }
                }
                catch

                (Exception EX_NAME)
                {
                    IPagedList <Product> noneFilteredProduct = _productBll.ListThem().ToPagedList(pageIndex, 24);
                    _filterPage = new FilterPage
                    {
                        Products = noneFilteredProduct
                    };
                    return(PartialView("_Filter", _filterPage));
                }
            }
        }
Esempio n. 28
0
 public BirthYearFilterForm()
 {
     InitializeComponent();
     r_FilterPage = new FilterPage();
 }
Esempio n. 29
0
 public WorkingBlock(FilterPage page)
 {
     this.page    = page;
     page.Working = true;
 }
Esempio n. 30
0
 async void FilterButton_Click(object sender, EventArgs e)
 {
     var filterPage = new FilterPage(ViewModel);
     await Navigation.PushModalAsync(filterPage);
 }