Beispiel #1
0
        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));
        }
Beispiel #2
0
        //  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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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));
        }
Beispiel #5
0
        // 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);
        }
Beispiel #6
0
        // 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);
        }