String ICardRepository.AddCards(String CardToAdd, Int32 CountToAdd, String MerchantID, String ChainName,
                                        String GroupCode)
        {
            int count;

            InitializeConnection();
            String CleanCardNumber = extractCardNumber(CardToAdd);

            if (CleanCardNumber.Length == 0)
            {
                return("BDCRD");
            }

            String Result = "ERROR";

            for (count = 0; count < CountToAdd; count++)
            {
                String EncryptedCardNumber = GiftEncryption.Encrypt(CleanCardNumber);
                String CardLast4           = CleanCardNumber.Substring(CleanCardNumber.Length - 4);
                Result = AddThisCard(EncryptedCardNumber, CardLast4,
                                     MerchantID, ChainName, GroupCode);
                if (Result != "APP  ")
                {
                    return(Result);
                }
                CleanCardNumber = increment(CleanCardNumber);
            }
            return(Result);
        }
        String ICardRepository.ShipCards(String MerchantID, String ClerkID,
                                         String TerminalID, DateTime LocalTime,
                                         String CardToShip, Int32 CountToShip, String TransactionText)
        {
            int count;

            InitializeConnection();
            String CleanCardNumber = extractCardNumber(CardToShip);

            if (CleanCardNumber.Length == 0)
            {
                return("BDCRD");
            }

            gp_ShipCard_Result Res = new gp_ShipCard_Result();

            for (count = 0; count < CountToShip; count++)
            {
                String EncryptedCardNumber = GiftEncryption.Encrypt(CleanCardNumber);
                Res = GiftEntity.gp_ShipCard(
                    MerchantID, ClerkID,
                    TerminalID, LocalTime,
                    EncryptedCardNumber, TransactionText).FirstOrDefault();
                if (Res.ResponseCode != "A")
                {
                    return(Res.ErrorCode);
                }
                CleanCardNumber = increment(CleanCardNumber);
            }
            return(Res.ErrorCode);
        }
Ejemplo n.º 3
0
        void ICardHolderRepository.UpdateCardHolder(EditCardHolderModel WebData, String CardHolderName)
        {
            String EncryptedCardHolderName = GiftEncryption.Encrypt(CardHolderName);

            InitializeConnection();
            CardHolder DBCardHolder = (from c in GiftEntity.CardHolders
                                       where c.EncryptedCardHolderName == EncryptedCardHolderName
                                       select c).FirstOrDefault();

            if (DBCardHolder != null)
            {
                DBCardHolder.EncryptedFirstName = GiftEncryption.Encrypt(WebData.FirstName);
                DBCardHolder.LastName           = WebData.LastName;
                DBCardHolder.EncryptedLastName  = GiftEncryption.Encrypt(WebData.LastName);
                DBCardHolder.EncryptedAddress1  = GiftEncryption.Encrypt(WebData.Address1);
                DBCardHolder.EncryptedAddress2  = GiftEncryption.Encrypt(WebData.Address2);
                DBCardHolder.EncryptedCity      = GiftEncryption.Encrypt(WebData.City);
                DBCardHolder.State = WebData.State;
                DBCardHolder.EncryptedPostalCode = GiftEncryption.Encrypt(WebData.PostalCode);
                DBCardHolder.Country             = WebData.Country;
                String CleanPhoneNumber = extractPhoneNumber(WebData.CellPhoneNumber);
                DBCardHolder.EncryptedPhone = GiftEncryption.Encrypt(CleanPhoneNumber);
                DBCardHolder.EncryptedEmail = GiftEncryption.Encrypt(WebData.Email);

                GiftEntity.SaveChanges();
            }
        }
