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);
        }
Example #2
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();
            }
        }
        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);
        }
Example #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);
        }
        //
        // EncodePassword
        //   Encrypts, Hashes, or leaves the password clear based on the PasswordFormat.
        //

        private string EncodePassword(string password)
        {
            string encodedPassword = password;

            encodedPassword = GiftEncryption.EncryptPassword(password);

            return(encodedPassword);
        }
        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();
        }
Example #8
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);
        }
Example #9
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);
            }
        }
Example #10
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);
        }
        String ICardRepository.FindNextCardToIssue(Guid MerchantGUID)
        {
            InitializeConnection();
            Card DBCard = (from c in GiftEntity.Cards
                           where c.MerchantGUID == MerchantGUID && c.Activated == "N"
                           select c).FirstOrDefault();

            if (DBCard != null)
            {
                return(GiftEncryption.Decrypt(DBCard.CardNumber));
            }
            return(null);
        }
Example #12
0
 public void MoveToWebFormat(EditCardHolderModel WebData, CardHolder DBData)
 {
     WebData.FirstName       = GiftEncryption.Decrypt(DBData.EncryptedFirstName);
     WebData.LastName        = DBData.LastName;
     WebData.Address1        = GiftEncryption.Decrypt(DBData.EncryptedAddress1);
     WebData.Address2        = GiftEncryption.Decrypt(DBData.EncryptedAddress2);
     WebData.City            = GiftEncryption.Decrypt(DBData.EncryptedCity);
     WebData.State           = DBData.State;
     WebData.PostalCode      = GiftEncryption.Decrypt(DBData.EncryptedPostalCode);
     WebData.Country         = DBData.Country;
     WebData.CellPhoneNumber = GiftEncryption.Decrypt(DBData.EncryptedPhone);
     WebData.Email           = GiftEncryption.Decrypt(DBData.EncryptedEmail);
 }
        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);
        }
        //
        // CheckPassword
        //   Compares password values based on the MembershipPasswordFormat.
        //

        public bool CheckPassword(string password, string dbpassword)
        {
            string pass2 = dbpassword;

            //pass2 = GiftEncryption.DecryptPassword(dbpassword);
            pass2 = GiftEncryption.EncryptPassword(password);
            //if (password == pass2)
            if (pass2 == dbpassword)
            {
                return(true);
            }
//            Professional_Gift_Card_System.Services.Log.OtherError("Password failed: Entered=" + pass2 + " Database=" + dbpassword);
            return(false);
        }
        /// <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();
            }
        }
Example #16
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);
        }
Example #17
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);
        }
Example #19
0
//        List<String> ICardHolderRepository.CleanExistingPhoneList()
//        {
//            using (var GiftEntity = new GiftEntities())
//            {
//                List<String> ToReturn = new List<String>();
//                foreach (CardHolder ch in GiftEntity.CardHolders)
//                {
//                    if (ch.EncryptedPhone != null)
//                    {
//                        String Phone = DecryptValue(ch.EncryptedPhone);
//                        String Line = "<td>" + Phone + "</td><td>"  + extractPhoneNumber(Phone) + "</td>";
//                        ch.EncryptedPhone = EncryptValue(extractPhoneNumber(Phone));
//                        ToReturn.Add(Line);
//                    }
//                }
//                GiftEntity.SaveChanges();
//                return ToReturn;
//            }

        List <String> ICardHolderRepository.GetPhoneList()
        {
            using (var GiftEntity = new GiftEntities())
            {
                List <String> ToReturn = new List <String>();
                foreach (CardHolder ch in GiftEntity.CardHolders)
                {
                    if (ch.EncryptedPhone != null)
                    {
                        String Phone = GiftEncryption.Decrypt(ch.EncryptedPhone);
                        String Line  = "<td>" + Phone + "</td><td>" + extractPhoneNumber(Phone) + "</td>";
                        ToReturn.Add(Line);
                    }
                }
                return(ToReturn);
            }
        }
Example #20
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);
        }
Example #21
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);
        }
Example #23
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);
        }
Example #25
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);
        }
Example #27
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);
        }
Example #28
0
//        bool ICardHolderRepository.EncryptExistingFile()
//        {
//            InitializeConnection();
//            var CardHolders = (from c in GiftEntity.CardHolders
//                               select c);
//            foreach (CardHolder CH in CardHolders)
//            {
//                CH.EncryptedFirstName = EncryptValue(CH.FirstName);
//                CH.EncryptedLastName = EncryptValue(CH.LastName);
//                CH.EncryptedCardHolderName = EncryptValue(CH.CardHolderName);
//                CH.EncryptedAddress1 = EncryptValue(CH.Address1);
//                CH.EncryptedAddress2 = EncryptValue(CH.Address2);
//                CH.EncryptedPhone = EncryptValue(CH.Phone);
//                CH.EncryptedEmail = EncryptValue(CH.email);
//            }
//            GiftEntity.SaveChanges();
//            return true;
//        }
//
//        bool ICardHolderRepository.VerifyEncryptExistingFile()
//        {
//            InitializeConnection();
//            var CardHolders = (from c in GiftEntity.CardHolders
//                               select c);
//            foreach (CardHolder CH in CardHolders)
//            {
//                if (CH.FirstName != null)
//                    if (DecryptValue(CH.EncryptedFirstName) != CH.FirstName)
//                    throw new Exception("First name not matching for " + CH.CardHolderName);
//                if (CH.LastName != null)
//                    if (DecryptValue(CH.EncryptedLastName) != CH.LastName)
//                    throw new Exception("Last name not matching for " + CH.CardHolderName);
//                if (CH.CardHolderName != null)
//                    if (DecryptValue(CH.EncryptedCardHolderName) != CH.CardHolderName)
//                    throw new Exception("CardHolderName not matching for " + CH.CardHolderName);
//                if (CH.Address2 != null)
//                    if (DecryptValue(CH.EncryptedAddress1) != CH.Address1)
//                    throw new Exception("Address1 not matching for " + CH.CardHolderName);
//                if (CH.Address2 != null)
//                if (DecryptValue(CH.EncryptedAddress2) != CH.Address2)
//                    throw new Exception("Address2 not matching for " + CH.CardHolderName);
//                if (CH.Phone != null)
//                    if (DecryptValue(CH.EncryptedPhone) != CH.Phone)
//                    throw new Exception("Phone not matching for " + CH.CardHolderName);
//                if (CH.email != null)
//                    if (DecryptValue(CH.EncryptedEmail) != CH.email)
//                    throw new Exception("Email not matching for " + CH.CardHolderName);
//            }
//            return true;
//        }



        String ICardHolderRepository.DecryptCardHolderValue(String Value)
        {
            return(GiftEncryption.Decrypt(Value));
        }
Example #29
0
 String ICardHolderRepository.EncryptPhone(String Phone)
 {
     return(GiftEncryption.Encrypt(extractPhoneNumber(Phone)));
 }
Example #30
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);
        }