internal static void ShowMsg(string Mess) { Utils.ToCardLog("Показал сообщение " + Mess); frmAllertMessage Mf = new frmAllertMessage(Mess); Mf.ShowDialog(); }
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 ShowCassirFrm() { if (!IsInited) { frmAllertMessage fa = new frmAllertMessage("К данному термналу не подключено устройство приема денежных средств."); fa.ShowDialog(); return; } FCCIntegration.MainClass2.ShowCassirFrm(); }
public static void ShowFrmCashIn() { if (!iniFile.CloseCheck) { frmAllertMessage fa = new frmAllertMessage("К данному термналу не подключен фискальный регистратор."); fa.ShowDialog(); return; } FrmCashIn frmCashIn = new FrmCashIn(); frmCashIn.ShowDialog(); }
public static void ShowRazmen() { if (IsInited) { FCCIntegration.MainClass2.ShowRazmenWnd(); } else { frmAllertMessage fa = new frmAllertMessage("К данному термналу не подключено устройство приема денежных средств."); fa.ShowDialog(); } }
static private void AskPaymentsCount(Check Chk, int TenderType, Action <int, Check> callback) { Utils.ToCardLog("AskPaymentsCount TenderType= " + TenderType.ToString()); int PaymentsCount = 0; if (TenderType == 0) { PaymentsCount = Convert.ToByte(iniFile.FCCEnable) + Convert.ToByte((iniFile.InPasEnabled) || (CreditCardAlohaIntegration.CreditCardConnectorEnabled)) * 2 + Convert.ToByte(iniFile.CreditCloseByWiterEnabled && (Chk.TableNumber >= 163)) * 4; Utils.ToCardLog("AskPaymentsCount PaymentsCount= " + PaymentsCount.ToString()); //BitArray Ba = new BitArray(new byte[] { PaymentsCount }); if (PaymentsCount == 0) { frmAllertMessage Mf = new frmAllertMessage("Нет подключенных модулей оплаты"); Mf.ShowDialog(); return; } if ((GetTrueBitCount(PaymentsCount) > 1) || (PaymentsCount == 4)) { Utils.ToCardLog("GetTrueBitCount(PaymentsCount) > 1"); PDiscountCard.AlohaI.WndPaymentSelect WndSelect = new AlohaI.WndPaymentSelect(); WndSelect.Chk = Chk; WndSelect.Callback = callback; WndSelect.Closed += new EventHandler(WndSelect_Closed); WndSelect.SetBtnsVis(PaymentsCount); WndSelect.WaiterName = AlohaTSClass.GetCurentWaterName(); Utils.ToCardLog("Before WndSelect.Show();"); WndSelect.Show(); PaymentsCount = WndSelect.Result; } else { callback(PaymentsCount, Chk); } } else { PaymentsCount = TenderType; callback(PaymentsCount, Chk); } }
public static void ShowAdmin() { if (IsInited) { /* * AlohaTSClass.CheckWindow(); * CurrentEmpl = AlohaTSClass.AlohaCurentState.EmployeeNumberCode; * Utils.ToLog("CurrentEmpl = " + CurrentEmpl.ToString()); * */ FCCIntegration.MainClass2.ShowAdminfrm(); } else { frmAllertMessage fa = new frmAllertMessage("К данному термналу не подключено устройство приема денежных средств."); fa.ShowDialog(); } }
/* * 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 SetBillWithHands() * { * * Utils.ToLog("SetBillWithHands "); * AlohaTSClass.CheckWindow(); * string str = ""; * Check Chk = AlohaTSClass.GetCheckById((int)AlohaTSClass.AlohaCurentState.CheckId); * AlohaTSClass.OrderAllItems(Chk.AlohaCheckNum, Chk.TableId, out str); * AlohaTSClass.ApplyPaymentAndClose(Chk.AlohaCheckNum, Chk.Summ, iniFile.FCCCash); * * * //FCCIntegration.MainClass.ShowWithHandsFrm(GetFCCCheckfromAloha(Chk)); * } */ public static bool InpectSmallChange(bool ShowSuccess) { Utils.ToLog("InpectSmallChange"); if (!IsInited) { frmAllertMessage fa = new frmAllertMessage("К данному термналу не подключено устройство приема денежных средств."); fa.ShowDialog(); return(false); } List <int> Minfvs = new List <int>(); List <int> NEfvs = new List <int>(); bool SmallChange = FCCIntegration.MainClass2.SmallChange(out Minfvs, out NEfvs); if (SmallChange) { string SmallChangeMess = "В устройстве отсутствует необходимое для сдачи количество банкнот (монет) номиналом " + Environment.NewLine; foreach (int fv in Minfvs) { SmallChangeMess += (fv / 100).ToString() + "р " + Environment.NewLine; } frmAllertMessage Mf = new frmAllertMessage(SmallChangeMess); Mf.ShowDialog(); return(false); } if (NEfvs.Count > 0) { string SmallChangeMess = "Количество банкнот (монет) номиналом: " + Environment.NewLine; foreach (int fv in NEfvs) { SmallChangeMess += (fv / 100).ToString() + "р " + Environment.NewLine; } frmAllertMessage Mf = new frmAllertMessage(SmallChangeMess + " близко к завершению"); Mf.ShowDialog(); } else { if (ShowSuccess) { frmAllertMessage Mf = new frmAllertMessage("В устройстве достаточно сдачи"); Mf.ShowDialog(); } } return(true); }
static internal bool CheckUnClosedChecks() { DirectoryInfo Di = new DirectoryInfo(ChecksPath); if (!Di.Exists) { Di.Create(); } if (Di.GetFiles("*.1").Count() == 0) { return(true); } Utils.ToCardLog("CheckUnClosedChecks"); frmAllertMessage Mf = new frmAllertMessage("Существуют незакрытые чеки. Будет произведена попытка закрытия чеков. После этого снова запустите отчет."); Mf.ShowDialog(); if (!Shtrih2.QuereIsEmpty()) { frmAllertMessage Mf2 = new frmAllertMessage("Очередь чеков содержит незакрытые чеки. Это говорит о неполадках ФР. Убедитесь в исправности ФР и перезапустите отчет."); Mf2.ShowDialog(); return(false); } foreach (FileInfo fi in Di.GetFiles("*.1")) { Utils.ToCardLog("CheckUnClosedChecks " + fi.Name); try { Check Ch = ReadCheckFromTmp(fi.FullName); Ch.FiskalFileName = fi.FullName; ToShtrih.CloseCheck2(Ch); } catch (Exception e) { Utils.ToCardLog("[Error] CheckUnClosedChecks " + e.Message); } } return(false); }
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(); } } }
private void EndApplyComp() { AlohaTSClass.CheckWindow(); string outMess = ""; //int OrderMode = ((DType==20)?10:1); 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; } int CompId = AlohaTSClass.ApplyComp(DType, "", out outMess); if (AlohaTSClass.GetCurentCheckSumm() != 0) { AlohaTSClass.ShowMessage("Не смог наложить 100% компенсацию. Проверьте, что все блюда чека входят в группу соответствующую скидки " + DType.ToString()); AlohaTSClass.DeleteComp(CompId); return; } if (outMess != "") { AlohaTSClass.ShowMessage(outMess); } else { if (CurrentEmp == null) { if (CurrentComment != "") { AlohaTSClass.SetManagerDiscountAttr((int)AlohaTSClass.AlohaCurentState.CheckId, CurrentComment, AlohaTSClass.AlohaCurentState.EmployeeNumberCode); } } else { if (CurrentComment != "") { AlohaTSClass.SetManagerDiscountAttr((int)AlohaTSClass.AlohaCurentState.CheckId, CurrentComment, CurrentEmp.Id); } else { AlohaTSClass.SetManagerDiscountAttr((int)AlohaTSClass.AlohaCurentState.CheckId, CurrentEmp.Name, CurrentEmp.Id); } } if (DType == 20) { for (int i = 0; i < ctrlHotelBreakfastCount1.GuestCount; i++) { double price = ctrlHotelBreakfastCount1.Price; if (ctrlHotelBreakfastCount1.IsSmall) { AlohaTSClass.AddDishToCurentChk(iniFile.HotelBreakfastBarCodeSmall, price); } else { AlohaTSClass.AddDishToCurentChk(iniFile.HotelBreakfastBarCode, price); } } // AlohaTSClass.ApplyFullPaymentToCurentChk(iniFile.HotelBreakfastPaymentId); } if (DType != 20) { AlohaTSClass.CloseCurentCheckAndTableByCurentUser(); } AlohaTSClass.ShowMessage("Компенсация успешно применена"); } this.Close(); }