Ejemplo n.º 4
0
        bool ICardHolderRepository.CreateCardHolder(CreateCardHolderModel WebData)
        {
            CardHolder DBCardHolder = new CardHolder();

            DBCardHolder.CardHolderGUID          = Guid.NewGuid();
            DBCardHolder.EncryptedFirstName      = GiftEncryption.Encrypt(WebData.FirstName);
            DBCardHolder.LastName                = WebData.LastName;
            DBCardHolder.EncryptedLastName       = GiftEncryption.Encrypt(WebData.LastName);
            DBCardHolder.EncryptedCardHolderName = GiftEncryption.Encrypt(WebData.UserName);
            DBCardHolder.EncryptedEmail          = GiftEncryption.Encrypt(WebData.email.ToLower());
            DBCardHolder.EncryptedAddress1       = GiftEncryption.Encrypt(WebData.Address1);
            DBCardHolder.EncryptedAddress2       = GiftEncryption.Encrypt(WebData.Address2);
            DBCardHolder.EncryptedCity           = GiftEncryption.Encrypt(WebData.City);
            if (WebData.State != null)
            {
                DBCardHolder.State = WebData.State.ToUpper();
            }
            DBCardHolder.EncryptedPostalCode = GiftEncryption.Encrypt(WebData.PostalCode);
            String CleanPhoneNumber = extractPhoneNumber(WebData.CellPhoneNumber);

            DBCardHolder.EncryptedPhone = GiftEncryption.Encrypt(CleanPhoneNumber);
            DBCardHolder.Card1          = WebData.Card1GUID;
            DBCardHolder.Card2          = WebData.Card2GUID;
            DBCardHolder.Card3          = WebData.Card3GUID;
            DBCardHolder.Card4          = WebData.Card4GUID;
            DBCardHolder.Card5          = WebData.Card5GUID;

            GiftEntity.CardHolders.Add(DBCardHolder);
            GiftEntity.SaveChanges();
            WebData.ID             = DBCardHolder.ID;
            WebData.CardHolderGUID = (Guid)DBCardHolder.CardHolderGUID;
            return(true);
        }
Ejemplo n.º 5
0
        CardHolder ICardHolderRepository.GetCardHolderByPhoneNumber(string PhoneNumber)
        {
            InitializeConnection();
            String     CleanPhoneNumber = extractPhoneNumber(PhoneNumber);
            String     EncryptedPhone   = GiftEncryption.Encrypt(CleanPhoneNumber);
            CardHolder DBCardHolder     = (from c in GiftEntity.CardHolders
                                           where c.EncryptedPhone == EncryptedPhone
                                           select c).FirstOrDefault();

            return(DBCardHolder);
        }
        Card ICardRepository.GetCard(String CardToFind)
        {
            InitializeConnection();
            String CleanCardNumber = extractCardNumber(CardToFind);
            String EncryptedCard   = GiftEncryption.Encrypt(CleanCardNumber);
            Card   DBCard          = (from c in GiftEntity.Cards
                                      where c.CardNumber == EncryptedCard
                                      select c).FirstOrDefault();

            return(DBCard);
        }
        void ICardRepository.DeactivateCard(String CardToDeactivate)
        {
            String CleanCardNumber = extractCardNumber(CardToDeactivate);
            String EncryptedCard   = GiftEncryption.Encrypt(CleanCardNumber);
            Card   DBCard          = (from c in GiftEntity.Cards
                                      where c.CardNumber == EncryptedCard
                                      select c).FirstOrDefault();

            DBCard.Activated = "N";
            GiftEntity.SaveChanges();
        }
Ejemplo n.º 8
0
        CardHolder ICardHolderRepository.GetCardHolder(String CardHolderName)
        {
            String EncryptedCardHolderName = GiftEncryption.Encrypt(CardHolderName);

            using (var GiftEntity = new GiftEntities())
            {
                CardHolder DBCardHolder = (from c in GiftEntity.CardHolders
                                           where c.EncryptedCardHolderName == EncryptedCardHolderName
                                           select c).FirstOrDefault();
                return(DBCardHolder);
            }
        }
