/// <summary> /// Increase givex amount /// </summary> /// <param name="strCardNum">Card number</param> /// <param name="amount">Amount</param> /// <param name="saleNum">Sale number</param> /// <param name="newBalance">New balance</param> /// <param name="refNum">Reference number</param> /// <param name="userCode">User code</param> /// <param name="errorMessage">Error message</param> /// <param name="givexReceipt">Givex receipt</param> /// <returns>True or false</returns> public bool IncreaseGiveX(string strCardNum, float amount, int saleNum, ref decimal newBalance, ref string refNum, string userCode, out ErrorMessage errorMessage, out GiveXReceiptType givexReceipt) { var dateStart = DateTime.Now; Performancelog.Debug($"Start,GivexClientManager,IncreaseGiveX,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}"); givexReceipt = new GiveXReceiptType(); var returnValue = false; errorMessage = new ErrorMessage(); var response = new Variables.GiveXResponseType(); var capValue = new object[3]; newBalance = 0; refNum = ""; if (strCardNum.Trim() == "") { return(false); } modStringPad.InitGiveXRequest(); Variables.GX_Request.ServiceType = "Increment"; Variables.GX_Request.UserID = Convert.ToString(_givexPolicies["GIVEX_USER"]); Variables.GX_Request.UserPassword = Convert.ToString(_givexPolicies["GIVEX_PASS"]); Variables.GX_Request.OperatorID = Convert.ToString(userCode); // "ALL" Variables.GX_Request.GivexNumber = strCardNum.Trim(); Variables.GX_Request.Language = "0"; Variables.GX_Request.Amount = (amount).ToString(CultureInfo.InvariantCulture); Variables.GX_Request.TransactionCode = (saleNum).ToString(); Variables.GX_Request.TransmissionDate = DateAndTime.Today.ToString("MM/dd/yyyy"); Variables.GX_Request.TransmissionTime = DateAndTime.TimeOfDay.ToString("hh:mm:ss"); Variables.GX_Request.TerminalID = "ALL"; var strSend = modStringPad.GetGiveXRequest(); if (SendGiveXRequest(strSend, "Increment," + (saleNum), "Increment", ref response, out errorMessage)) { if (response.Result != "Approved") { if (!string.IsNullOrEmpty(response.TransactionReference)) { if (response.TransactionReference.Trim() == "") { capValue[1] = ""; } else { capValue[1] = "(" + response.TransactionReference.Trim() + ") "; } } else { capValue[1] = ""; } capValue[2] = strCardNum.Trim(); // Call DisplayMsgForm("Invalid response {}from GiveX TPS, CANNOT increase the amount for GiveX card {}.", 99) errorMessage.MessageStyle = _resourceManager.DisplayMsgForm(_offSet, 3270, 99, capValue, CriticalOkMessageType); return(false); } if (response.GivexNumber != strCardNum.Trim()) { capValue[1] = ""; capValue[2] = strCardNum.Trim(); //Call DisplayMsgForm("Invalid response {}from GiveX TPS, CANNOT increase the amount for GiveX card {}.", 99) errorMessage.MessageStyle = _resourceManager.DisplayMsgForm(_offSet, 3270, 99, null, CriticalOkMessageType); return(false); } newBalance = decimal.Parse(response.CertificateBalance); refNum = response.TransactionReference; returnValue = true; modStringPad.InitGiveXReceipt(); Variables.GX_Receipt.Date = DateAndTime.Today.ToString("MM/dd/yyyy"); Variables.GX_Receipt.Time = DateAndTime.TimeOfDay.ToString("hh:mm:ss"); Variables.GX_Receipt.UserID = Convert.ToString(_givexPolicies["GIVEX_PASS"]); Variables.GX_Receipt.TranType = 5; //Increment Variables.GX_Receipt.SeqNum = (saleNum).ToString(); Variables.GX_Receipt.CardNum = response.GivexNumber; Variables.GX_Receipt.ExpDate = string.Format(response.ExpiryDate, "yyMM"); Variables.GX_Receipt.Balance = (float)(Conversion.Val(response.CertificateBalance)); Variables.GX_Receipt.SaleAmount = amount; Variables.GX_Receipt.PointBalance = (float)(Conversion.Val(response.PointsBalance)); Variables.GX_Receipt.ResponseCode = response.Result; givexReceipt = new GiveXReceiptType { Date = DateAndTime.Today.ToString("MM/dd/yyyy"), Time = DateAndTime.TimeOfDay.ToString("hh:mm:ss"), UserID = Convert.ToString(_givexPolicies["GIVEX_PASS"]), TranType = 5,//Increment SeqNum = (saleNum).ToString(), CardNum = response.GivexNumber, ExpDate = string.Format(response.ExpiryDate, "yyMM"), Balance = (float)(Conversion.Val(response.CertificateBalance)), SaleAmount = amount, PointBalance = (float)(Conversion.Val(response.PointsBalance)), ResponseCode = response.Result }; } Performancelog.Debug($"End,GivexClientManager,IncreaseGiveX,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(returnValue); }
// Feb 25, 2009: Nicolette moved here this function from modGlobalFunctions module // It is called only in this form, so there is no reason to have it public // Also, in order to fix the GiveX issue (click or scroll when GiveX is processed // messes up other Tenders_Renamed) this function has to access boolCardProcessing variable // that is a private variable to this form, so I would have had to make boolCardProcessing // public if the function has not been moved /// <summary> /// Method to redeem givex /// </summary> /// <param name="userCode">User code</param> /// <param name="strCardNum">Card number</param> /// <param name="amount">Amount</param> /// <param name="securityCode">Security code</param> /// <param name="saleNum">Sale number</param> /// <param name="newBalance">New balance</param> /// <param name="refNum">Reference number</param> /// <param name="expDate">Expiry date</param> /// <param name="result">Result</param> /// <param name="errorMessage">Error message</param> /// <param name="givexReceipt">Givex receipt</param> /// <returns>Trur or false</returns> public bool RedeemGiveX(string userCode, string strCardNum, float amount, string securityCode, int saleNum, ref decimal newBalance, ref string refNum, ref string expDate, ref string result, out ErrorMessage errorMessage, out GiveXReceiptType givexReceipt) { errorMessage = new ErrorMessage(); givexReceipt = new GiveXReceiptType(); string strSend = ""; var response = new Variables.GiveXResponseType(); var capValue = new object[3]; var returnValue = false; newBalance = 0; refNum = ""; if (string.IsNullOrEmpty(strCardNum)) { return(false); } modStringPad.InitGiveXRequest(); Variables.GX_Request.ServiceType = "Redemption"; Variables.GX_Request.UserID = Convert.ToString(_givexPolicies["GIVEX_USER"]); Variables.GX_Request.UserPassword = Convert.ToString(_givexPolicies["GIVEX_PASS"]); Variables.GX_Request.OperatorID = Convert.ToString(userCode); // "ALL" Variables.GX_Request.GivexNumber = strCardNum.Trim(); Variables.GX_Request.Language = "0"; Variables.GX_Request.Amount = (amount).ToString(); Variables.GX_Request.TransactionCode = (saleNum).ToString(); Variables.GX_Request.SecurityCode = securityCode.Trim(); Variables.GX_Request.TransmissionDate = DateAndTime.Today.ToString("MM/dd/yyyy"); Variables.GX_Request.TransmissionTime = DateAndTime.TimeOfDay.ToString("hh:mm:ss"); Variables.GX_Request.TerminalID = "ALL"; strSend = modStringPad.GetGiveXRequest(); if (SendGiveXRequest(strSend, "Redemption," + saleNum, "Redemption", ref response, out errorMessage)) { if (response.Result != "Approved") { if (response.TransactionReference.Trim() == "") { capValue[1] = ""; } else { capValue[1] = "(" + response.TransactionReference.Trim() + ") "; } capValue[2] = strCardNum.Trim(); errorMessage.MessageStyle = _resourceManager.DisplayMsgForm(_offSet, 3271, 99, capValue, 0); return(false); } if (response.GivexNumber != strCardNum.Trim()) { capValue[1] = ""; capValue[2] = strCardNum.Trim(); errorMessage.MessageStyle = _resourceManager.DisplayMsgForm(_offSet, 3271, 99, capValue, 0); } else { newBalance = (decimal)(Conversion.Val(response.CertificateBalance)); refNum = response.TransactionReference; expDate = response.ExpiryDate != "****" ? string.Format("yyMM", response.ExpiryDate) : response.ExpiryDate; result = response.Result; returnValue = true; modStringPad.InitGiveXReceipt(); Variables.GX_Receipt.Date = DateAndTime.Today.ToString("MM/dd/yyyy"); Variables.GX_Receipt.Time = DateAndTime.TimeOfDay.ToString("hh:mm:ss"); Variables.GX_Receipt.UserID = Convert.ToString(_givexPolicies["GIVEX_USER"]); Variables.GX_Receipt.TranType = 6; //Redemption Variables.GX_Receipt.SeqNum = (saleNum).ToString(); Variables.GX_Receipt.CardNum = response.GivexNumber; Variables.GX_Receipt.ExpDate = response.ExpiryDate != "****" ? string.Format("yyMM", response.ExpiryDate) : response.ExpiryDate; Variables.GX_Receipt.Balance = (float)(Conversion.Val(response.CertificateBalance)); Variables.GX_Receipt.SaleAmount = amount; Variables.GX_Receipt.PointBalance = (float)(Conversion.Val(response.PointsBalance)); Variables.GX_Receipt.ResponseCode = response.Result; } } givexReceipt = new GiveXReceiptType { Date = DateAndTime.Today.ToString("MM/dd/yyyy"), Time = DateAndTime.TimeOfDay.ToString("hh:mm:ss"), UserID = Convert.ToString(_givexPolicies["GIVEX_USER"]), TranType = 6, //Redemption SeqNum = (saleNum).ToString(), CardNum = response.GivexNumber, ExpDate = response.ExpiryDate != "****" ? string.Format("yyMM", response.ExpiryDate) : response.ExpiryDate, Balance = (float)(Conversion.Val(response.CertificateBalance)), SaleAmount = amount, PointBalance = (float)(Conversion.Val(response.PointsBalance)), ResponseCode = response.Result }; return(returnValue); }
/// <summary> /// Activate GiveX /// </summary> /// <param name="strCardNum">Card number</param> /// <param name="amount">Amount</param> /// <param name="saleNum">Sale number</param> /// <param name="refNum">Reference number</param> /// <param name="userCode">User code</param> /// <param name="errorMessage">Error message</param> /// <param name="givexReceipt">Givex receipt</param> /// <returns>true/false</returns> public bool ActivateGiveX(string strCardNum, float amount, int saleNum, ref string refNum, string userCode, out ErrorMessage errorMessage, out GiveXReceiptType givexReceipt) { var dateStart = DateTime.Now; Performancelog.Debug($"Start,GivexClientManager,ActivateGiveX,{string.Empty},{DateTime.Now:hh.mm.ss.ffffff}"); var returnValue = false; errorMessage = new ErrorMessage(); var response = new Variables.GiveXResponseType(); givexReceipt = new GiveXReceiptType(); refNum = ""; if (string.IsNullOrEmpty(strCardNum)) { return(false); } modStringPad.InitGiveXRequest(); Variables.GX_Request.ServiceType = "Activation"; Variables.GX_Request.UserID = Convert.ToString(_givexPolicies["GIVEX_USER"]); Variables.GX_Request.UserPassword = Convert.ToString(_givexPolicies["GIVEX_PASS"]); Variables.GX_Request.OperatorID = Convert.ToString(userCode); // "ALL" Variables.GX_Request.GivexNumber = strCardNum.Trim(); Variables.GX_Request.Language = "0"; Variables.GX_Request.Amount = (amount).ToString(CultureInfo.InvariantCulture); Variables.GX_Request.TransactionCode = (saleNum).ToString(); Variables.GX_Request.TransmissionDate = DateAndTime.Today.ToString("MM/dd/yyyy"); Variables.GX_Request.TransmissionTime = DateAndTime.TimeOfDay.ToString("hh:mm:ss"); Variables.GX_Request.TerminalID = "ALL"; var strSend = modStringPad.GetGiveXRequest(); if (SendGiveXRequest(strSend, "Activation," + (saleNum), "Activation", ref response, out errorMessage)) { if (response.Result != "Approved") { errorMessage.MessageStyle = _resourceManager.DisplayMsgForm(_offSet, response.TransactionReference.Trim() != "" ? 3265 : 3264, 99, response.TransactionReference, CriticalOkMessageType); errorMessage.StatusCode = HttpStatusCode.NotAcceptable; return(false); } if (response.GivexNumber != strCardNum.Trim()) { //Call DisplayMsgForm("Invalid response from GiveX TPS, Gift Certificate is canceled!", 99) errorMessage.MessageStyle = _resourceManager.DisplayMsgForm(_offSet, 3264, 99, response.TransactionReference, CriticalOkMessageType); } else { returnValue = true; refNum = response.TransactionReference; modStringPad.InitGiveXReceipt(); Variables.GX_Receipt.Date = DateAndTime.Today.ToString("MM/dd/yyyy"); Variables.GX_Receipt.Time = DateAndTime.TimeOfDay.ToString("hh:mm:ss"); Variables.GX_Receipt.UserID = Convert.ToString(_givexPolicies["GIVEX_USER"]); Variables.GX_Receipt.TranType = 1; //Activation Variables.GX_Receipt.SaleNum = saleNum; Variables.GX_Receipt.SeqNum = response.TransactionReference; Variables.GX_Receipt.CardNum = response.GivexNumber; Variables.GX_Receipt.SaleAmount = float.Parse(response.Amount); Variables.GX_Receipt.ExpDate = string.Format(response.ExpiryDate, "yyMM"); Variables.GX_Receipt.Balance = (float)(Conversion.Val(response.CertificateBalance)); Variables.GX_Receipt.PointBalance = (float)(Conversion.Val(response.PointsBalance)); Variables.GX_Receipt.ResponseCode = response.Result; givexReceipt = new GiveXReceiptType { Date = DateAndTime.Today.ToString("MM/dd/yyyy"), Time = DateAndTime.TimeOfDay.ToString("hh:mm:ss"), UserID = Convert.ToString(_givexPolicies["GIVEX_USER"]), TranType = 1, //Activation SaleNum = saleNum, SeqNum = response.TransactionReference, CardNum = response.GivexNumber, SaleAmount = float.Parse(response.Amount), ExpDate = string.Format(response.ExpiryDate, "yyMM"), Balance = (float)(Conversion.Val(response.CertificateBalance)), PointBalance = (float)(Conversion.Val(response.PointsBalance)), ResponseCode = response.Result, }; } } Performancelog.Debug($"End,GivexClientManager,ActivateGiveX,{DateTime.Now.Subtract(dateStart).TotalMilliseconds},{DateTime.Now:hh.mm.ss.ffffff}"); return(returnValue); }