Esempio n. 1
0
        //TODO: review remove algorithm
        void removeOrderEvent(object sender, EventArgs e)
        {
            OrderEventArgs eventArgs = (OrderEventArgs)e;

            for (int i = 0; i < ServicedView.Items.Count; i++)
            {
                if (ServicedView.Items[i] == eventArgs.VTemplate.OrderTemplate)
                {
                    ServicedView.Items.RemoveAt(i);
                    NetworkUtil.NotifyWebService((int)eventArgs.VTemplate.ID, "SERVICED");
                    OrderHolder.RemoveOrderWithID(eventArgs.VTemplate.ID);
                    this.ServicedCounter.Content = this.ServicedView.Items.Count;

                    return;
                }
            }

            for (int i = 0; i < InboxView.Items.Count; i++)
            {
                if (InboxView.Items[i] == eventArgs.VTemplate.OrderTemplate)
                {
                    InboxView.Items.RemoveAt(i);
                    OrderHolder.RemoveOrderWithID(eventArgs.VTemplate.ID);
                    this.InboxCounter.Content = this.InboxView.Items.Count;

                    return;
                }
            }
        }
        private IEnumerator MoveOrder(OrderHolder holder)
        {
            var orderTransform = holder.order.transform;

            while (orderTransform.position.x > endPos.x + gap * holder.id)
            {
                orderTransform.position += (Vector3)Vector2.left * moveSpeed / 100;
                yield return(new WaitForFixedUpdate());
            }
            orderTransform.position = endPos + Vector2.right * gap * holder.id;
            holder.coroutine        = null;
        }
        public void AddOrder(Order order)
        {
            // todo: check if there is place
            // spawn
            var orderHolder = new OrderHolder(order, orderHolders.Count, endPos + Vector2.right * gap * orderHolders.Count);

            orderHolders.Add(orderHolder);
            order.transform.SetParent(orderMenu);
            order.transform.position = spawnPos;
            // start moving
            orderHolder.coroutineAuthor = this;
            orderHolder.coroutine       = StartCoroutine(MoveOrder(orderHolder));
        }
Esempio n. 4
0
        public static List <Order> GetOrderList(string url)
        {
            List <Order> completeOrder = new List <Order>();

            try
            {
                JObject json       = NetworkUtil.GetJson(url);
                JArray  orderArray = (JArray)json["orders"];

                foreach (JObject orderArrayItem in orderArray)
                {
                    Order          orderitem   = new Order();
                    List <Product> productList = new List <Product>();
                    orderitem.OrderID = (int)orderArrayItem["id"];

                    if (!OrderHolder.IsOrderUnique(orderitem.OrderID))
                    {
                        Console.WriteLine("Dropped " + orderitem.OrderID);
                        continue;
                    }

                    orderitem.TableNumber = (string)orderArrayItem["tableNumber"];
                    orderitem.DateTime    = (string)orderArrayItem["dateTime"];
                    orderitem.TotalPrice  = (double)orderArrayItem["totalPrice"];
                    JArray orders = (JArray)orderArrayItem["orderedProducts"];

                    foreach (JObject order in orders)
                    {
                        Product product  = new Product();
                        JObject orderDTO = (JObject)order["productDTO"];
                        product.Name       = (string)orderDTO["name"];
                        product.Price      = (double)orderDTO["price"];
                        product.Attributes = (string)order["attributes"];
                        product.Quantity   = (int)order["quantity"];
                        product.Notes      = (string)order["notes"];
                        productList.Add(product);
                    }
                    orderitem.Products = productList;
                    OrderHolder.AddOrder(orderitem);
                    completeOrder.Add(orderitem);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error while parsing json" + ex.Message);
                return(null);
            }
            return(completeOrder);
        }
Esempio n. 5
0
        public async Task SaveBridges(OrderHolder orderHolder)
        {
            var user = _abpSession.GetUserId();

            orderHolder.OrderDto.ClientId = user;
            if (orderHolder.OrderDto.Id == 0)
            {
                orderHolder.OrderDto.Id = (await base.Create(orderHolder.OrderDto)).Id;
            }

            var spoolTotal = (double)0;
            var spoolList  = new List <PlasticOrderDto>();

            foreach (var spool in orderHolder.PlasticOrderDtos)
            {
                spoolTotal += spool.SellValue;

                var order = new Domains.PlasticOrder.PlasticOrder
                {
                    Id             = 0,
                    OrderId        = orderHolder.OrderDto.Id,
                    PlasticSpoolId = spool.Id
                };
                _plasticOrderRepository.Insert(order);
            }


            var printableTotal = (double)0;
            var printableList  = new List <Domains.PrintableOrder.PrintableOrder>();

            foreach (var printable in orderHolder.PrintableOrderDtos)
            {
                printableTotal += printable.SellValue;
                var order = new Domains.PrintableOrder.PrintableOrder
                {
                    OrderId           = orderHolder.OrderDto.Id,
                    PrintableObjectId = printable.Id
                };
                _printableOrderRepository.Insert(order);
            }


            orderHolder.OrderDto.TotalCost = spoolTotal + printableTotal;



            await base.Update(orderHolder.OrderDto);
        }
Esempio n. 6
0
 private void SwitchOrderTree()
 {
     if (InboxView.SelectedItem != null)
     {
         ITemplate mock1 = new DynamicVisualTemplate();
         mock1.OrderTemplate = (Border)InboxView.SelectedItem;
         NetworkUtil.NotifyWebService((int)mock1.ID, "ACCEPTED");
         OrderHolder.RemoveOrderWithID(mock1.ID);
         InboxView.Items.Remove(InboxView.SelectedItem);
         this.ServicedView.Items.Add(mock1.OrderTemplate);
         //TODO:Override the view control to create custom event for items.add / remove
         this.ServicedCounter.Content = this.ServicedView.Items.Count;
         this.InboxCounter.Content    = this.InboxView.Items.Count;
         // this.InboxView.SelectedIndex = -1;
     }
 }
Esempio n. 7
0
        public async Task Create(OrderViewModel OrderViewModel)
        {
            var data = OrderViewModel.DtoModel();


            var spools = OrderViewModel.PlasticOrderIds.IsNullOrEmpty() ? new List <PlasticSpoolDto>(): OrderViewModel.PlasticOrderIds.Select(x => (_plasticSpoolService.Get(new EntityDto(x)).Result))
                         .ToList();
            var printables = OrderViewModel.PrintableOrderIds.IsNullOrEmpty() ? new List <PrintableObjectDto>() : OrderViewModel.PrintableOrderIds.Select(x => (_printableObjectService.Get(new EntityDto(x)).Result))
                             .ToList();

            var order = new OrderHolder(data, spools, printables);


            await _orderService.SaveBridges(order);

            //if (OrderViewModel.Id == 0)
            //    await _orderService.Create(data);
            //if (OrderViewModel.Id != 0)
            //    await _orderService.Update(data);
        }
        public bool RemoveOrder(OrderHolder orderHolder)
        {
            if (orderHolder == null)
            {
                return(false);
            }
            if (orderHolder.coroutine != null)
            {
                orderHolder.coroutineAuthor.StopCoroutine(orderHolder.coroutine);
                orderHolder.coroutine = null;
            }
            bool result = orderHolders.Remove(orderHolder);

            // shift others
            foreach (var holder in orderHolders)
            {
                holder.id              = orderHolders.IndexOf(holder);
                holder.regularPos      = Vector2.right * gap * holder.id;
                holder.coroutineAuthor = this;
                holder.coroutine       = StartCoroutine(MoveOrder(holder));
            }
            //
            return(result);
        }