Beispiel #1
0
        private async void ToolbarItem_SearchBar_Activated(object sender, EventArgs e)
        {
            if (StuffsSearchBar.IsVisible)
            {
                await StuffsSearchBar.FadeTo(0, 350);

                StuffsSearchBar.IsVisible  = false;
                ToolbarItem_SearchBar.Icon = "Search.png";
            }
            else
            {
                StuffsSearchBar.IsVisible = true;
                await StuffsSearchBar.FadeTo(1, 350);

                ToolbarItem_SearchBar.Icon = "ClearSearch.png";
            }
        }
Beispiel #2
0
        public AddFreeProducts(SaleOrder SaleOrder, OrderPreviewForm OrderPreviewForm)
        {
            InitializeComponent();

            this.SaleOrder        = SaleOrder;
            this.OrderPreviewForm = OrderPreviewForm;

            ArticlesList.HasUnevenRows  = true;
            ArticlesList.SeparatorColor = Color.FromHex("A5ABB7");
            ArticlesList.ItemSelected  += ArticlesList_ItemSelected;
            CustomFreeProductStuffListCell.UnitNameTapEventHandler = (s, e) => {
                var StuffId = (Guid)((TappedEventArgs)e).Parameter;
                UnitNameClicked(StuffId);
            };
            CustomFreeProductStuffListCell.QuantityPlusTapEventHandler = (s, e) => {
                var StuffId = (Guid)((TappedEventArgs)e).Parameter;
                QuantityPlusClicked(StuffId);
            };
            CustomFreeProductStuffListCell.QuantityMinusTapEventHandler = (s, e) => {
                var StuffId = (Guid)((TappedEventArgs)e).Parameter;
                QuantityMinusClicked(StuffId);
            };
            CustomFreeProductStuffListCell.AddedQuantityTextBoxTapEventHandler = async(s, e) =>
            {
                var StuffId = (Guid)((TappedEventArgs)e).Parameter;
                FocusedAddedQuantityTextBoxStuffId = StuffId;
                var ArticleRow = ArticlesData.SingleOrDefault(a => a.StuffId == StuffId);
                if (ArticleRow != null)
                {
                    await Task.Delay(200);

                    ArticlesList.ScrollTo(ArticleRow, ScrollToPosition.Start, true);
                }
            };
            ArticlesList.ItemTemplate = new DataTemplate(typeof(CustomFreeProductStuffListCell));
            ArticlesListHeader.Children.Add(new CustomFreeProductStuffListCell().GetView(false));

            ToolbarItem_SearchBar            = new ToolbarItem();
            ToolbarItem_SearchBar.Text       = "جستجو";
            ToolbarItem_SearchBar.Icon       = "Search.png";
            ToolbarItem_SearchBar.Activated += ToolbarItem_SearchBar_Activated;
            ToolbarItem_SearchBar.Order      = ToolbarItemOrder.Primary;
            ToolbarItem_SearchBar.Priority   = 10;
            if (!this.ToolbarItems.Contains(ToolbarItem_SearchBar) && !StuffsSearchBar.IsVisible)
            {
                this.ToolbarItems.Add(ToolbarItem_SearchBar);
            }

            StuffsSearchBar.TextChanged += async(sender, args) => {
                var thisTextSearchId = Guid.NewGuid();
                LastSearchWhenTypingId = thisTextSearchId;
                await Task.Delay(1000);

                if (LastSearchWhenTypingId == thisTextSearchId)
                {
                    await FillArticlesData(args.NewTextValue);
                }
            };
            StuffsSearchBar.SearchButtonPressed += async(sender, args) =>
            {
                await StuffsSearchBar.FadeTo(0, 350);

                StuffsSearchBar.IsVisible  = false;
                ToolbarItem_SearchBar.Icon = "Search.png";
            };

            ShowingOrder = false;

            FillArticlesData("");

            RowAddedQuantityKeyboard = new MyKeyboard <AddedQuantityEditingArticleModel, decimal>
                                       (
                RowAddedQuantityKeyboardHolder,
                new Command((parameter) => {        //OnOK
                FocusedAddedQuantityTextBoxStuffId = null;
                CalculateTotalAddedDiscount();
            }),
                new Command((parameter) => {        //OnChange
                CalculateTotalAddedDiscount();
            })
                                       );

            CalculateTotalAddedDiscount();
        }