public ActionResult GiftCardBalance(GiftInquiryModel WebData) { TempData.Keep("ReturnAddress"); try { if (ModelState.IsValid) { ReceiptInformation RecInfo = TransactionServiceInstance.GiftCardInquiry( WebData.MerchantID, WebData.ClerkID, 'W', "", WebData.TerminalID, WebData.LocalTime, WebData.CardSwipe); if (RecInfo.ResponseCode == 'A') { Receipt Recpt = TransactionServiceInstance.FormatGiftReceipt(RecInfo); // set return address for the receipt page //Session.PushReturnAddress(new ReturnAddress("GiftCardBalance")); TempData["Receipt"] = Recpt; return(RedirectToAction("Receipt")); } else { // need locale based lookup of error codes ModelState.AddModelError("", "Error on Balance Inquiry: " + Utility.ConvertErrorCodes(RecInfo.ErrorCode)); Log.BadData(Request.UserHostAddress, Request.Url.ToString(), Request.Form); } } } catch (Exception Ex) { ModelState.AddModelError("", Common.StandardExceptionHandler(Ex, "Balance Inquiry", Request.Form)); Log.BadData(Request.UserHostAddress, Request.Url.ToString(), Request.Form); } // If we got this far, something failed, redisplay form return(View(WebData)); }
// A c t i v a t e G i f t C a r d ReceiptInformation ITransactionService.ActivateGiftCard(String MerchantID, String ClerkID, Char WebOrDial, String MerchantSequenceNumber, String TerminalID, DateTime LocalTime, String CardToActivate, Decimal Amount, String InvoiceNumber) { ICardRepository CardData = new CardRepository(); gp_GiftActivateCard_Result Res = CardData.ActivateGiftCard( MerchantID, ClerkID, Convert.ToString(WebOrDial), MerchantSequenceNumber, TerminalID, LocalTime, CardToActivate, Amount, InvoiceNumber); ReceiptInformation ReceiptInfo = new ReceiptInformation(); ReceiptInfo.ResponseCode = (char)Res.ResponseCode[0]; ReceiptInfo.ErrorCode = Res.ErrorCode; if (ReceiptInfo.ResponseCode == 'A') { ReceiptInfo.Amount = Amount; ReceiptInfo.MerchantID = MerchantID; ReceiptInfo.ClerkID = ClerkID; ReceiptInfo.Description = "Card Activation"; // ReceiptInfo.CardNumber = CardToActivate; ReceiptInfo.TransactionNumber = (long)Res.TranNumber; ReceiptInfo.TransactionType = "Activate"; ReceiptInfo.When = (DateTime)Res.ReceiptTime; ReceiptInfo.LocalTime = LocalTime; ReceiptInfo.Balance = Amount; } return(ReceiptInfo); }
ReceiptInformation ITransactionService.LastTransaction(String MerchantID, long TransactionID) { ReceiptInformation Results = new ReceiptInformation(); IHistoryDAO TransactionHistoryRepository = new HistoryDAO(); LastHistoryItem LastHistory = TransactionHistoryRepository.GetLastHistoryItem(MerchantID, TransactionID); if (LastHistory.ResponseCode != 'A') { Results.ErrorCode = LastHistory.ErrorCode; return(Results); } Results.TransactionType = LastHistory.LastItem.Transaction; Results.When = LastHistory.LastItem.When; Results.CardNumber = "XXXXXXXXXXXXX" + LastHistory.LastItem.CardNumber; Results.Amount = LastHistory.LastItem.Amount; Results.Description = LastHistory.LastItem.Text; return(Results); }
public ActionResult GiftCardActivate(GiftCardActivateModel WebData) { TempData.Keep("ReturnAddress"); try { if (WebData.Amount != null) { if (WebData.Amount.IndexOf('.') < 0) { WebData.Amount = WebData.Amount + ".00"; } } if (ModelState.IsValid) { ReceiptInformation RecInfo = TransactionServiceInstance.ActivateGiftCard(WebData.MerchantID, WebData.ClerkID, 'W', "", WebData.TerminalID, WebData.LocalTime, WebData.CardSwipe, Convert.ToDecimal(WebData.Amount), ""); if (RecInfo.ResponseCode == 'A') { Receipt Recpt = TransactionServiceInstance.FormatGiftReceipt(RecInfo); // set return address for the receipt page //Session.PushReturnAddress(new ReturnAddress("GiftCardActivate")); TempData["Receipt"] = Recpt; return(RedirectToAction("Receipt")); } else { // need locale based lookup of error codes ModelState.AddModelError("", "Error on Activate: " + Utility.ConvertErrorCodes(RecInfo.ErrorCode)); Log.BadData(Request.UserHostAddress, Request.Url.ToString(), Request.Form); } } } catch (Exception Ex) { ModelState.AddModelError("", Common.StandardExceptionHandler(Ex, "Activate", Request.Form)); Log.BadData(Request.UserHostAddress, Request.Url.ToString(), Request.Form); } // If we got this far, something failed, redisplay form BuildActivateAmounts(); return(View(WebData)); }
// G i f t C a r d R e t u r n ReceiptInformation ITransactionService.GiftCardReturn( String MerchantID, String ClerkID, Char WebOrDial, String MerchantSequenceNumber, String TerminalID, DateTime LocalTime, String CardNumber, Decimal Amount, String InvoiceNumber, String Description) { ReceiptInformation ReceiptInfo = new ReceiptInformation(); String CardToUse; if (!MapPhoneToCardNumber(MerchantID, CardNumber, out CardToUse)) { ReceiptInfo.ErrorCode = "PHNER"; ReceiptInfo.ResponseCode = 'E'; ReceiptInfo.ApprovalMessage = "Phone Number not found"; return(ReceiptInfo); } CardNumber = CardToUse; ICardRepository CardData = new CardRepository(); gp_GiftReturn_Result Res = CardData.GiftCardReturn( MerchantID, ClerkID, Convert.ToString(WebOrDial), MerchantSequenceNumber, TerminalID, LocalTime, CardNumber, Amount, Description, InvoiceNumber); ReceiptInfo.ResponseCode = (char)Res.ResponseCode[0]; ReceiptInfo.ErrorCode = Res.ErrorCode; if (ReceiptInfo.ResponseCode == 'A') { ReceiptInfo.Amount = Amount; ReceiptInfo.MerchantID = MerchantID; ReceiptInfo.ClerkID = ClerkID; ReceiptInfo.Balance = (Decimal)Res.Balance; ReceiptInfo.Description = Description; // ReceiptInfo.CardNumber = CardNumber; ReceiptInfo.TransactionNumber = (long)Res.TranNumber; ReceiptInfo.TransactionType = "RETURN"; ReceiptInfo.When = (DateTime)Res.ReceiptTime; ReceiptInfo.LocalTime = LocalTime; } return(ReceiptInfo); }
// F o r m a t L o y a l t y R e c e i p t Receipt ITransactionService.FormatLoyaltyReceipt(ReceiptInformation RecInfo) { Merchant Merch; Receipt aRec = new Receipt(); using (GiftEntities GiftEntity = new GiftEntities()) { IMerchantDAO MerchantData = new MerchantDAO(GiftEntity); Merch = MerchantData.GetMerchant(RecInfo.MerchantID); // format the header lines aRec.AddCentered(Merch.ReceiptHeaderLine1); aRec.AddCentered(Merch.ReceiptHeaderLine2); aRec.AddCentered(Merch.ReceiptHeaderLine3); aRec.AddCentered(Merch.ReceiptHeaderLine4); aRec.AddCentered(Merch.ReceiptHeaderLine5); // format the date & time line String TransactionDate; String TransactionTime; if (RecInfo.LocalTime != null) { TransactionDate = RecInfo.LocalTime.ToShortDateString(); TransactionTime = RecInfo.LocalTime.ToShortTimeString(); } else { TransactionDate = RecInfo.When.ToShortDateString(); TransactionTime = RecInfo.When.ToShortTimeString(); } aRec.JustifyBoth(TransactionDate, TransactionTime); if (RecInfo.TransactionNumber > 0) { aRec.AddCentered("#: " + RecInfo.TransactionNumber.ToString()); } // format the transaction type aRec.Add(""); aRec.AddCentered(RecInfo.TransactionType);//Utils.getMappedMessage("Activate")); if (RecInfo.ApprovalMessage != null) { if (RecInfo.ApprovalMessage.Length > 0) { aRec.AddCentered(RecInfo.ApprovalMessage); } } aRec.Add(""); if (RecInfo.CardNumber != null) { if (RecInfo.CardNumber.Length > 0) { aRec.AddCentered("Account " + //Utils.getMappedMessage("Account") + " " aRec.GetPrintableCardNumber(RecInfo.CardNumber)); } else { aRec.AddCentered("Phone: " + //Utils.getMappedMessage("Phone:") + " " RecInfo.PhoneNumber); } } else { aRec.AddCentered("Phone: " + //Utils.getMappedMessage("Phone:") + " " RecInfo.PhoneNumber); } // format the amount line if (RecInfo.Amount != null) { aRec.Add(""); aRec.AddCentered("Amount: " + RecInfo.Amount); //Utils.getMappedMessage("Amount") + amount); } if (RecInfo.Description != null) { if (RecInfo.Description.Length > 0) { aRec.Add(""); aRec.AddCentered(RecInfo.Description); } } if (RecInfo.AdditionalMessage != null) { if (RecInfo.AdditionalMessage.Length > 0) { aRec.Add(""); aRec.AddCentered(RecInfo.AdditionalMessage); } } // add the footer lines aRec.Add(""); aRec.Add(Merch.ReceiptFooterLine1); aRec.Add(Merch.ReceiptFooterLine2); } return(aRec); }