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);
        }
        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);
        }