Пример #1
0
    public void Start0()
    {
        desks = GameObject
                .Find("desks")
                .GetComponent <Desks>();
        //Debug.Log(desks.deskArray[0, 0].occupied);
        //damages = new int[4, 4];
        deskArray = GameObject.Find("desks").GetComponent <Desks>().StartPencilEraser(GetComponent <Supply>().GetDesk());
        //SetDamage(GetComponent<Supply>().GetDesk().x, GetComponent<Supply>().GetDesk().y, 5);

        /*for (int x = 0; x < 4; x++)
         * {
         *  for (int y = 0; y < 4; y++)
         *  {
         *      Debug.Log(damages[x, y]);
         *  }
         * }*/
    }
Пример #2
0
        private void SelectDesk(Protocol.SelectDesk e, IUserAgent agent, ISiqiServer server)
        {
            IDesk desk = Desks.FirstOrDefault(o => o.ID == e.Desk);

            Protocol.SelectDeskResponse response = new Protocol.SelectDeskResponse();
            response.Success = true;
            response.Seat    = e.Seat;
            response.Desk    = e.Desk;
            if (desk != null)
            {
                response.Message = desk.In(agent, e.Seat);
                response.Success = string.IsNullOrEmpty(response.Message);
            }
            else
            {
                response.Success = false;
                response.Message = "桌子编号错误!";
            }
            server.Send(response, agent);
        }
Пример #3
0
 //public void SetProductsDeskNo(IEnumerable<Article> articles,Desks deskNo) {
 //    foreach (Article article in articles) {
 //        switch (deskNo) {
 //            case Desks.Desk1:
 //                if (Desk1.Count < NumberInDeskMain && article.DeskNo==(int)Desks.ArtNoSort) {
 //                    Desk1.Add(article);
 //                    article.DeskNo = (int) Desks.Desk1;
 //                }
 //                else article.DeskNo = (int) Desks.ArtNoSort;
 //                break;
 //            case Desks.Desk2:
 //                if (Desk2.Count < NumberInDeskOther && article.DeskNo==(int)Desks.ArtNoSort) {
 //                    Desk2.Add(article);
 //                    article.DeskNo = (int) Desks.Desk2;
 //                }
 //                else article.DeskNo = (int) Desks.ArtNoSort;
 //                break;
 //            case Desks.Desk3:
 //                if (Desk3.Count < NumberInDeskMain  && article.DeskNo==(int)Desks.ArtNoSort) {
 //                    Desk3.Add(article);
 //                    article.DeskNo = (int) Desks.Desk3;
 //                }
 //                else article.DeskNo = (int) Desks.ArtNoSort;
 //                break;
 //        }
 //    }
 //}
 public void SetDeskNoBegin(IEnumerable<Article> articles, Desks noDesk)
 {
     ObservableCollection<Article> actualDesk;
     switch (noDesk) {
         case Desks.Desk1:
             actualDesk = Desk1;
             break;
         case Desks.Desk2:
             actualDesk = Desk2;
             break;
         case Desks.Desk3:
             actualDesk = Desk3;
             break;
         case Desks.Desk4:
             actualDesk = Desk4;
             break;
         default:
             actualDesk = AllArticleToDesk;
             break;
     }
     if (actualDesk != null) {
         foreach (var article in articles) {
             if (article.DeskNo == (int) noDesk) actualDesk.Add(article);
         }
     }
 }
Пример #4
0
        /// <summary>
        /// 重新加载内存数据
        /// </summary>
        /// <returns></returns>
        public async Task ReloadAsync()
        {
            using (var scope = DataBase.BeginLifetimeScope())
            {
                var service      = scope.Resolve <IUtilService>();
                var orderService = scope.Resolve <IOrderService>();
                Types.Clear();
                Products.Clear();
                DeskTypes.Clear();
                Desks.Clear();
                // 产品列表
                (await service.GetProductTypeAsync())?.ForEach(a =>
                {
                    Types.Add(a);
                    a.Products?.ForEach(b => Products.Add(b));
                });
                // 产品库存
                (await service.GetProductStocksAsync())?.ForEach(a =>
                {
                    var product = Products.FirstOrDefault(b => b.Id == a.ProductId);
                    if (product == null)
                    {
                        return;
                    }
                    product.Stock = a.Stock;
                });
                // 桌台
                (await service.GetDeskTypesAsync())?.ForEach(a =>
                {
                    DeskTypes.Add(a);
                    a.Desks?.ForEach(b => Desks.Add(b));
                });
                // 未完成订单
                orderService.GetUnfinishOrder()?.ForEach(order =>
                {
                    var desk = Desks.FirstOrDefault(a => a.Id == order.DeskId);
                    if (desk == null)
                    {
                        return;
                    }
                    desk.Order = order;
                });
                service.PubSubscribe("SystemMessage", "ResetDeskStatus");
                var clientPrinters = await service.GetAllAsync <ClientPrinter>();

                // 将删除的打印机关闭
                var delPrinter = new List <Printer>();
                Printers.ForEach(a =>
                {
                    var printer = clientPrinters?.FirstOrDefault(b => a.Device.Id == b.Id);
                    if (printer != null)
                    {
                        return;
                    }
                    a.Close();
                    delPrinter.Add(a);
                });
                delPrinter.ForEach(a => Printers.Remove(a));
                clientPrinters?.ForEach(item =>
                {
                    var printer = Printers.FirstOrDefault(a => a.Device.Id == item.Id);
                    if (printer == null)
                    {
                        printer = new Printer {
                            Device = item
                        };
                        Printers.Add(printer);
                    }
                    else
                    {
                        printer.Device = item;
                    }
                    if (printer.Device.State == 1)
                    {
                        printer.Open();
                    }
                    else
                    {
                        printer.Close();
                    }
                });
            }
        }