Ejemplo n.º 9
0
        CardHolder ICardHolderRepository.GetCardholderByEmail(String email)
        {
            String EncryptedEmail = GiftEncryption.Encrypt(email);

            InitializeConnection();
            CardHolder DBCardHolder = null;

            DBCardHolder = (from c in GiftEntity.CardHolders
                            where c.EncryptedEmail == EncryptedEmail
                            select c).FirstOrDefault();
            return(DBCardHolder);
        }
        gp_GiftActivateCard_Result ICardRepository.ActivateGiftCard(
            String MerchantID, String Clerk,
            String WebOrDial, String MerchantSequenceNumber,
            String TerminalID, DateTime LocalTime,
            String CardToActivate, Decimal Amount, String InvoiceNumber)
        {
            InitializeConnection();
            String CleanCardNumber         = extractCardNumber(CardToActivate);
            String EncryptedCardNumber     = GiftEncryption.Encrypt(CleanCardNumber);
            gp_GiftActivateCard_Result Res = GiftEntity.gp_GiftActivateCard(MerchantID, Clerk, WebOrDial, MerchantSequenceNumber, TerminalID, LocalTime, EncryptedCardNumber, 0, Amount, InvoiceNumber).FirstOrDefault();

            return(Res);
        }
        /// <summary>
        /// linkes the card to the cardholder
        /// </summary>
        /// <param name="CardHolderID"></param>
        /// <param name="CardToRegister"></param>
        void ICardRepository.RegisterCard(int CardHolderID, Guid?CardHolderGUID, String CardToRegister)
        {
            InitializeConnection();
            String CleanCardNumber = extractCardNumber(CardToRegister);
            String EncryptedCard   = GiftEncryption.Encrypt(CleanCardNumber);
            Card   DBCard          = (from c in GiftEntity.Cards
                                      where c.CardNumber == EncryptedCard
                                      select c).FirstOrDefault();

            if (DBCard != null)
            {
                DBCard.CardHolderGUID = CardHolderGUID;
                GiftEntity.SaveChanges();
            }
        }
Ejemplo n.º 12
0
        CardHolder ICardHolderRepository.RegisterThisCard(String CardHolderName, Guid NewCard)
        {
            int cardholderid = 0;

            InitializeConnection();
            String EncryptedCardHolderName = GiftEncryption.Encrypt(CardHolderName);

            CardHolder DBCardHolder = (from c in GiftEntity.CardHolders
                                       where c.EncryptedCardHolderName == EncryptedCardHolderName
                                       select c).FirstOrDefault();

            if (DBCardHolder == null)
            {
                throw new Exception("Card holder not found");
            }
            cardholderid = DBCardHolder.ID;
            if (DBCardHolder.Card1 == null)
            {
                DBCardHolder.Card1 = NewCard;
            }
            else
            if (DBCardHolder.Card2 == null)
            {
                DBCardHolder.Card2 = NewCard;
            }
            else
            if (DBCardHolder.Card3 == null)
            {
                DBCardHolder.Card3 = NewCard;
            }
            else
            if (DBCardHolder.Card4 == null)
            {
                DBCardHolder.Card4 = NewCard;
            }
            else
            if (DBCardHolder.Card5 == null)
            {
                DBCardHolder.Card5 = NewCard;
            }
            else
            {
                throw new Exception("Already five cards registered. Can not register more");
            }
            GiftEntity.SaveChanges();

            return(DBCardHolder);
        }
