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); } }