Exemple #1
0
        private GetMenuResponse2 ConvertMenu(StopListService.AlohaMnu Mnu)
        {
            GetMenuResponse2 Tmp    = new GetMenuResponse2();
            AlohaMnuExt      MnuExt = new AlohaMnuExt();

            MnuExt.DepId   = Mnu.Dep;
            MnuExt.SubMnus = new List <AlohaSubMnuExt>();
            Tmp.Mnus       = new List <AlohaMnuExt>();
            Tmp.Mnus.Add(MnuExt);
            if (Mnu.Smnus == null)
            {
                return(Tmp);
            }
            foreach (StopListService.AlohaSMnu Smnu in Mnu.Smnus)
            {
                AlohaSubMnuExt AlSmnu = new AlohaSubMnuExt()
                {
                    LongName = Smnu.Name,
                    Id       = Smnu.Id,
                    Items    = new List <AlohaItemExt> ()
                };
                if (Smnu.Dishes == null)
                {
                    continue;
                }
                foreach (StopListService.AlohaDish ad in Smnu.Dishes)
                {
                    AlohaItemExt itm = new AlohaItemExt()
                    {
                        LongName  = ad.Name,
                        Id        = ad.BarCode,
                        Price     = (int)(ad.Price * 100),
                        EngName   = ad.EngName,
                        ModGroups = new List <AlohaModGroupeExt> ()
                    };

                    foreach (StopListService.AlohaModGroupe AlModGr in ad.ModGroups)
                    {
                        AlohaModGroupeExt NAlohaGr = new AlohaModGroupeExt()
                        {
                            Id       = AlModGr.Id,
                            LongName = AlModGr.Name,
                            Mods     = new List <AlohaModExt> ()
                        };



                        foreach (StopListService.AlohaMod Nm in AlModGr.Mods)
                        {
                            AlohaModExt NMod = new AlohaModExt()
                            {
                                Id       = Nm.BarCode,
                                LongName = Nm.Name,
                                Price    = (int)(Nm.Price * 100),
                            };
                            NAlohaGr.Mods.Add(NMod);
                        }



                        itm.ModGroups.Add(NAlohaGr);
                    }
                    AlSmnu.Items.Add(itm);
                }

                MnuExt.SubMnus.Add(AlSmnu);
            }

            return(Tmp);
        }
        static private void SendMenu()
        {
            try
            {
                Utils.ToCardLog("Запуск потока отправки меню");
                int PriceCange = Utils.GetActualPriceChangeNum();

                if (!iniFile.ExternalInterfaceEnable)
                {
                    Thread.Sleep(60000);
                }
                //Thread.Sleep(AlohaTSClass.GetTermNum() * 10000 * 60);
                //if (AlohaTSClass.ImMaster())

                {
                    if (!iniFile.ExternalInterfaceEnable)
                    {
                        try
                        {
                            StopListService.Service1 s1 = new StopListService.Service1();
                            bool b = s1.MenuModifEnabled(AlohainiFile.DepNum);

                            if (!b)
                            {
                                Utils.ToCardLog("С этого подразделения меню уже было недавно отправленно. Выхожу.");
                                return;
                            }
                        }
                        catch (Exception e)
                        {
                            Utils.ToCardLog("Error MenuModifEnabled " + e.Message);
                        }
                    }
                    Utils.ToCardLog("Отправляю текущее меню");
                    try
                    {
                        //  int PriceCange = Utils.GetActualPriceChangeNum();
                        if (PriceCange > -1)
                        {
                            Utils.ToCardLog("PriceChange= " + PriceCange.ToString());
                            int DepNum = iniFile.MenuSenderNum;
                            if (DepNum == 0)
                            {
                                DepNum = AlohainiFile.DepNum;
                            }

                            StopListService.AlohaMnu CurentMnu = AlohaTSClass.GetMenu(PriceCange, DepNum);
                            Utils.ToCardLog(" текущее меню");

                            StopListService.Service1 s1 = new StopListService.Service1();
                            s1.SeтMnuToServer(CurentMnu);
                            s1.Dispose();
                            Utils.ToCardLog("Отправил текущее меню");
                        }
                        else
                        {
                            Utils.ToCardLog("Не смог определить актуальный PriceChange. Меню не будет отправленно.");
                        }
                    }
                    catch (Exception e)
                    {
                        Utils.ToCardLog("[Error] Ошибка отправления меню на сервер " + e.Message);
                    }

                    try
                    {
                        StopListService.Service1 s1 = new StopListService.Service1();

                        List <StopListService.DishN> d = AlohaTSClass.GetAllItms();
                        s1.SetDishList(d.ToArray());
                        s1.Dispose();
                    }
                    catch (Exception e)
                    {
                        Utils.ToCardLog("[Error] Ошибка отправления списка блюд на сервер " + e.Message);
                    }

                    Utils.ToCardLog("Отправил текущее меню");
                }
            }
            catch (Exception e)

            {
                Utils.ToCardLog("Error  SendMenu " + e.Message);
            }
        }