Ejemplo n.º 13
0
        bool ICardHolderRepository.UpdateEmail(String CardHolderName, String email, String comment, bool isapproved)
        {
            InitializeConnection();
            String     EncryptedUserName = GiftEncryption.Encrypt(CardHolderName);
            CardHolder DBCardHolder      = (from c in GiftEntity.CardHolders
                                            where c.EncryptedCardHolderName == EncryptedUserName
                                            select c).FirstOrDefault();

            if (DBCardHolder == null)
            {
                return(false);
            }
            DBCardHolder.EncryptedEmail = GiftEncryption.Encrypt(email);
            GiftEntity.SaveChanges();
            return(true);
        }
        gp_GiftBalanceInq_Result ICardRepository.GiftCardInquiry(
            String MerchantID, String Clerk,
            String WebOrDial, String MerchantSequenceNumber,
            String TerminalID, DateTime LocalTime,
            String CardNumber)
        {
            InitializeConnection();
            String CleanCardNumber       = extractCardNumber(CardNumber);
            String EncryptedCardNumber   = GiftEncryption.Encrypt(CleanCardNumber);
            gp_GiftBalanceInq_Result Res = GiftEntity.gp_GiftBalanceInq(
                MerchantID, Clerk, WebOrDial, MerchantSequenceNumber,
                TerminalID, LocalTime,
                EncryptedCardNumber).FirstOrDefault();

            return(Res);
        }
Ejemplo n.º 15
0
        EditCardHolderModel ICardHolderRepository.GetWebCardHolder(String CardHolderName)
        {
            InitializeConnection();
            String     EncryptedCardHolderName = GiftEncryption.Encrypt(CardHolderName);
            CardHolder DBCardHolder            = (from c in GiftEntity.CardHolders
                                                  where c.EncryptedCardHolderName == EncryptedCardHolderName
                                                  select c).FirstOrDefault();
            EditCardHolderModel WebData = new EditCardHolderModel();

            if (DBCardHolder == null)
            {
                return(WebData);
            }

            MoveToWebFormat(WebData, DBCardHolder);
            return(WebData);
        }
Ejemplo n.º 16
0
        // This is impossible to do with encrypted data

//        List<CardHolder> ICardHolderRepository.GetCardHolderPage(int pageNumber, int pageSize)
//        {
//            List<CardHolder> CardHolderList = new List<CardHolder>();
//            using (var GiftEntity = new GiftEntities())
//            {
//                var CardHolderPage = (from c in GiftEntity.CardHolders
//                             .OrderBy(o => o.CardHolderName)
//                            .Skip(pageSize * pageNumber).Take(pageSize).Select(o => o)
//                                      select c);
//                foreach (CardHolder ch in CardHolderPage)
//                    CardHolderList.Add(ch);
//            }
//            return CardHolderList;
//        }

