internal static void CloseCheck(int EmployeeId, int QueueId, int TableId, int CheckId) { try { Utils.ToLog("Закрытие чека. Читаю настройки PDiscount.ini", 2); if (iniFile.CloseCheck) { Utils.ToLog("(iniFile.Read(Options, CloseCheck) == TRUE) . Читаю параметры чека № " + CheckId, 5); Check Ch = AlohaTSClass.GetCheckById(CheckId); if (Ch == null) { Utils.ToLog("Ch == null. Выхожу"); return; } if (Ch.Dishez.Count == 0) { Utils.ToLog("Ch.Dishez.Count == 0. Выхожу"); return; } Ch.SystemDate = DateTime.Now; PDiscountCard.CloseCheck.mCloseCheck(Ch); Utils.ToLog("Чек закрыл. Выхожу", 2); } } catch (Exception e) { Utils.ToLog(e.Message); } }
public static void CloseCheck() { Utils.ToCardLog("CloseCheckFromActiv"); AlohaTSClass.CheckWindow(); Check Chk = AlohaTSClass.GetCheckById((int)AlohaTSClass.AlohaCurentState.CheckId); /* * if (!AlcCheck(Chk)) * { * return; * } */ if (Chk.HasUnorderedItems) { if (iniFile.AutoOrderBeforeWaiterClose) { AlohaTSClass.OrderAllDishez(AlohaTSClass.AlohaCurentState.TerminalId, (int)AlohaTSClass.AlohaCurentState.CheckId, (int)AlohaTSClass.AlohaCurentState.TableId); } else { frmAllertMessage Mf = new frmAllertMessage("В чеке есть незаказаные блюда. "); Utils.ToLog("В чеке есть незаказаные блюда. Выхожу"); Mf.ShowDialog(); return; } } AlohaTSClass.CloseCheck(AlohaTSClass.GetTermNum(), Chk.AlohaCheckNum); }
public static void CloseAlohaTableLocalCurentUser(int ChkId, int PaymentId, decimal Summ) { int TermNum = AlohaTSClass.GetTermNum(); try { Check Chk = AlohaTSClass.GetCheckById(ChkId); Utils.ToCardLog("[CloseAlohaTableLocalCurentUser] Пытаюсь закрть чек локально" + Chk.AlohaCheckNum + " Терминал " + TermNum); AlohaTSClass.ApplyPayment(TermNum, Chk.AlohaCheckNum, (double)Summ / 100, PaymentId); AlohaTSClass.CloseCheck(TermNum, Chk.AlohaCheckNum); if (!AlohaTSClass.CheckIsClosed(Chk.AlohaCheckNum)) { //Сообщение } else { Utils.ToCardLog("[CloseAlohaTableLocalCurentUser] Чек закрыл" + Chk.AlohaCheckNum); if (AlohaTSClass.IsAlohaTS()) { AlohaTSClass.CloseTable(TermNum, Chk.TableId); Utils.ToCardLog("[CloseAlohaTableLocalCurentUser] Стол закрыл" + Chk.AlohaCheckNum); //AlohaTSClass.LogOut(); //AlohaTSClass.LogIn(AlohaTSClass.GetTermNum(), 1354); AlohaTSClass.RefreshCheckDisplay(); } } } catch (Exception e) { Utils.ToCardLog("Error CloseAlohaTableLocalCurentUser" + e.Message); } }
private static void OrderDishTimeQuereRun() { while (!mExitOrderDishTimeThread) { try { TimerSyncPoint = 0; //OrderDishTimeQuereWH.WaitOne(10000); Thread.Sleep(5000); int Count = 0; while ((Interlocked.CompareExchange(ref TimerSyncPoint, 1, 0) != 0) && (Count < 5000)) { Thread.CurrentThread.Join(50); // Utils.ToCardLog("GetCashReg lock" + Count); Count += 50; } if (OrderDishTimeQuere.Where(a => a.OrderDt.AddSeconds(7) < DateTime.Now).Count() > 0) { foreach (OrderedChk OCh in OrderDishTimeQuere.Where(a => a.OrderDt.AddSeconds(7) < DateTime.Now)) { Check NewChk = AlohaTSClass.GetCheckById(OCh.CheckId); foreach (Dish d in NewChk.Dishez.Where(a => a.IsOrdered)) { if (OCh.NonOrderedDishes.Where(a => a.EntryId == d.AlohaNum).Count() > 0) { OCh.OrderedDishes.Add(OCh.NonOrderedDishes.Where(a => a.EntryId == d.AlohaNum).First()); } } if (OCh.OrderedDishes.Count > 0) { //SQL.ToSql.UpdateOrderTime(OCh); } OCh.NeedDelete = true; } OrderDishTimeQuere.RemoveAll(a => a.NeedDelete); } Interlocked.CompareExchange(ref TimerSyncPoint, 0, 1); } catch { Interlocked.CompareExchange(ref TimerSyncPoint, 0, 1); } } OrderDishTimeQuereWH.Close(); }
public static void Sale() { AlohaTSClass.CheckWindow(); Check Chk = AlohaTSClass.GetCheckById((int)AlohaTSClass.AlohaCurentState.CheckId); bool AllCheck = false; if (Chk.ChecksOnTable.Count > 1) { MessageForm ManyChecksMsg = new MessageForm("Закрыть все чеки на столе?"); ManyChecksMsg.button1.Text = "Да"; ManyChecksMsg.button2.Text = "Только текущий"; // ManyChecksMsg.button2.Visible = false; ManyChecksMsg.ShowDialog(); if (ManyChecksMsg.Result == 1) { //Utils.ToLog("Отправляю на оплату все чеки на столе." + GetFCCCheckfromAloha(Chk, AllCheck).Ammount); AllCheck = true; } } InpasChk inpasChk = new InpasChk(Chk, AllCheck, AlohaTSClass.AlohaCurentState.EmployeeNumberCode); if (AllCheck) { Utils.ToLog("Отправляю на пластиковую оплату все чеки на столе." + inpasChk.Ammount); } AlohaTSClass.LogOut(AlohaTSClass.GetTermNum()); AlohaTSClass.RefreshCheckDisplay(); if (!inpasChk.isVoid) { Utils.ToCardLog("Старт пластиковой оплаты Чек " + inpasChk.Num); RunOper(1, 0, 0, TermNum, inpasChk, 0); } else { //RunOper(1, 0, 0, TermNum, AlohaTSClass.GetCheckById((int)AlohaTSClass.AlohaCurentState.CheckId), 0); frmInpasVoid fv = new frmInpasVoid(); fv.ShowDialog(); if (fv.Res == 1) { Utils.ToCardLog("Старт возврата пластиковой оплаты Чек " + Chk.AlohaCheckNum); DualConnector.DualConnectorMain.Void(inpasChk, fv.RRN); } else if (fv.Res == 2) { Utils.ToCardLog("Старт отмены пластиковой оплаты Чек " + Chk.AlohaCheckNum); DualConnector.DualConnectorMain.Cancel(inpasChk, fv.RRN); } } }
private static void CloseAlohaTable(CRemoteCloseChk RemChk) { int TermNum = iniFile.RemoteCloseTerminal; try { Utils.ToCardLog("Отправляю чек из очереди на закрытие" + RemChk.Id); AlohaTSClass.LogOut(TermNum); AlohaTSClass.LogIn(TermNum, iniFile.RemoteCloseEmployee); Check Chk = AlohaTSClass.GetCheckById(RemChk.Id); if (Chk == null) { RemChk.ErrorCount++; return; } /* * if ((Chk.Oplata != 0) && (Chk.Oplata != Chk.Summ)) * { * AlohaTSClass.DeletePayments(Chk, TermNum); * } * */ //if ((Chk.Oplata == 0)) // { // if (RemChk.PaymentSumm == 0) //{ // RemChk.PaymentSumm = Chk.Summ; //} AlohaTSClass.ApplyPayment(TermNum, RemChk.Id, (double)RemChk.PaymentSumm, RemChk.PaymentId); //} AlohaTSClass.CloseCheck(TermNum, RemChk.Id); if (!AlohaTSClass.CheckIsClosed(RemChk.Id)) { RemChk.ErrorCount++; } else { RemChk.ErrorCount = 0; AlohaTSClass.LogOut(TermNum); AlohaTSClass.LogIn(TermNum, RemChk.Empl); AlohaTSClass.CloseTable(TermNum, Chk.TableId); } AlohaTSClass.LogOut(TermNum); } catch { AlohaTSClass.LogOut(TermNum); RemChk.ErrorCount++; } }
public void RenameTab(int TermId, int CheckId, string tabName) { if (iniFile.TakeOutEnabled) { if (tabName != "") { Utils.ToCardLog("RenameTab " + tabName); Check Ch = AlohaTSClass.GetCheckById(CheckId); TakeOut.TOLoaltyConnect.ApplyDisc(Ch.TableId, tabName); } } }
internal static void WriteTimeOfSend(int TableId, int CheckId, int QueueId, int EmployeeId, int ModeId) { if (!iniFile.SQLDisabled) { Check Chk = AlohaTSClass.GetCheckById(CheckId); List <int> CurentItms = AlohaTSClass.GetCurrentItems(TableId); // Заказанные сейчас без Entity. Это делаем в потоке события т.к. здесь запрос текущего состояния List <Dish> OrderredItms = Chk.Dishez.Where(a => a.IsOrdered).ToList(); //Уезжаем в другой поток, чтобы не тормозила из за SQL System.Threading.Thread MyThread = new System.Threading.Thread(delegate() { WriteTimeOfSendInThread(TableId, CheckId, QueueId, EmployeeId, ModeId, CurentItms, OrderredItms, Chk.Waiter); }); MyThread.Start(); } }
public static void ShowWndApplyCardWithCurentCheck() { try { Utils.ToCardLog("ShowWndApplyCardWithCurentCheck"); Check CurChk = AlohaTSClass.GetCheckById((int)AlohaTSClass.GetCurentCheckId()); FayRetailCheckInfo FRCheckInfo = GetRetailCheckInfobyAlohaChk(CurChk); ShowWndApplyCard(FRCheckInfo); } catch (Exception e) { Utils.ToCardLog("Error ShowWndApplyCardWithCurentCheck " + e.Message); } }
/* * public static void CloseByWaiter(int TenderType=0) * { * Utils.ToCardLog("CloseByWaiter TenderType = " + TenderType.ToString()); * * * * AlohaTSClass.CheckWindow(); * Check Chk = AlohaTSClass.GetCheckById((int)AlohaTSClass.AlohaCurentState.CheckId); * * * //Это запрет на алкочеки * if (!iniFile.FRModeDisabled) * { * if (!AlcCheck(Chk)) * { * return; * } * * } * * if (Chk.HasUnorderedItems) * { * if (iniFile.AutoOrderBeforeWaiterClose) * { * * bool OrderRes = AlohaTSClass.OrderAllDishez(AlohaTSClass.AlohaCurentState.TerminalId, (int)AlohaTSClass.AlohaCurentState.CheckId, (int)AlohaTSClass.AlohaCurentState.TableId); * if (!OrderRes) * { * frmAllertMessage Mf = new frmAllertMessage("Не могу заказать блюда. Попробуйте еще раз. Либо закажите самостоятельно. Если ошибка будет повторяться свяжитесь со службой техподдержки для перезагрузки Алохи."); * Utils.ToLog("Не могу заказать блюда. Выхожу"); * Mf.ShowDialog(); * return; * } * } * else * { * frmAllertMessage Mf = new frmAllertMessage("В чеке есть незаказаные блюда. "); * Utils.ToLog("В чеке есть незаказаные блюда. Выхожу"); * Mf.ShowDialog(); * return; * } * } * int PaymentsCount = 0; * if (TenderType == 0) * { * PaymentsCount = * Convert.ToByte(iniFile.FCCEnable) + * Convert.ToByte((iniFile.InPasEnabled) || (CreditCardAlohaIntegration.CreditCardConnectorEnabled)) * 2 + * Convert.ToByte(iniFile.CreditCloseByWiterEnabled && (Chk.TableNumber > 190)) * 4; * * Utils.ToCardLog("PaymentsCount= " + PaymentsCount.ToString()); * //BitArray Ba = new BitArray(new byte[] { PaymentsCount }); * * * if (PaymentsCount == 0) * { * frmAllertMessage Mf = new frmAllertMessage("Нет подключенных модулей оплаты"); * Mf.ShowDialog(); * return; * } * * if (GetTrueBitCount(PaymentsCount) > 1) * { * Utils.ToCardLog("GetTrueBitCount(PaymentsCount) > 1"); * PDiscountCard.AlohaI.WndPaymentSelect WndSelect = new AlohaI.WndPaymentSelect(); * WndSelect.SetBtnsVis(PaymentsCount); * WndSelect.WaiterName = AlohaTSClass.GetCurentWaterName(); * Utils.ToCardLog("Before WndSelect.ShowDialog();"); * WndSelect.ShowDialog(); * Utils.ToCardLog("After WndSelect.ShowDialog();"); * PaymentsCount = WndSelect.Result; * * } * } * else * { * PaymentsCount = TenderType; * } * * Utils.ToCardLog("PaymentsCount after select = " + PaymentsCount.ToString()); * if (PaymentsCount == 1) * { * FCC.SetBill(); * } * else if (PaymentsCount == 2) * { * if (iniFile.InPasEnabled) * { * DualConnector.DualConnectorMain.Sale(); * } * // else if (iniFile.Arcus2Enabled) * else if (CreditCardAlohaIntegration.CreditCardConnectorEnabled) * { * string err = ""; * * CreditCardAlohaIntegration.RunOper(Chk); * //DualConnector.DualConnectorMain.Sale(); * } * } * else if (PaymentsCount == 4) * { * AlohaTSClass.LogOut(); * RemoteCloseCheck.AddRemoteChkToQuere(Chk.AlohaCheckNum, 30, Chk.Waiter, Chk.Summ); * } * * Utils.ToCardLog("Exit from CloseByWaiter TenderType = " + TenderType.ToString()); * } */ /* * static Thread CloseByWaiterThread; * public static void CloseByWaiter(int TenderType = 0) * { * try * { * Utils.ToCardLog("CloseByWaiter TenderType = " + TenderType.ToString()); * CloseByWaiterThread = new Thread(new ParameterizedThreadStart(CloseByWaiterAsinc)); * CloseByWaiterThread.Start(TenderType); * Utils.ToCardLog("CloseByWaiter end TenderType = " + TenderType.ToString()); * GC.Collect(); * } * catch (Exception e) * { * Utils.ToCardLog("Error CloseByWaiter " +e.Message); * } * * } */ //private static void CloseByWaiter(object obTenderType) public static void CloseByWaiter(int obTenderType = 0) { int TenderType = Convert.ToInt32(obTenderType); Utils.ToCardLog("CloseByWaiterAsinc TenderType = " + TenderType.ToString()); AlohaTSClass.CheckWindow(); Check Chk = AlohaTSClass.GetCheckById((int)AlohaTSClass.AlohaCurentState.CheckId); //Это запрет на алкочеки if (!iniFile.FRModeDisabled) { if (!AlcCheck(Chk)) { return; } } if (Chk.HasUnorderedItems) { if (iniFile.AutoOrderBeforeWaiterClose) { bool OrderRes = AlohaTSClass.OrderAllDishez(AlohaTSClass.AlohaCurentState.TerminalId, (int)AlohaTSClass.AlohaCurentState.CheckId, (int)AlohaTSClass.AlohaCurentState.TableId); if (!OrderRes) { frmAllertMessage Mf = new frmAllertMessage("Не могу заказать блюда. Попробуйте еще раз. Либо закажите самостоятельно. Если ошибка будет повторяться свяжитесь со службой техподдержки для перезагрузки Алохи."); Utils.ToLog("Не могу заказать блюда. Выхожу"); Mf.ShowDialog(); return; } } else { frmAllertMessage Mf = new frmAllertMessage("В чеке есть незаказаные блюда. "); Utils.ToLog("В чеке есть незаказаные блюда. Выхожу"); Mf.ShowDialog(); return; } } Utils.ToCardLog("Before AskPaymentsCount "); AskPaymentsCount(Chk, TenderType, DoPaymentsOper); }
internal static void ApplyCardPayment(int ManagerId, int EmployeeId, int QueueId, int TableId, int CheckId, int TenderId, int PaymentId) { if ((TenderId == 20) && (EmployeeId != iniFile.RemoteCloseEmployee)) { if (MainClass.ComApplyPayment) { Utils.ToLog("MainClass.ComApplyPayment return"); MainClass.ComApplyPayment = false; return; } if ((!iniFile.TRPOSXEnables) && (!iniFile.ArcusEnabled)) { return; } Utils.ToLog("Создаю форму вопроса безналичной оплаты"); FTermonalSelect M3 = new FTermonalSelect(); M3.ShowDialog(); if (M3.Cancel) { M3.Dispose(); return; } M3.Dispose(); if (MainClass.IsWiFi == 2) { return; } if (MainClass.PlasticTransactionInProcess) { MF2 MesFrm = new MF2("Предыдущая транзакция еще не завершена."); MesFrm.button1.Visible = false; MesFrm.button3.Visible = false; MesFrm.button2.Text = "Ок"; MesFrm.ShowDialog(); } else { MainClass.PlasticTransactionInProcess = true; // string Resp = ""; // string Rcp = ""; // string RespMes = ""; FiskInfo fi = PDiscountCard.CloseCheck.ReadFiskInfo(); bool AllChecksOnTable = false; { // ToShtrih.GetPrinterStatus(); //Check Ch = AlohaTSClass.GetCheckById(CheckId); Utils.ToLog("Безналичная оплата. Читаю параметры чека № " + CheckId + " Попытка 1", 2); Check Ch = AlohaTSClass.GetCheckById(CheckId); if (Ch == null) { Thread.Sleep(500); Utils.ToLog("Безналичная оплата. Читаю параметры чека № " + CheckId + " Попытка 2", 2); AlohaTSClass.InitAlohaCom(); Ch = AlohaTSClass.GetCheckById(CheckId); if (Ch == null) { Thread.Sleep(500); Utils.ToLog("Безналичная оплата. Читаю параметры чека № " + CheckId + " Попытка 3", 2); AlohaTSClass.InitAlohaCom(); Ch = AlohaTSClass.GetCheckById(CheckId); if (Ch == null) { Thread.Sleep(500); Utils.ToLog("Безналичная оплата. Читаю параметры чека № " + CheckId + " Попытка 4", 2); AlohaTSClass.InitAlohaCom(); Ch = AlohaTSClass.GetCheckById(CheckId); } } } if (Ch == null) { AlohaTSClass.ShowMessage("Не удалось прочитать параметры чека "); Utils.ToLog("Безналичная оплата. Не удалось прочитать параметры чека № " + CheckId, 2); MainClass.PlasticTransactionInProcess = false; return; } if (Ch.ChecksOnTable.Count > 1) { FTwoChecks FT = new FTwoChecks(); FT.Init(Ch.ChecksOnTable); FT.ShowDialog(); if (FT.Cancel) { FT.Dispose(); MainClass.PlasticTransactionInProcess = false; return; } if (FT.Result == 1) { AllChecksOnTable = true; } FT.Dispose(); } int LastTr = fi.CardTransID; try { if (iniFile.ArcusEnabled) { Utils.ToCardLog("Arcus. Инициалазирую оплату "); ArcusAlohaIntegrator.RunOper(Ch, LastTr, AllChecksOnTable, fi, PaymentId); } else { Utils.ToCardLog("TrPosX. Инициалазирую оплату "); TrPosXAlohaIntegrator.RunOper(Ch, LastTr, AllChecksOnTable, fi, PaymentId); } } catch (Exception e) { Utils.ToCardLog("[Error]. Инициалазации оплаты " + e.Message); } } } } }
internal static void TryAddDiscount(int ModeId, int CheckId, int EmployeeId) { if (iniFile.TakeOutEnabled) { try { if ((iniFile.TakeOutOrderId1 == ModeId) || (iniFile.TakeOutOrderId2 == ModeId)) { AlohaTSClass.SetWaterToCurentCheck(EmployeeId, CheckId); Utils.ToLog("Пытаюсь наложить скидку на заказ с собой"); Check Ch = AlohaTSClass.GetCheckById(CheckId); //string LoyaltyNum = AlohaTSClass.GetTakeOutAttr(Ch.TableId); string LoyaltyName = Ch.TableName; Utils.ToCardLog("LoyaltyName = " + LoyaltyName); if (LoyaltyName != "") { if (TakeOut.TOLoaltyConnect.ApplyDisc(Ch.TableId, LoyaltyName)) { /* * Utils.ToCardLog("LoyaltyNum = " + LoyaltyNum); * AlohaTSClass.CheckWindow(); * MainClass.AssignMember(LoyaltyNum, LoyaltyNum); * */ return; } } /* * if (AlohaTSClass.CheckWindow()) * { * if (AlohaTSClass.AlohaCurentState.CompIsAppled) * { * Utils.ToLog("Скидка уже применена"); * return; * * * } * } */ if (AlohaTSClass.GetCheckDiscountById(CheckId)) { Utils.ToLog("Скидка уже применена"); return; } string outmsg = ""; int i = AlohaTSClass.ApplyCompByCheckId(iniFile.TakeOutDiscountId, EmployeeId, CheckId, out outmsg); if (i > 0) { Utils.ToLog("Cкидка на заказ с собой применена"); } AlohaTSClass.RefreshCheckDisplay(); } } catch (Exception e) { } } }
internal static void SetBill() { Utils.ToLog("SetBill"); if (!IsInited) { frmAllertMessage fa = new frmAllertMessage("К данному термналу не подключено устройство приема денежных средств."); fa.ShowDialog(); return; } AlohaTSClass.CheckWindow(); Utils.ToLog("SetBill Curent Check = " + AlohaTSClass.AlohaCurentState.CheckId); if (iniFile.FCCSync) { // FCCIntegration.MainClass2.CancelChangeMoney(); //Utils.ToLog("SetBill"); //FCCIntegration.MainClass2.ShowCassirFrm(); } else { if (FCCIntegration.MainClass2.ChangeProcess) { if (FCCIntegration.MainClass2.CurrentCheck.AlohId != (int)AlohaTSClass.AlohaCurentState.CheckId) { MessageForm Mf = new MessageForm("Устройство приема наличных средств находится в состоянии ожидания оплаты. " + Environment.NewLine + "Завершите или отмените текущую операцию и затем приступайте к новой." ); Mf.button1.Visible = false; Mf.button3.Visible = false; Mf.button2.Text = "Ок"; Mf.ShowDialog(); return; } else { FCCIntegration.MainClass2.ShowCassirFrm(); return; } } } if (!InpectSmallChange(false)) { Utils.ToLog("Мало сдачи. Выхожу"); return; } Check Chk = AlohaTSClass.GetCheckById((int)AlohaTSClass.AlohaCurentState.CheckId); if (iniFile.FCCSync) { if (Chk.HasUnorderedItems) { frmAllertMessage Mf = new frmAllertMessage("В чеке есть незаказаные блюда. "); Utils.ToLog("В чеке есть незаказаные блюда. Выхожу"); Mf.ShowDialog(); return; } } if (Chk.Summ == 0) { frmAllertMessage Mf = new frmAllertMessage("Чек нулевой"); Mf.ShowDialog(); return; } else if (Chk.Oplata >= Chk.Summ) { frmAllertMessage Mf = new frmAllertMessage("Чек уже оплачен"); Mf.ShowDialog(); return; } else if (Chk.Vozvr) { frmAllertMessage Mf = new frmAllertMessage("Нельзя оплачивать возвратные чеки"); Mf.ShowDialog(); return; } else { bool AllCheck = false; if (Chk.ChecksOnTable.Count > 1) { MessageForm ManyChecksMsg = new MessageForm("Закрыть все чеки на столе?"); ManyChecksMsg.button1.Text = "Да"; ManyChecksMsg.button2.Text = "Только текущий"; // ManyChecksMsg.button2.Visible = false; ManyChecksMsg.ShowDialog(); if (ManyChecksMsg.Result == 1) { // Summ = Chk.ChecksOnTable.Sum(a => a.Summ); AllCheck = true; Utils.ToLog("Отправляю на оплату все чеки на столе." + GetFCCCheckfromAloha(Chk, AllCheck).Ammount); } } string Status; Utils.ToLog("Отправляю на оплату. Сумма" + GetFCCCheckfromAloha(Chk, AllCheck).Ammount); if (FCCIntegration.MainClass2.StartChangeMoney(GetFCCCheckfromAloha(Chk, AllCheck), out Status)) { string str = ""; CurrentEmpl = AlohaTSClass.AlohaCurentState.EmployeeNumberCode; AlohaTSClass.OrderAllItems(Chk.AlohaCheckNum, Chk.TableId, out str); if (!iniFile.FCCSync) { AlohaTSClass.OpenEmptyCheck(); AlohaTSClass.LogIn(iniFile.FCCTerminal, iniFile.FCCEmployee); AlohaTSClass.LockTable(iniFile.FCCLockDish, iniFile.FCCTerminal, Chk.AlohaCheckNum); } CCustomerDisplay.SetCheck(Chk); } else { MessageForm Mf = new MessageForm("Устройство приема наличных средств занято другой транзакцией."); Mf.button1.Visible = false; Mf.button3.Visible = false; Mf.button2.Text = "Ок"; Mf.ShowDialog(); } } }
public static string PrintCheckByMe(string xmlIn) { double AllSumm = 0; XmlDocument Xd = new XmlDocument(); Xd.LoadXml(xmlIn); XmlNodeList Xn = Xd.GetElementsByTagName("CHECKID"); string Num = Xn[0].FirstChild.Value; XmlNodeList Xp = Xd.GetElementsByTagName("PRINTER"); string PrNum = Xp[0].FirstChild.Value; int CheckId = Convert.ToInt32(Num); string innerString = GetInnerString(xmlIn); bool Closed = xmlIn.Contains("Check Closed") || xmlIn.Contains("Чек закрыт"); if (!PrintedChecks.Contains(CheckId)) { if ((!Closed)) { GuestCount.GuestCount.SetGuestCount(CheckId); } PrintedChecks.Clear(); List <int> AlreadyPrintedCheck = new List <int>(); AlohaTSClass.CheckWindow(); List <int> Chks = AlohaTSClass.GetChecksIdInThisTable(CheckId, out AlreadyPrintedCheck); if (Chks.Count > 1) { MessageForm ManyChecksMsg = new MessageForm("Печатать все чеки на столе?"); ManyChecksMsg.button1.Text = "Да"; ManyChecksMsg.button2.Text = "Нет"; // ManyChecksMsg.button2.Visible = false; ManyChecksMsg.ShowDialog(); if (ManyChecksMsg.Result == 1) { if (AlreadyPrintedCheck.Count > 0) { string Mess = ""; foreach (int nn in AlreadyPrintedCheck) { Mess += "Предчек #" + AlohaTSClass.GetCheckById(nn).CheckShortNum + " уже напечатан. " + Environment.NewLine; } AlohaTSClass.ShowMessage(Mess); } foreach (int ChId in Chks) { PrintedChecks.Add(ChId); AlohaTSClass.PrintPredCheckByXml(ChId, Convert.ToInt32(PrNum)); try { AlohaTSClass.PrintPredCheck(ChId, true); //Это чтобы чек считался распечатанным в алохе. } catch { } } AlohaTSClass.PrintAllPredchecksById(CheckId, Convert.ToInt32(PrNum), Chks); return(""); } } else { PrintedChecks.Remove(CheckId); } } else { PrintedChecks.Remove(CheckId); return(""); } return(AlohaTSClass.GetPrintPredcheckById(CheckId, Convert.ToInt32(PrNum), false, null, innerString, Closed)); }
public static FayRetailCheckInfo GetCurentFRCheck() { Check CurChk = AlohaTSClass.GetCheckById((int)AlohaTSClass.GetCurentCheckId()); return(GetRetailCheckInfobyAlohaChk(CurChk)); }
internal static bool RunOper() { Check Chk = AlohaTSClass.GetCheckById((int)AlohaTSClass.AlohaCurentState.CheckId); return(RunOper(Chk)); }