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 void SetDiscount(string CardTrack, FayRetailCheckInfo Chk, string Cashier, double Amount) * { * string res = FayRetailClient.GetPaymentRequestData(CardTrack, Chk, Cashier, Amount); * } */ private static FayRetailCheckInfo GetRetailCheckInfobyAlohaChk(Check Chk) { FayRetailCheckInfo FRCheck = new FayRetailCheckInfo(); FRCheck.Items = new List <ChequeLine>(); int POsId = 0; foreach (Dish d in Chk.Dishez) { POsId++; decimal Count = d.Count * d.QUANTITY * d.QtyQUANTITY; decimal OSummNetto = (decimal)Math.Round(d.OPriceone * (double)Count, 2, MidpointRounding.ToEven); decimal SummNetto = (decimal)Math.Round(d.Priceone * (double)Count, 2, MidpointRounding.ToEven) + d.Delta + d.ServiceChargeSumm; ChequeLine ChLine = new ChequeLine() { PosID = POsId, Barcode = d.BarCode.ToString(), Price = (double)d.Price, Quantity = (double)Count, Amount = (double)(d.Price * d.Count), Name = d.LongName }; FRCheck.Items.Add(ChLine); } FRCheck.Pays = new List <Pay>(); foreach (AlohaTender ATndr in Chk.Tenders) { //string FRPayTypeName = ATndr.AlohaTenderId == 1 ? "Cash" : "Card"; Pay P = new Pay() { Amount = ATndr.Summ.ToString(), Type = ATndr.AlohaTenderId == 1 ? "Cash" : "Card", }; FRCheck.Pays.Add(P); } if (Chk.Comps.Where(a => a.Id == iniFile.FayRetailDiscountId).Count() > 0) { Pay P = new Pay() { Amount = Chk.Comps.Where(a => a.Id == iniFile.FayRetailDiscountId).Sum(a => a.Amount).ToString(), Type = "FAYRETAIL", }; FRCheck.Pays.Add(P); } FRCheck.ChequeDate = DateTime.Now; FRCheck.ChequeNumber = Chk.AlohaCheckNum.ToString(); return(FRCheck); }
public static void TestWnd() { FayRetailCheckInfo CheckInfo = new FayRetailCheckInfo() { Items = GetTestChequeLines(), ChequeNumber = "10002", ChequeDate = DateTime.Now }; FayRetailMain.ShowWndApplyCard(CheckInfo); }
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 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 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 RequestData GetCalculateRequestData(string CardTrack, FayRetailCheckInfo CheckInfo, string Cashier) { RequestData Request = new RequestData(); Request.Calculates = new List <CalculateRequest>(); CalculateRequest CalcRequest = new CalculateRequest(); CalcRequest = (CalculateRequest)GetCommandRequest(CalcRequest, CardTrack, 1, Cashier); CalcRequest.Cashier = Cashier; CalcRequest.PurchaseID = CheckInfo.PurchaseID; CalcRequest.Cheque = new Cheque(CheckInfo); Request.Calculates.Add(CalcRequest); return(Request); }
public static RequestData GetPaymentRequestData(string CardTrack, FayRetailCheckInfo CheckInfo, string Cashier, double Amount) { RequestData Request = new RequestData(); Request.Payments = new List <PaymentRequest>(); PaymentRequest CalcRequest = new PaymentRequest(); CalcRequest = (PaymentRequest)GetCommandRequest(CalcRequest, CardTrack, 1, Cashier); CalcRequest.Cashier = Cashier; CalcRequest.PurchaseID = CheckInfo.PurchaseID; CalcRequest.Cheque = new Cheque(CheckInfo); CalcRequest.Amount = Amount; Request.Payments.Add(CalcRequest); return(Request); }
public static void ShowWndApplyCard(FayRetailCheckInfo DefaultCheck) { ctrlApplyFayRetailCard ctrlSetCard = new ctrlApplyFayRetailCard(); ctrlSetCard.SetCurCheck(DefaultCheck, AlohaTSClass.CurentWaiter.ToString()); PDSystem.AlertModalWindow wnd = PDSystem.ModalWindowsForegraund.GetModalWindow(ctrlSetCard); //PDSystem.AlertModalWindow wnd = new PDSystem.AlertModalWindow(); //wnd.SetContent(ctrlSetCard); ctrlSetCard.SetOwnerWnd(wnd); ctrlSetCard.Height = 700; ctrlSetCard.Width = 950; //wnd.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterScreen; //wnd.WindowState = System.Windows.WindowState.Maximized; ctrlSetCard.SettbCodeFocus(); wnd.ShowDialog(); }
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 Cheque(FayRetailCheckInfo CheckInfo) { Items = CheckInfo.Items; ChequeNumber = CheckInfo.ChequeNumber; ChequeDate = CheckInfo.ChequeDate; }
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); }
public void SetCurCheck(FayRetailCheckInfo curentCheck, string cashier) { CurentCheck = curentCheck; CurentCashier = cashier; }