// the problem is how to do the "like" clause when the field is encrypted
//        List<CardHolder> ICardHolderRepository.ListCardHoldersLike(String CardHolderName, int pageNumber, int pageSize)
//        {
//            using (var GiftEntity = new GiftEntities())
//            {
//                List<CardHolder> ToReturn = new List<CardHolder>();
//                foreach (CardHolder ch in (from c in GiftEntity.CardHolders
//                                           .OrderBy(o => o.CardHolderName)
//                                           .Skip(pageSize * pageNumber).Take(pageSize).Select(o => o)
//                                           where c.CardHolderName.StartsWith(CardHolderName)
//                                           select c))
//                {
//                    ToReturn.Add(ch);
//                }
//                return ToReturn;
//            }
//        }
//        List<CardHolder> ICardHolderRepository.ListCardHoldersLikeEmail(String CardHolderEmail, int pageNumber, int pageSize)
//        {
//            using (var GiftEntity = new GiftEntities())
//            {
//                List<CardHolder> ToReturn = new List<CardHolder>();
//                foreach (CardHolder ch in (from c in GiftEntity.CardHolders
//                                           .OrderBy(o => o.CardHolderName)
//                                           .Skip(pageSize * pageNumber).Take(pageSize).Select(o => o)
//                                           where c.email.StartsWith(CardHolderEmail)
//                                           select c))
//                {
//                    ToReturn.Add(ch);
//                }
//                return ToReturn;
//            }
//        }


        bool ICardHolderRepository.DeleteCardHolder(string CardHolderName)
        {
            String EncryptedCardHolderName = GiftEncryption.Encrypt(CardHolderName);

            using (var GiftEntity = new GiftEntities())
            {
                CardHolder DBCardHolder = (from c in GiftEntity.CardHolders
                                           where c.EncryptedCardHolderName == EncryptedCardHolderName
                                           select c).FirstOrDefault();
                if (DBCardHolder == null)
                {
                    return(false);
                }
                GiftEntity.CardHolders.Remove(DBCardHolder);
                GiftEntity.SaveChanges();
            }
            return(true);
        }
        String ICardRepository.AddCards(String CardToAdd, String LastCardToAdd, String MerchantID, String ChainName,
                                        String GroupCode)
        {
            InitializeConnection();
            String CleanCardNumber = extractCardNumber(CardToAdd);

            if (CleanCardNumber.Length == 0)
            {
                return("BDCRD");
            }
            String CleanLastCardNumber = extractCardNumber(LastCardToAdd);

            if (CleanLastCardNumber.Length == 0)
            {
                return("BDCRD");
            }
            String Result = "ERROR";

            // need one more than the difference to include both start and ending number
            // if the difference is negative, error off with a card error

            int NumberToAdd = StringDiff(CleanLastCardNumber, CleanCardNumber);

            if (NumberToAdd < 0)
            {
                return("BDCRD");
            }
            NumberToAdd++;

            while (NumberToAdd > 0)
            {
                String EncryptedCardNumber = GiftEncryption.Encrypt(CleanCardNumber);
                String CardLast4           = CleanCardNumber.Substring(CleanCardNumber.Length - 4);
                Result = AddThisCard(EncryptedCardNumber, CardLast4,
                                     MerchantID, ChainName, GroupCode);
                if (Result != "APP  ")
                {
                    return(Result);
                }
                CleanCardNumber = increment(CleanCardNumber);
                NumberToAdd--;
            }
            return(Result);
        }
Ejemplo n.º 18
0
        void ICardHolderRepository.UnregisterCard(String CardHolderName, Guid CardToUnregister)
        {
            InitializeConnection();
            String     EncryptedCardHolderName = GiftEncryption.Encrypt(CardHolderName);
            CardHolder DBCardHolder            = (from c in GiftEntity.CardHolders
                                                  where c.EncryptedCardHolderName == EncryptedCardHolderName
                                                  select c).FirstOrDefault();

            if (DBCardHolder != null)
            {
                if (DBCardHolder.Card1 == CardToUnregister)
                {
                    DBCardHolder.Card1 = DBCardHolder.Card2;
                    DBCardHolder.Card2 = DBCardHolder.Card3;
                    DBCardHolder.Card3 = DBCardHolder.Card4;
                    DBCardHolder.Card4 = DBCardHolder.Card5;
                    DBCardHolder.Card5 = null;
                }
                if (DBCardHolder.Card2 == CardToUnregister)
                {
                    DBCardHolder.Card2 = DBCardHolder.Card3;
                    DBCardHolder.Card3 = DBCardHolder.Card4;
                    DBCardHolder.Card4 = DBCardHolder.Card5;
                    DBCardHolder.Card5 = null;
                }
                if (DBCardHolder.Card3 == CardToUnregister)
                {
                    DBCardHolder.Card3 = DBCardHolder.Card4;
                    DBCardHolder.Card4 = DBCardHolder.Card5;
                    DBCardHolder.Card5 = null;
                }
                if (DBCardHolder.Card4 == CardToUnregister)
                {
                    DBCardHolder.Card4 = DBCardHolder.Card5;
                    DBCardHolder.Card5 = null;
                }
                if (DBCardHolder.Card5 == CardToUnregister)
                {
                    DBCardHolder.Card5 = null;
                }

                GiftEntity.SaveChanges();
            }
        }
        String ICardRepository.AddCard(String CardToAdd, String MerchantID, String ChainName,
                                       String GroupCode)
        {
            String Result = "ERROR";

            InitializeConnection();
            String CleanCardNumber = extractCardNumber(CardToAdd);

            if (CleanCardNumber.Length == 0)
            {
                return("BDCRD");
            }
            String EncryptedCardNumber = GiftEncryption.Encrypt(CleanCardNumber);
            String CardLast4           = CleanCardNumber.Substring(CleanCardNumber.Length - 4);

            Result = AddThisCard(EncryptedCardNumber, CardLast4,
                                 MerchantID, ChainName, GroupCode);
            return(Result);
        }
