static private ArcusSlip GetSlip(int Num) { ArcusSlips AS = ArcusAlohaIntegrator.ReadArcusSlips(); foreach (ArcusSlip S in AS.Slips) { if (S.Num == Num) { return(S); } } return(null); }
static internal void PrintShortReport() { Utils.ToCardLog("Печать краткого отчета"); ArcusSlips AS = ArcusAlohaIntegrator.ReadArcusSlips(); decimal Card = 0; int CardCount = 0; decimal Vozvr = 0; int VozvrCount = 0; foreach (ArcusSlip s in AS.Slips) { if (!s.Void) { Card += s.Sum / 100; CardCount++; } else { Vozvr += s.Sum / 100; VozvrCount++; } } List <string> ReportStrings = new List <string>(); ReportStrings.Add("ОБЩИЙ ОТЧЕТ && " + DateTime.Now.ToString("dd/MM/yyyy")); ReportStrings.Add("ПО ЭМИТЕНТАМ && " + DateTime.Now.ToString("HH:mm")); ReportStrings.Add(" "); ReportStrings.Add("ОПЛАТ && " + CardCount + " " + "RUR " + Card.ToString("0.00")); ReportStrings.Add(" "); ReportStrings.Add("ВОЗВРАТОВ && " + VozvrCount + " " + "RUR " + Vozvr.ToString("0.00")); ReportStrings.Add(" "); ReportStrings.Add("ИТОГО && " + (CardCount - VozvrCount) + " " + "RUR " + (Card - Vozvr).ToString("0.00")); ReportStrings.Add(" "); ReportStrings.Add(" "); string OutStr = ""; foreach (String s in ReportStrings) { OutStr += s + " " + char.ConvertFromUtf32(10)[0]; } Utils.ToCardLog("ReportStrings" + OutStr + char.ConvertFromUtf32(31)[0]); //ToShtrih.Init(); //ToShtrih.Conn(); PrintSlip(OutStr + char.ConvertFromUtf32(31)[0]); //ToShtrih.PrintCardCheck(OutStr + char.ConvertFromUtf32(31)[0]); }
static private void RunOper() { try { Utils.ToCardLog("Запуск RunOper OperType=" + OperType.ToString() + " Amount= " + Amount.ToString()); OperInProcess = true; SAPacketObj Request = new SAPacketObj(); SAPacketObj Response = new SAPacketObj(); PCPOSTConnectorObj Conn = new PCPOSTConnectorObj(); Request.Amount = (Amount * 100).ToString(); Request.OperationCode = OperType; Request.CurrencyCode = "643"; Request.DateTimeHost = DateTime.Now.ToString("yyyyMMddHHmmss"); //Conn.InitResources(); Conn.Exchange(ref Request, ref Response, 10); RespCode = Response.ResponseCodeHost.Trim(); Utils.ToCardLog("[RunOper] Операция выполнена. Результат: " + RespCode); Receipt = ReadChequeFile(); if ((RespCode == "00") || (RespCode == "000")) { if ((OperType == 1) || (OperType == 4)) { string Tmp = Receipt; Tmp += Convert.ToChar(31) + Environment.NewLine; Tmp += Receipt; Receipt = Tmp; try { Utils.ToCardLog("[RunOper] Добавляю Слип в Файл."); ArcusSlips AS = ArcusAlohaIntegrator.ReadArcusSlips(); DateTime HDT = DateTime.Now; try { HDT = Convert.ToDateTime(Response.DateTimeCRM); } catch { } ArcusSlip S = new ArcusSlip() { HostDt = HDT, Sum = Convert.ToDecimal(Response.Amount), Void = (Response.OperationCode == 4), Num = Response.TrxIDCRM }; string[] Str = Receipt.Split(char.ConvertFromUtf32(10)[0]); foreach (string str in Str) { Utils.ToCardLog(str); S.Slip.Add(str); } decimal SummFromTxt = GetSummFromSlip(S.Slip); if ((SummFromTxt != 0) && (S.Sum != SummFromTxt * 100)) { Utils.ToCardLog("Error Разные суммы в слипе " + SummFromTxt.ToString() + " и ответе от терминала. " + S.Sum.ToString()); S.Sum = SummFromTxt * 100; } AS.Slips.Add(S); ArcusAlohaIntegrator.WriteArcusSlips(AS); Utils.ToCardLog("[RunOper] Добавлил Слип в Файл."); } catch (Exception e) { Utils.ToCardLog("[Error] Ошибка добавления слипа в файл." + e.Message); } } } else { try { EventSenderClass.SendAlohaAsincEvent(StopListService.AlohaEventType.ErrorCreditCardterminal, "", AlohaTSClass.AlohaCurentState.WaterId, AlohaTSClass.GetJobCode(AlohaTSClass.AlohaCurentState.WaterId), "", Convert.ToInt32(RespCode), (int)AlohaTSClass.AlohaCurentState.TableId, (int)AlohaTSClass.AlohaCurentState.CheckId); } catch { } } resOper = GetCodeDescr(RespCode); if (!Sinc) { RunOperationAsincComplitedVoid(RespCode, resOper, "", Receipt); } OperInProcess = false; Utils.ToCardLog("Отработал RunOper OperType=" + OperType.ToString() + " Amount= " + Amount.ToString()); } catch (Exception e) { resOper = "Ошибка программы. " + e.Message; RespCode = "-1"; if (!Sinc) { RunOperationAsincComplitedVoid(RespCode, resOper, "", ""); } Utils.ToCardLog("[Error] Запускa RunOper " + e.Message); } }