public PopupKeyboard(DGobject dg, ListCellGestureEventArgs e)
     : base(dg.Device)
 {
     _point = e;
     DG = new DGobject();
     DG = dg;
 }
 public List<Item> DecCountDish(ListCellGestureEventArgs e)
 {
     var count = Convert.ToInt32(e.Item.Cells[0].Value);
     if (count == 1) { return DeleteCardItem(e);}
     count--;
     ChangeCount(e, count);
     return null;
 }
 public void ChangeCount(string count, ListCellGestureEventArgs e)
 {
     try
     {
         Convert.ToSingle(count);
     }
     catch (FormatException)
     {
         return;
     }
     e.Item.Cells[0].Value = count;
     AddCountDish(e.Item.Cells[1].Value.ToString(), e.Item.Tag.ToString(), Convert.ToSingle(count), e.Item.TemplateName);
 }
 public List<Item> DeleteCardItem(ListCellGestureEventArgs e)
 {
     var id = e.Item.Cells[2].Value.ToString();
     _order.Dish.Remove(id); //Удаляем блюдо из _order
     //Удаляем строку из _lstOrders (чистим область и выводим _order)
     var items = new List<Item>();
     foreach (var p in _order.Dish)
     {
         var item = new Item();
         item.ItemLine.Add(p.Value.Count.ToString());
         item.ItemLine.Add(p.Value.NameDish); //Название блюда
         item.ItemLine.Add(p.Key); //id
         item.ItemLine.Add(p.Value.Marker);
         items.Add(item);
     }
     //Добавляем старый чек
     var old = ShowOrders();
     items.AddRange(old);
     return items;
 }
 //Счетчик к-ва одного блюда +/-
 public void AddCountDish(ListCellGestureEventArgs e)
 {
     var count = Convert.ToInt32(e.Item.Cells[0].Value);
     count++;
     ChangeCount(e, count);
 }
 private void ChangeCount(ListCellGestureEventArgs e, int count)
 {
     e.Item.Cells[0].Value = count.ToString();
     var id = e.Item.Cells[2].Value.ToString();
     var value = new Specification { Count = count, NameDish = e.Item.Cells[1].Value.ToString() };
     //XML нет в Dish
     if (e.Item.Cells[2].Value.ToString().Length < 4) return;
     _order.Dish.Remove(id);
     _order.Dish.Add(id, value);
 }
 void ClickMenuGestures(object sender, ListCellGestureEventArgs e)
 {
     var id = e.Item.Tag.ToString();
     switch (e.Gesture.Type)
     {
         case GestureType.CLICK: //Увеличиваем к-во блюд
             return;
         case GestureType.DOWN: //Уменьшаем к-во блюд
             break;
         case GestureType.LEFT: //Удаляем блюдо
             return;
         case GestureType.RIGHT: //Удаляем блюдо
             return;
         case GestureType.UP: //Увеличиваем к-во блюд
             break;
         case GestureType.LONG_TOUCH: //РЕЗЕРВ
             ShowDescription(id);
             return;
     }
 }
 private void LoadOrder(object sender, ListCellGestureEventArgs e)
 {
     _dg.Num = e.Item.Tag.ToString();
     if (_dg.FrmOrders == null) _dg.FrmOrders = new FrmOrders(_dg);
     else _dg.FrmOrders.Reload();
     _dg.FrmOrders._btCancel.Enabled = true;
     _dg.FrmOrders.Show();
 }
 private void GestureUpDown(object sender, ListCellGestureEventArgs e)
 {
     switch (e.Gesture.Type)
     {
         //Отработка скроллинга вверх/вниз по названию
         case GestureType.DOWN:
             _currentLstOrders.Group[0].FirstVisibleItem();
             break;
         case GestureType.UP:
             _currentLstOrders.Group[_currentLstOrders.Group.Count - 1].FirstVisibleItem();
             break;
     }
 }
 private void ListGestureCount(object sender, ListCellGestureEventArgs e)
 {
     //Выходим, если стол красный "CALCULATE"
     if (DG.Calc)
     {
         MessageBox.Show(DG.Device, "Этот стол рассчитан!", MessageBoxButtons.OKAY, null, null);
         return;
     }
     switch (e.Gesture.Type)
     {
         case GestureType.CLICK: //Увеличиваем к-во блюд
             OL.AddCountDish(e);
             break;
         case GestureType.DOWN: //Уменьшаем к-во блюд
             SList.ShowList(OL.DecCountDish(e), ListOrder);
             break;
         case GestureType.LEFT: //Удаляем блюдо
             SList.ShowList(OL.DeleteCardItem(e), ListOrder);
             return;
         case GestureType.RIGHT: //Удаляем блюдо
             SList.ShowList(OL.DeleteCardItem(e), ListOrder);
             return;
         case GestureType.UP: //Увеличиваем к-во блюд
             OL.AddCountDish(e);
             break;
         case GestureType.LONG_TOUCH: //РЕЗЕРВ
             return;
     }
 }
 private void AmountFood(ListCellGestureEventArgs e)
 {
     if (DG.CalcKeyboard == null) DG.CalcKeyboard = new PopupKeyboard(DG, e);
     DG.CalcKeyboard.Show();
 }
 //Попадаем при нажатии на область Button
 //Область с именем пищи у нас то Button то гестуре
 //e.CellIndex; /0 - [X] - нажатие по счетчику 1 - по имени
 void ListOrderCellGestureCount(object sender, ListCellGestureEventArgs e)
 {
     if (DG.Calc) return;
     //_btBill.Enabled = false; //Добавили блюда PRINT нельзя, надо отправить заказ
     var count = Convert.ToSingle(e.Item.Cells[0].Value);
     //Tag содержит оригинальный, или сгенерированный для дублей с модификаторами
     switch (e.Gesture.Type)
     {
         case GestureType.CLICK: //Увеличиваем к-во блюд
             if (e.CellIndex == 0) count++; //только по счетчику
             break;
         case GestureType.DOWN: //Уменьшаем к-во блюд
             if (count > 1 && e.CellIndex == 0) count--;
             else return;
             break;
         case GestureType.LEFT: //Удаляем блюдо
             if (e.CellIndex == 0) return; //не отрабатываем счетчик
             _lstOrders.Group.Remove(e.Item);
             DeleteCardItem(e.Item.Cells[2].Value.ToString());
             BtOkEnabled();
             return;
         case GestureType.RIGHT: //Вызываем калькулятор, для у-ки к-ва
             if (e.CellIndex == 1) //По блюду - удаляем
             {
                 _lstOrders.Group.Remove(e.Item);
                 DeleteCardItem(e.Item.Cells[2].Value.ToString());
                 BtOkEnabled();
             }
             else AmountFood(e); //калькулятор к-ва
             return;
         case GestureType.UP: //Увеличиваем к-во блюд
             //count++;
             return;
         case GestureType.LONG_TOUCH: //РЕЗЕРВ
             return;
     }
     e.Item.Cells[0].Value = count.ToString();
     AddCountDish(e.Item.Cells[1].Value.ToString(), e.Item.Tag.ToString(), count, e.Item.TemplateName);
 }
 private void Select(object sender, ListCellGestureEventArgs e)
 {
     /*switch (e.Gesture.Type)
     {
         case GestureType.CLICK:
             break;
         case GestureType.DOWN:
             break;
         case GestureType.LEFT:
             break;
         case GestureType.RIGHT:
             break;
         case GestureType.UP:
             break;
         case GestureType.LONG_TOUCH:
             break;
     }*/
     if (e.Item.TemplateName == "Required") ClearRequired();
     e.Item.Cells[0].Value =
         e.Item.Cells[0].Value.Equals(Device.Resources.Images[0x001B]) ?
         Device.Resources.Images[0x0018] : Device.Resources.Images[0x001B];
 }
 private void Select(object sender, ListCellGestureEventArgs e)
 {
     if (e.Item.TemplateName == "Required") ClearRequired();
     e.Item.Cells[0].Value =
         e.Item.Cells[0].Value.Equals(Device.Resources.Images[0x001B]) ?
         Device.Resources.Images[0x0018] : Device.Resources.Images[0x001B];
 }
 //Попадаем при изменении счетчика
 void ListOrderCellGestureCount(object sender, ListCellGestureEventArgs e)
 {
     //var count = Convert.ToInt32(e.Item.Cells[0].Value);
     var count = Convert.ToSingle(e.Item.Cells[0].Value);
     var id = e.Item.Cells[2].Value.ToString();
     switch (e.Gesture.Type)
     {
         case GestureType.CLICK: //Увеличиваем к-во блюд
             count++;
             break;
         case GestureType.DOWN: //Уменьшаем к-во блюд
             if (count <= 1) { DeleteCardItem(id); return; }
             count = 0;
             break;
         case GestureType.LEFT: //Удаляем блюдо
             DeleteCardItem(id);
             return;
         case GestureType.RIGHT: //Вызываем калькулятор, для у-ки к-ва
             AmountFood(e);
             return;
         case GestureType.UP: //Увеличиваем к-во блюд
             count++;
             break;
         case GestureType.LONG_TOUCH: //РЕЗЕРВ
             return;
     }
     e.Item.Cells[0].Value = count.ToString();
     AddCountDish(e.Item.Cells[1].Value.ToString(), e.Item.Cells[2].Value.ToString(), count, e.Item.TemplateName);
     Console.WriteLine("List cell: {0}\nItem: {1}\nGesture:{2}\n\n",
         e.CellIndex, e.Item.Tag, e.Gesture);
 }
 public void ChangeCount(string count, ListCellGestureEventArgs e)
 {
     e.Item.Cells[0].Value = count;
     AddCountDish(e.Item.Cells[1].Value.ToString(), e.Item.Cells[2].Value.ToString(), Convert.ToSingle(count), e.Item.TemplateName);
 }
 private void AmountFood(ListCellGestureEventArgs e)
 {
     if (DG.CalcKeyboard == null) DG.CalcKeyboard = new PopupKeyboard(DG);
     DG.CalcKeyboard._Number.SetFocus();
     DG.CalcKeyboard.Point = e;
     DG.CalcKeyboard._Number.Text = "";
     DG.CalcKeyboard.Show();
 }
 //Попадаем при нажатии на область Button
 //Область с именем пищи у нас то Button то гестуре
 //e.CellIndex; /0 - [X] - нажатие по счетчику 1 - по имени
 private void ListOrderCellGestureCount(object sender, ListCellGestureEventArgs e)
 {
     if (_dg.Calc) return;
     float count;
     try
     {
         count = Convert.ToSingle(e.Item.Cells[0].Value);
     }
     catch (Exception)
     {
         count = 1;
     }
     //Tag содержит оригинальный, или сгенерированный для дублей с модификаторами
     switch (e.Gesture.Type)
     {
         case GestureType.CLICK: //Увеличиваем к-во блюд
             if (e.CellIndex == 0) count++; //только по счетчику
             break;
         case GestureType.DOWN: //Уменьшаем к-во блюд
             if (count > 1 && e.CellIndex == 0) count--;
             else return;
             break;
         case GestureType.LEFT: //Удаляем блюдо
             if (e.CellIndex == 0) return; //не отрабатываем счетчик
             _lstOrders.Group.Remove(e.Item);
             DeleteOrderItem(e.Item.Tag.ToString());
             BtOkEnabled();
             return;
         case GestureType.RIGHT: //Вызываем калькулятор, для у-ки к-ва
             if (e.CellIndex == 1) //По блюду - удаляем
             {
                 _lstOrders.Group.Remove(e.Item);
                 DeleteOrderItem(e.Item.Tag.ToString());
                 BtOkEnabled();
             }
             else AmountFood(e); //калькулятор к-ва
             return;
         case GestureType.UP: //Увеличиваем к-во блюд
             //count++;
             return;
         case GestureType.LONG_TOUCH: //РЕЗЕРВ
             return;
     }
     e.Item.Cells[0].Value = count.ToString(CultureInfo.InvariantCulture);
     AddCountDish(e.Item.Tag.ToString(), count);
     BtOkEnabled();
 }