/// <summary>
        /// Initializes a new instance of the <see cref="PhoenixImperator.Pages.OrderSelectorPage"/> class.
        /// </summary>
        /// <param name="position">Position.</param>
        public OrderSelectorPage(Position position) : base("New Order")
        {
            BackgroundColor = Color.Black;

            AddListViewWithSearchBar(typeof(TextCell), Orders, (sender, e) => {
                Phoenix.Application.OrderTypeManager.Get(((OrderType)e.Item).Id, (orderType) => {
                    Order order = new Order {
                        PositionId  = position.Id,
                        OrderType   = orderType,
                        OrderTypeId = orderType.Id
                    };
                    OrderEditPage editPage = new OrderEditPage(order);
                    Device.BeginInvokeOnMainThread(() => {
                        RootPage.Root.NextPageAfterModal(editPage);
                    });
                });
            });

            Button cancelButton = new Button {
                Text      = "Cancel",
                TextColor = Color.White
            };

            cancelButton.Clicked += (sender, e) => {
                Device.BeginInvokeOnMainThread(() => {
                    RootPage.Root.DismissModal();
                });
            };

            PageLayout.Children.Add(cancelButton);

            Phoenix.Application.OrderTypeManager.GetOrderTypesForPosition((Position.PositionFlag)position.PositionType, (results) => {
                UpdateOrders(results);
            });
        }
        public void WhenIChangeBirthdateAs(string birthDate)
        {
            pageInAnotherTab = Session.FindWindow("Отчет").FindXPath("/html");
            OrderMainPage orderMainPage = new OrderMainPage(pageInAnotherTab);

            orderMainPage.EditButtonClick();
            OrderEditPage orderEditPage = new OrderEditPage(pageInAnotherTab);

            orderEditPage.FillBirthdateField(birthDate);
            orderEditPage.SaveButtonClick();
            //ScenarioContext.Current.Pending();
        }
Beispiel #3
0
        public void WhenIChangeWeightAs(string weight)
        {
            pageInAnotherTab = Session.FindWindow("Отчет").FindXPath("/html");
            OrderMainPage orderMainPage = new OrderMainPage(pageInAnotherTab);

            orderMainPage.EditButtonClick();
            OrderEditPage orderEditPage = new OrderEditPage(pageInAnotherTab);

            orderEditPage.FillWeigthField(weight);
            orderEditPage.SaveButtonClick();
            //ScenarioContext.Current.Pending();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="PhoenixImperator.Pages.OrderSelectorPage"/> class.
        /// </summary>
        /// <param name="position">Position.</param>
        public OrderSelectorPage(Position position)
            : base("New Order")
        {
            BackgroundColor = Color.Black;

            AddListViewWithSearchBar (typeof(TextCell), Orders, (sender, e) => {
                Phoenix.Application.OrderTypeManager.Get(((OrderType)e.Item).Id,(orderType) => {
                    Order order = new Order{
                        PositionId = position.Id,
                        OrderType = orderType,
                        OrderTypeId = orderType.Id
                    };
                    OrderEditPage editPage = new OrderEditPage(order);
                    Device.BeginInvokeOnMainThread(() => {
                        RootPage.Root.NextPageAfterModal(editPage);
                    });
                });
            });

            Button cancelButton = new Button {
                Text = "Cancel",
                TextColor = Color.White
            };

            cancelButton.Clicked += (sender, e) => {
                Device.BeginInvokeOnMainThread(() => {
                    RootPage.Root.DismissModal();
                });
            };

            PageLayout.Children.Add (cancelButton);

            Phoenix.Application.OrderTypeManager.GetOrderTypesForPosition ((Position.PositionFlag)position.PositionType, (results) => {
                UpdateOrders(results);
            });
        }
Beispiel #5
0
        private void AddOrdersTab()
        {
            AddContentTab("Orders", "icon_orders.png");
            ordersTab = currentTab;

            ListView ordersList = null;

            Button clearOrdersButton = new Button {
                Text              = "Clear Orders",
                TextColor         = Color.White,
                BackgroundColor   = Color.Red,
                HorizontalOptions = LayoutOptions.FillAndExpand,
            };

            clearOrdersButton.Clicked += async(sender, e) => {
                bool confirm = await currentTab.DisplayAlert("Clear Orders", "Are you sure?", "Yes", "No");

                if (confirm)
                {
                    Phoenix.Application.OrderManager.ClearOrders(CurrentPosition.Id, (results) => {
                        Orders = new ObservableCollection <Order> (results);
                        Device.BeginInvokeOnMainThread(() => {
                            ordersList.ItemsSource = Orders;
                        });
                        SwitchToOrdersTab();
                    });
                }
            };

            Button copyOrdersButton = new Button {
                Text              = "Copy Orders",
                TextColor         = Color.White,
                BackgroundColor   = Color.Blue,
                HorizontalOptions = LayoutOptions.FillAndExpand,
            };

            copyOrdersButton.Clicked += (sender, e) => {
                PositionSelectorPage page = new PositionSelectorPage((Position.PositionFlag)CurrentPosition.PositionType, (position) => {
                    Phoenix.Application.OrderManager.CopyOrders(CurrentPosition.Id, position.Id, (results) => {
                        EntityPageBuilderFactory.ShowEntityPage <Position>(Manager, position.Id, (int)PositionPageBuilder.PositionTab.Orders);
                    });
                });
                RootPage.Root.NextPageModal(page);
            };

            StackLayout buttonBar = new StackLayout {
                Orientation       = StackOrientation.Horizontal,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                Children          =
                {
                    clearOrdersButton,
                    copyOrdersButton
                }
            };

            currentTab.PageLayout.Children.Add(buttonBar);

            ordersList = currentTab.AddListView(typeof(OrderViewCell), null, (sender, e) => {
                currentTab.Spinner.IsRunning = true;
                Phoenix.Application.OrderManager.Get(((Order)e.Item).Id, (order) => {
                    OrderEditPage page = new OrderEditPage(order);
                    Device.BeginInvokeOnMainThread(() => {
                        RootPage.Root.NextPage(page);
                        currentTab.Spinner.IsRunning = false;
                    });
                });
            });

            Button addOrderButton = new Button {
                Text            = "Add Order",
                TextColor       = Color.White,
                BackgroundColor = Color.Blue
            };

            addOrderButton.Clicked += (sender, e) => {
                OrderSelectorPage page = new OrderSelectorPage(CurrentPosition);
                RootPage.Root.NextPageModal(page);
            };
            currentTab.PageLayout.Children.Add(addOrderButton);

            currentTab.AddHelpLabel("Tap an order to edit. Swipe left to delete an order.");

            ordersList.IsRefreshing = true;

            Phoenix.Application.OrderManager.AllForPosition(CurrentPosition.Id, (results) => {
                if (results.Count > 0)
                {
                    UpdateOrders(results);
                    Device.BeginInvokeOnMainThread(() => {
                        ordersList.IsRefreshing = false;
                        ordersList.ItemsSource  = Orders;
                    });
                }
                else
                {
                    Phoenix.Application.OrderManager.FetchForPosition(CurrentPosition.Id, (fetchResults, ex) => {
                        if (ex == null)
                        {
                            UpdateOrders(fetchResults);
                        }
                        else
                        {
                            Orders = new ObservableCollection <Order>();
                            ShowErrorAlert(ex);
                        }
                        Device.BeginInvokeOnMainThread(() => {
                            ordersList.IsRefreshing = false;
                            ordersList.ItemsSource  = Orders;
                        });
                    });
                }
            });
        }