Ejemplo n.º 20
0
        String ICardHolderRepository.GetCardHolderName(String email)
        {
            if (email == null)
            {
                return("");
            }
            String EncryptedEmail = GiftEncryption.Encrypt(email);

            using (var GiftEntity = new GiftEntities())
            {
                CardHolder DBCardHolder = (from c in GiftEntity.CardHolders
                                           where c.EncryptedEmail == EncryptedEmail
                                           select c).FirstOrDefault();
                if (DBCardHolder == null)
                {
                    return("");
                }
                return(GiftEncryption.Decrypt(DBCardHolder.EncryptedCardHolderName));
            }
        }
        String ICardRepository.ShipCards(String MerchantID, String ClerkID,
                                         String TerminalID, DateTime LocalTime,
                                         String CardToShip, String LastCardToShip, String TransactionText)
        {
            InitializeConnection();
            String CleanCardNumber = extractCardNumber(CardToShip);

            if (CleanCardNumber.Length == 0)
            {
                return("BDCRD");
            }
            String CleanLastCardNumber = extractCardNumber(LastCardToShip);

            if (CleanLastCardNumber.Length == 0)
            {
                return("BDCRD");
            }
            int NumberToShip = StringDiff(CleanLastCardNumber, CleanCardNumber);

            if (NumberToShip < 0)
            {
                return("BDCRD");
            }
            gp_ShipCard_Result Res = new gp_ShipCard_Result();

            while (NumberToShip > 0)
            {
                String EncryptedCardNumber = GiftEncryption.Encrypt(CleanCardNumber);
                Res = GiftEntity.gp_ShipCard(
                    MerchantID, ClerkID,
                    TerminalID, LocalTime,
                    EncryptedCardNumber, TransactionText).FirstOrDefault();
                if (Res.ResponseCode != "A")
                {
                    return(Res.ErrorCode);
                }
                CleanCardNumber = increment(CleanCardNumber);
                NumberToShip--;
            }
            return(Res.ErrorCode);
        }
Ejemplo n.º 22
0
        int ICardHolderRepository.GetCardCount(String CardHolderName)
        {
            InitializeConnection();
            int        count = 0;
            String     EncryptedCardHolderName = GiftEncryption.Encrypt(CardHolderName);
            CardHolder DBCardHolder            = (from c in GiftEntity.CardHolders
                                                  where c.EncryptedCardHolderName == EncryptedCardHolderName
                                                  select c).FirstOrDefault();

            if (DBCardHolder == null)
            {
                throw new Exception("Card holder not found");
            }
            if (DBCardHolder.Card1 != null)
            {
                count++;
            }
            if (DBCardHolder.Card2 != null)
            {
                count++;
            }
            if (DBCardHolder.Card3 != null)
            {
                count++;
            }
            if (DBCardHolder.Card4 != null)
            {
                count++;
            }
            if (DBCardHolder.Card5 != null)
            {
                count++;
            }

            return(count);
        }
Ejemplo n.º 23
0
 String ICardHolderRepository.EncryptPhone(String Phone)
 {
     return(GiftEncryption.Encrypt(extractPhoneNumber(Phone)));
 }
