public static CalculateResponse ApplyCardToCheck(string CardTrack, FayRetailCheckInfo CheckInfo, string Cashier, out string ErrMessage) { ErrMessage = ""; try { Utils.ToCardLog("ApplyCardToCheck CardTrack: " + CardTrack); RequestData CalcRequest = GetCalculateRequestData(CardTrack, CheckInfo, Cashier); string CalcRequestStr = XMLSerializer.RequestSerializer(CalcRequest); string StatusDescription = ""; System.Net.HttpStatusCode StatusCode = System.Net.HttpStatusCode.OK; string CalcAnsw2 = FayRetailClient.SendDataToSrv(CalcRequestStr, out StatusDescription, out StatusCode); if (StatusCode == HttpStatusCode.OK) { ResponseData Aswer = XMLSerializer.ResponseDeSerializer(CalcAnsw2); if (Aswer.ErrorCode == 0) { if ((Aswer.Calculates != null) && (Aswer.Calculates.Count > 0)) { return(Aswer.Calculates[0]); } ErrMessage = "Не могу показать баланс по карте. Пустой ответ от сервера."; return(null); } ErrMessage = "Не могу показать баланс по карте. Ошибка в ответе от сервера: " + Aswer.ErrorMessage; return(null); } ErrMessage = "Не могу показать баланс по карте. Ошибка сервера: " + StatusDescription; return(null); } catch (Exception e) { Utils.ToCardLog("Error ApplyCardToCheck " + e.Message); return(null); } }
public static bool SendConfirm(string PurchaseId, string Cashier, out string Message) { Message = ""; try { Utils.ToCardLog("SendConfirm PurchaseId: " + PurchaseId); RequestData PurchaseRequest = GetConfirmPurchaseRequestData(PurchaseId, Cashier); string PurchaseRequestStr = XMLSerializer.RequestSerializer(PurchaseRequest); string StatusDescription = ""; System.Net.HttpStatusCode StatusCode = System.Net.HttpStatusCode.OK; string CalcAnsw2 = FayRetailClient.SendDataToSrv(PurchaseRequestStr, out StatusDescription, out StatusCode); Utils.ToCardLog("SendConfirm FayRetailClient.SendDataToSrv end: StatusCode: " + StatusCode.ToString()); if (StatusCode == HttpStatusCode.OK) { ResponseData Aswer = XMLSerializer.ResponseDeSerializer(CalcAnsw2); if (Aswer.ErrorCode == 0) { Utils.ToCardLog("SendConfirm Ok"); return(true); } Message = "Ошибка в ответе от сервера: " + Aswer.ErrorMessage; return(false); } Message = "Ошибка сервера: " + StatusDescription; return(false); } catch (Exception e) { Message = "Error ApplyFayRetPaymentToCheck " + e.Message; Utils.ToCardLog("Error ApplyFayRetPaymentToCheck " + e.Message); return(false); } }
public static string TestBalance() { RequestData BalanceData = FayRetailClient.GetBalanceRequestData(CardTrack, Cashier); string BalanceRequestStr = XMLSerializer.RequestSerializer(BalanceData); string BalAnsw = ""; System.Net.HttpStatusCode StatusCode = System.Net.HttpStatusCode.OK; string res = FayRetailClient.SendDataToSrv(BalanceRequestStr, out BalAnsw, out StatusCode); return(BalAnsw + Environment.NewLine + res); }
public static string Test2() { string PurchaseID = Guid.NewGuid().ToString().Replace("-", ""); FayRetailCheckInfo CheckInfo = new FayRetailCheckInfo() { Items = GetTestChequeLines(), ChequeNumber = "10002", ChequeDate = DateTime.Now }; Pay P1 = new Pay() { Amount = (150.5 + 123.5).ToString(), Type = "Card" }; CheckInfo.Pays = new List <Pay>(); CheckInfo.Pays.Add(P1); RequestData Data = FayRetailClient.GetCalculateRequestData(CardTrack, CheckInfo, Cashier); string CalcRequestStr = XMLSerializer.RequestSerializer(Data); string CalcAnsw = ""; System.Net.HttpStatusCode StatusCode = System.Net.HttpStatusCode.OK; string CalcAnsw2 = FayRetailClient.SendDataToSrv(CalcRequestStr, out CalcAnsw, out StatusCode); RequestData DiscData = FayRetailClient.GetDiscountRequestData(CardTrack, CheckInfo, Cashier); string DiscRequestStr = XMLSerializer.RequestSerializer(DiscData); string DiscAnsw = ""; string DiscAnsw2 = FayRetailClient.SendDataToSrv(DiscRequestStr, out DiscAnsw, out StatusCode); RequestData PurcData = FayRetailClient.GetConfirmPurchaseRequestData(Cashier, PurchaseID); string PurcRequestStr = XMLSerializer.RequestSerializer(PurcData); string PurcAnsw = ""; string PurcAnsw2 = FayRetailClient.SendDataToSrv(PurcRequestStr, out PurcAnsw, out StatusCode); string Resstr = "Calc:" + Environment.NewLine + CalcRequestStr + Environment.NewLine + "CalcResp:" + Environment.NewLine + CalcAnsw + Environment.NewLine + CalcAnsw2 + Environment.NewLine + "Disc:" + Environment.NewLine + DiscRequestStr + Environment.NewLine + Environment.NewLine + "DiscResp:" + Environment.NewLine + DiscAnsw + Environment.NewLine + DiscAnsw2 + Environment.NewLine + "Purc:" + Environment.NewLine + PurcRequestStr + Environment.NewLine + Environment.NewLine + "PurcResp:" + Environment.NewLine + PurcAnsw + Environment.NewLine + PurcAnsw2 + Environment.NewLine; return(Resstr); }
public static string GetTest1XmlString() { string PurchaseID = Guid.NewGuid().ToString().Replace("-", ""); FayRetailCheckInfo CheckInfo = new FayRetailCheckInfo() { Items = GetTestChequeLines(), ChequeNumber = "10002", ChequeDate = DateTime.Now }; RequestData Data = FayRetailClient.GetCalculateRequestData(CardTrack, CheckInfo, "1001"); return(XMLSerializer.RequestSerializer(Data)); }
/* * public static void AddCheckToConfirm(string CheckIdStr, string PId, string Mess) * { * try * { * int CheckId = Convert.ToInt32(CheckIdStr); * Utils.ToCardLog("AddCheckToConfirm CheckId " + CheckId); * string Res = ""; * if (ChecksNeedToConfirm.TryGetValue(CheckId, out Res)) * { * ChecksNeedToConfirm.Remove(CheckId); * } * string PId2 = ""; * if (ChecksIdPurchaseId.TryGetValue(CheckId, out PId2)) * { * ChecksIdPurchaseId.Remove(CheckId); * } * ChecksNeedToConfirm.Add(CheckId, Mess); * ChecksIdPurchaseId.Add(CheckId, PId); * } * catch(Exception e) * { * Utils.ToCardLog("AddCheckToConfirm CheckId Error " + e.Message); * } * * } */ public static List <string> CloseCheck(Check AlCheck) { try { Utils.ToCardLog("FayRetail CloseCheck " + AlCheck.AlohaCheckNum); string Card = ""; if (ChecksNeedToAddBonus.TryGetValue(AlCheck.AlohaCheckNum, out Card)) { Utils.ToCardLog("FayRetail CloseCheck check find Card: " + Card); FayRetailCheckInfo ChInf = GetRetailCheckInfobyAlohaChk(AlCheck); string Msg = ""; string MsgConf = ""; string Cassier = AlohaTSClass.CurentWaiter.ToString(); FayRetailClient.AddBonustoCard(Card, ChInf, Cassier, out Msg); FayRetailClient.SendConfirm(ChInf.PurchaseID, Cassier, out MsgConf); List <string> Res = Msg.Split('\n').ToList(); Utils.ToCardLog("FayRetail CloseCheck return: AddBonustoCardMsg: " + Msg + " SendConfirmMsg: " + MsgConf); return(Res); } return(null); /* * string Res = ""; * if (ChecksNeedToConfirm.TryGetValue(CheckId, out Res)) * { * Utils.ToCardLog("FayRetail CloseCheck Find mess" + Res); * string PId = ""; * if (ChecksIdPurchaseId.TryGetValue(CheckId, out PId)) * { * string ErrMsg = ""; * FayRetailClient.SendConfirm(PId, AlohaTSClass.CurentWaiter.ToString(), out ErrMsg); * ChecksIdPurchaseId.Remove(CheckId); * } * ChecksNeedToConfirm.Remove(CheckId); * return Res; * } * * return ""; * */ } catch (Exception e) { Utils.ToCardLog("FayRetail CloseCheck Error" + e.Message); return(null); } }
public static string TestConfirmPurchase(string PurchaseID) { System.Net.HttpStatusCode StatusCode = System.Net.HttpStatusCode.OK; RequestData PurcData = FayRetailClient.GetConfirmPurchaseRequestData(Cashier, PurchaseID); string PurcRequestStr = XMLSerializer.RequestSerializer(PurcData); string PurcAnsw = ""; string PurcAnsw2 = FayRetailClient.SendDataToSrv(PurcRequestStr, out PurcAnsw, out StatusCode); string Res = "Purc:" + Environment.NewLine + PurcRequestStr + Environment.NewLine + Environment.NewLine + "PurcResp:" + Environment.NewLine + PurcAnsw + Environment.NewLine + PurcAnsw2 + Environment.NewLine; return(Res); }
private void CardRead() { this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate() { string CardNum = tbCode.Text; string ErrMsg = ""; BalanceResponse BalResp = FayRetailClient.GetBalance(CardNum, CurentCashier, out ErrMsg); if (BalResp == null) { tbCode.Focus(); tbError.Text = ErrMsg; } else { CalculateResponse Resp = FayRetailClient.ApplyCardToCheck(CardNum, CurentCheck, CurentCashier, out ErrMsg); if (Resp == null) { tbCode.Focus(); tbError.Text = ErrMsg; } else { guestName.Text = BalResp.Card.Holder; //Resp.Card.Holder; if ((CurentCheck.Items != null) && (CurentCheck.Items.Count() > 0)) { tbAllChkSumm.Text = CurentCheck.Items.Sum(a => a.Amount).ToString("C2"); } else { tbAllChkSumm.Text = "0"; } tbBalance.Text = BalResp.BonusAmount.ToString("C2"); tbBalanceAvaible.Text = Resp.AvailableAmount.ToString("C2"); MaxBonusSumm = Math.Min(CurentCheck.TotalSumm - 1, Math.Floor(Resp.AvailableAmount * 100) / 100); SetVisState(1); } } } ); }
public static bool ApplyFayRetPaymentToCheck(string CardTrack, FayRetailCheckInfo CheckInfo, string Cashier, double Amount, out string Message) { Message = ""; try { Utils.ToCardLog("ApplyDiscount CardTrack: " + CardTrack); RequestData PaymentRequest = GetPaymentRequestData(CardTrack, CheckInfo, Cashier, Amount); string PaymentRequestStr = XMLSerializer.RequestSerializer(PaymentRequest); string StatusDescription = ""; System.Net.HttpStatusCode StatusCode = System.Net.HttpStatusCode.OK; string CalcAnsw2 = FayRetailClient.SendDataToSrv(PaymentRequestStr, out StatusDescription, out StatusCode); Utils.ToCardLog("ApplyDiscount FayRetailClient.SendDataToSrv end: StatusCode: " + StatusCode.ToString()); if (StatusCode == HttpStatusCode.OK) { ResponseData Aswer = XMLSerializer.ResponseDeSerializer(CalcAnsw2); if (Aswer.ErrorCode == 0) { if ((Aswer.Payments != null) && (Aswer.Payments.Count > 0)) { Message = Aswer.Payments[0].ChequeMessageDecript; return(true); } Message = "Пустой ответ от сервера."; return(false); } Message = "Ошибка в ответе от сервера: " + Aswer.ErrorMessage; return(false); } Message = "Ошибка сервера: " + StatusDescription; return(false); } catch (Exception e) { Message = "Error ApplyFayRetPaymentToCheck " + e.Message; Utils.ToCardLog("Error ApplyFayRetPaymentToCheck " + e.Message); return(false); } }
private void ApplyDiscount(double Amount) { this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (ThreadStart) delegate() { string DiscErr = ""; int CompId = AlohaTSClass.ApplyComp(iniFile.FayRetailDiscountId, out DiscErr, Amount); if (CompId == 0) { tbCode.Focus(); tbError.Text = "Ошибка применения скидки на чек " + DiscErr; SetVisState(0); } else { CurentCheck = FayRetail.FayRetailMain.GetCurentFRCheck(); string CardNum = tbCode.Text; string ErrMsg = ""; bool Res = FayRetailClient.ApplyFayRetPaymentToCheck(CardNum, CurentCheck, CurentCashier, Amount, out ErrMsg); Utils.ToCardLog("ApplyDiscount FayRetailClient.ApplyFayRetPaymentToCheck end Res: " + Res.ToString()); if (!Res) { tbCode.Focus(); tbError.Text = ErrMsg; AlohaTSClass.DeleteComp(CompId); SetVisState(0); } else { FayRetailMain.AddCheckToAddBonus(CurentCheck.ChequeNumber, CardNum); tbFinalMsg.Text = "Успешно. " + ErrMsg; SetVisState(3); } } } ); }
public static string TestAddBonus(string PurchaseID) { FayRetailCheckInfo CheckInfo = new FayRetailCheckInfo() { Items = GetTestChequeLines(), ChequeNumber = "10002", ChequeDate = DateTime.Now }; RequestData Data = FayRetailClient.GetCalculateRequestData(CardTrack, CheckInfo, Cashier); string CalcRequestStr = XMLSerializer.RequestSerializer(Data); string CalcAnsw = ""; System.Net.HttpStatusCode StatusCode = System.Net.HttpStatusCode.OK; string CalcAnsw2 = FayRetailClient.SendDataToSrv(CalcRequestStr, out CalcAnsw, out StatusCode); RequestData DiscData = FayRetailClient.GetDiscountRequestData(CardTrack, CheckInfo, Cashier); string DiscRequestStr = XMLSerializer.RequestSerializer(DiscData); string DiscAnsw = ""; string DiscAnsw2 = FayRetailClient.SendDataToSrv(DiscRequestStr, out DiscAnsw, out StatusCode); string DiscRespMessage = ""; if (StatusCode == System.Net.HttpStatusCode.OK) { ResponseData Aswer = XMLSerializer.ResponseDeSerializer(DiscAnsw2); if (Aswer.ErrorCode == 0) { if ((Aswer.Discounts != null) && (Aswer.Discounts.Count > 0)) { DiscRespMessage = Aswer.Discounts[0].ChequeMessageDecript; } else { DiscRespMessage = "Пустой ответ от сервера."; } } else { DiscRespMessage = "Ошибка в ответе от сервера: " + Aswer.ErrorMessage; } } /* * RequestData PurcData = FayRetailClient.GetConfirmPurchaseRequestData(Cashier, PurchaseID); * string PurcRequestStr = XMLSerializer.RequestSerializer(PurcData); * string PurcAnsw = ""; * string PurcAnsw2 = FayRetailClient.SendDataToSrv(PurcRequestStr, out PurcAnsw, out StatusCode); */ string Resstr = "Calc:" + Environment.NewLine + CalcRequestStr + Environment.NewLine + "CalcResp:" + Environment.NewLine + CalcAnsw + Environment.NewLine + CalcAnsw2 + Environment.NewLine + "Disc:" + Environment.NewLine + DiscRequestStr + Environment.NewLine + Environment.NewLine + "DiscResp:" + Environment.NewLine + DiscAnsw + Environment.NewLine + DiscAnsw2 + Environment.NewLine + "DiscRespMessage:" + Environment.NewLine + DiscRespMessage + Environment.NewLine; /* * "Purc:" + Environment.NewLine + * PurcRequestStr + Environment.NewLine + Environment.NewLine + * "PurcResp:" + Environment.NewLine + * PurcAnsw + Environment.NewLine + PurcAnsw2 + Environment.NewLine; * */ return(Resstr); }
public static string TestPayment(string PurchaseID, double PAmount) { FayRetailCheckInfo CheckInfo = new FayRetailCheckInfo() { Items = GetTestChequeLines(), ChequeNumber = "10005", ChequeDate = DateTime.Now }; RequestData Data = FayRetailClient.GetCalculateRequestData(CardTrack, CheckInfo, Cashier); string CalcRequestStr = XMLSerializer.RequestSerializer(Data); string CalcAnsw = ""; System.Net.HttpStatusCode StatusCode = System.Net.HttpStatusCode.OK; string CalcAnsw2 = FayRetailClient.SendDataToSrv(CalcRequestStr, out CalcAnsw, out StatusCode); RequestData PData = FayRetailClient.GetPaymentRequestData(CardTrack, CheckInfo, Cashier, PAmount); string PRequestStr = XMLSerializer.RequestSerializer(PData); string PAnsw = ""; string PAnsw2 = FayRetailClient.SendDataToSrv(PRequestStr, out PAnsw, out StatusCode); string PRespMessage = ""; if (StatusCode == System.Net.HttpStatusCode.OK) { ResponseData Aswer = XMLSerializer.ResponseDeSerializer(PAnsw2); if (Aswer.ErrorCode == 0) { if ((Aswer.Payments != null) && (Aswer.Payments.Count > 0)) { PRespMessage = Aswer.Payments[0].ChequeMessageDecript; } else { PRespMessage = "Пустой ответ от сервера."; } } else { PRespMessage = "Ошибка в ответе от сервера: " + Aswer.ErrorMessage; } } CheckInfo.Pays = new List <Pay>(); //CheckInfo.Pays.Clear(); CheckInfo.Pays.Add(new Pay() { Amount = PAmount.ToString(), Type = "FAYRETAIL" }); CheckInfo.Pays.Add(new Pay() { Amount = (CheckInfo.TotalSumm - PAmount).ToString(), Type = "Cash" } ); RequestData DiscData = FayRetailClient.GetDiscountRequestData(CardTrack, CheckInfo, Cashier); string DiscRequestStr = XMLSerializer.RequestSerializer(DiscData); string DiscAnsw = ""; string DiscAnsw2 = FayRetailClient.SendDataToSrv(DiscRequestStr, out DiscAnsw, out StatusCode); string DiscRespMessage = ""; if (StatusCode == System.Net.HttpStatusCode.OK) { ResponseData Aswer = XMLSerializer.ResponseDeSerializer(DiscAnsw2); if (Aswer.ErrorCode == 0) { if ((Aswer.Discounts != null) && (Aswer.Discounts.Count > 0)) { DiscRespMessage = Aswer.Discounts[0].ChequeMessageDecript; } else { DiscRespMessage = "Пустой ответ от сервера."; } } else { DiscRespMessage = "Ошибка в ответе от сервера: " + Aswer.ErrorMessage; } } /* * RequestData PurcData = FayRetailClient.GetConfirmPurchaseRequestData(Cashier, PurchaseID); * string PurcRequestStr = XMLSerializer.RequestSerializer(PurcData); * string PurcAnsw = ""; * string PurcAnsw2 = FayRetailClient.SendDataToSrv(PurcRequestStr, out PurcAnsw, out StatusCode); */ string Resstr = "Calc:" + Environment.NewLine + CalcRequestStr + Environment.NewLine + "CalcResp:" + Environment.NewLine + CalcAnsw + Environment.NewLine + CalcAnsw2 + Environment.NewLine + "Disc:" + Environment.NewLine + PRequestStr + Environment.NewLine + Environment.NewLine + "DiscResp:" + Environment.NewLine + PAnsw + Environment.NewLine + PAnsw2 + Environment.NewLine + "DiscRespMessage:" + Environment.NewLine + PRespMessage + Environment.NewLine + "Disc:" + Environment.NewLine + DiscRequestStr + Environment.NewLine + Environment.NewLine + "DiscResp:" + Environment.NewLine + DiscAnsw + Environment.NewLine + DiscAnsw2 + Environment.NewLine + "DiscRespMessage:" + Environment.NewLine + DiscRespMessage + Environment.NewLine; /* * "Purc:" + Environment.NewLine + * PurcRequestStr + Environment.NewLine + Environment.NewLine + * "PurcResp:" + Environment.NewLine + * PurcAnsw + Environment.NewLine + PurcAnsw2 + Environment.NewLine; * */ return(Resstr); }