예제 #1
0
        private async void ProductMenuClick(object sender, EventArgs e)
        {
            if (!(sender is SpButton button))
            {
                return;
            }

            if (!(button.Tag is Product product))
            {
                ParentForm.PresentMessage("Produs invalid. Redeschideti masa", MessageType.Error);
                return;
            }

            await AddProductInOrder(product);
        }
예제 #2
0
        private void SubMenuCategoryClick(object sender, EventArgs e)
        {
            if (!(sender is SpButton button))
            {
                return;
            }

            if (!(button.Tag is ITree <MenuCategory> category))
            {
                ParentForm.PresentMessage("Categorie invalida. Redeschideti masa", MessageType.Error);
                return;
            }

            ShowCategory(category);
        }
예제 #3
0
        private async Task SendOrder()
        {
            try
            {
                if ((_order.Items?.Count() ?? 0) <= 0)
                {
                    ParentForm.PresentMessage("Nu se poate trimite o comanda goala. Adaugati produse dupa incercati din nou.", MessageType.Warning);
                    return;
                }

                var order = await Application.Api(LoadingState).Order.SendOrder(_order);
                await OnOrderSent(new OrderSentEventArgs(order));
                await BackToTables();
            }
            catch (Exception ex)
            {
                GlobalHandler.Catch(ex, ParentForm);
            }
        }
예제 #4
0
        private void MainCategoryClick(object sender, EventArgs e)
        {
            if (!(sender is SpButton button))
            {
                return;
            }

            flowTop.Controls.OfType <SpButton>().ForEach(btn => btn.Selected = false);

            button.Selected = true;

            if (!(button.Tag is ITree <MenuCategory> category))
            {
                ParentForm.PresentMessage("Categorie invalida. Redeschideti masa", MessageType.Error);
                return;
            }

            ShowCategory(category);
        }
예제 #5
0
        private Task SplitItem(IFormSender formSender, OrderItem item, IContinuityDelegate after)
        {
            if (!float.TryParse(formSender.Result?.ToString() ?? string.Empty, out var result))
            {
                after.PresentMessage("Cantitate invalida", MessageType.Error, MessageDurationLength.Short);
                after.Close = false;
                return Task.CompletedTask;
            }

            var newQuantity = item.Quantity - result;

            SetQuantity(item, newQuantity);
            CreateOrderItem(item.Name, item.ProductId, result, item.UnitPrice);

            ParentForm.PresentMessage("Succes!", MessageType.Info, MessageDurationLength.Short);

            after.Close = true;

            return Task.CompletedTask;
        }
예제 #6
0
 private void btnLogout_Click(object sender, EventArgs e)
 {
     AuthenticationManager.Logout();
     ParentForm.PresentMessage("Logout successful", MessageType.Info, 1000);
 }