Ejemplo n.º 24
0
        // returns card number
        // would like this to return the encrypted card number,
        // but that would require all sorts of other changes
        public bool GetCardForTransaction(String MerchantID, String PhoneNumber, out String CardNumber)
        {
            CardNumber = "";
            // first get the cardholder
            InitializeConnection();
            String     CleanPhoneNumber = extractPhoneNumber(PhoneNumber);
            String     EncryptedPhone   = GiftEncryption.Encrypt(CleanPhoneNumber);
            CardHolder DBCardHolder     = (from c in GiftEntity.CardHolders
                                           where c.EncryptedPhone == EncryptedPhone
                                           select c).FirstOrDefault();

            // now go down the list of cards to find one that is valid for this merchant

            Card tCard;

            if (DBCardHolder == null)
            {
                return(false);
            }
            if (DBCardHolder.Card1 != null)
            {
                tCard = (from c in GiftEntity.Cards
                         where c.CardGUID == DBCardHolder.Card1
                         select c).FirstOrDefault();
                if (tCard != null)
                {
                    Merchant tMerch = (from m in GiftEntity.Merchants
                                       where m.MerchantGUID == tCard.MerchantGUID
                                       select m).FirstOrDefault();
                    if (tMerch != null)
                    {
                        if (tMerch.MerchantID == MerchantID.ToUpper())
                        {
                            CardNumber = GiftEncryption.Decrypt(tCard.CardNumber);
                            return(true);
                        }
                    }
                }
            }
            if (DBCardHolder.Card2 != null)
            {
                tCard = (from c in GiftEntity.Cards
                         where c.CardGUID == DBCardHolder.Card2
                         select c).FirstOrDefault();
                if (tCard != null)
                {
                    Merchant tMerch = (from m in GiftEntity.Merchants
                                       where m.MerchantGUID == tCard.MerchantGUID
                                       select m).FirstOrDefault();
                    if (tMerch != null)
                    {
                        if (tMerch.MerchantID == MerchantID.ToUpper())
                        {
                            CardNumber = GiftEncryption.Decrypt(tCard.CardNumber);
                            return(true);
                        }
                    }
                }
            }
            if (DBCardHolder.Card3 != null)
            {
                tCard = (from c in GiftEntity.Cards
                         where c.CardGUID == DBCardHolder.Card3
                         select c).FirstOrDefault();
                if (tCard != null)
                {
                    Merchant tMerch = (from m in GiftEntity.Merchants
                                       where m.MerchantGUID == tCard.MerchantGUID
                                       select m).FirstOrDefault();
                    if (tMerch != null)
                    {
                        if (tMerch.MerchantID == MerchantID.ToUpper())
                        {
                            CardNumber = GiftEncryption.Decrypt(tCard.CardNumber);
                            return(true);
                        }
                    }
                }
            }
            if (DBCardHolder.Card4 != null)
            {
                tCard = (from c in GiftEntity.Cards
                         where c.CardGUID == DBCardHolder.Card4
                         select c).FirstOrDefault();
                if (tCard != null)
                {
                    Merchant tMerch = (from m in GiftEntity.Merchants
                                       where m.MerchantGUID == tCard.MerchantGUID
                                       select m).FirstOrDefault();
                    if (tMerch != null)
                    {
                        if (tMerch.MerchantID == MerchantID.ToUpper())
                        {
                            CardNumber = GiftEncryption.Decrypt(tCard.CardNumber);
                            return(true);
                        }
                    }
                }
            }
            if (DBCardHolder.Card5 != null)
            {
                tCard = (from c in GiftEntity.Cards
                         where c.CardGUID == DBCardHolder.Card5
                         select c).FirstOrDefault();
                if (tCard != null)
                {
                    Merchant tMerch = (from m in GiftEntity.Merchants
                                       where m.MerchantGUID == tCard.MerchantGUID
                                       select m).FirstOrDefault();
                    if (tMerch != null)
                    {
                        if (tMerch.MerchantID == MerchantID.ToUpper())
                        {
                            CardNumber = GiftEncryption.Decrypt(tCard.CardNumber);
                            return(true);
                        }
                    }
                }
            }

            return(false);
        }