示例#1
0
        public void Order()
        {
            if (IsSomethingOrdered)
            {
                var notOrderedItems = AddedElements.Where(x => x.Ordered == false).ToArray();
                _tableConnectionProvider.OrderMoreItems(notOrderedItems);
                foreach (var item in notOrderedItems)
                {
                    //Zakomentowane, aby lepiej odzwierciedlić aktualny stan zamówienia. Ponadto, łatwiej tak będzie zaznaczyć konkretny element zamówienia jako gotowy.

                    //AddedElements.Remove(item);
                    //var sameTypeElement = AddedElements.FirstOrDefault(x => x.Title == item.Title);
                    //if (sameTypeElement != null)
                    //	sameTypeElement.Quantities += item.Quantities;
                    //else
                    //{
                    item.Ordered = true;
                    //AddedElements.Add(item);
                    //}
                }
            }
            else
            {
                _tableConnectionProvider.MakeNewOrder(AddedElements);
                foreach (var element in AddedElements)
                {
                    element.Ordered = true;
                }
                IsSomethingOrdered = true;
            }

            AddedElements.Refresh();
        }
示例#2
0
        private void TableAppSubscriber_OrderItemStateChangedEvent(object sender, OrderItemState e)
        {
            var element =
                AddedElements.FirstOrDefault(omi => omi.Id == e.MenuItemId && omi.Quantities == e.Quantity && omi.Ready != e.Ready);                 //Może zamiast sprawdzania po menuitemid i quantities (nie gwarantuje unikalności), lepiej przekazywać menuitemquantityId i po tym sprawdzać ?

            if (element != null)
            {
                element.Ready = e.Ready;
            }

            AddedElements.Refresh();
        }
示例#3
0
        public void AddNewItem(MenuItemView addingMenuItem)
        {
            var element = AddedElements.FirstOrDefault(x => x.Id == addingMenuItem.MenuItemId && !x.Ordered);

            if (element != null)
            {
                element.Quantities++;
                AddedElements.Refresh();
            }
            else
            {
                AddedElements.Add(new OrderMenuItemModel()
                {
                    Id         = addingMenuItem.MenuItemId,
                    Price      = addingMenuItem.Price,
                    Ordered    = false,
                    Quantities = 1,
                    Title      = addingMenuItem.Title
                });
            }

            TotalPrice += addingMenuItem.Price;
        }