internal creditCardType[] GetCustomerCreditCards(string customerId)
    {
        CustomerCreditCardsDataSet dsCreditCard = new CustomerCreditCardsDataSet();
        CreditCardTableAdapter     ad1          = new CreditCardTableAdapter();
        CreditCardTypeTableAdapter ad2          = new CreditCardTypeTableAdapter();

        ad1.Fill(dsCreditCard.CreditCard, customerId);
        ad2.Fill(dsCreditCard.CreditCardType);

        List <creditCardType> result = new List <creditCardType>();

        foreach (CustomerCreditCardsDataSet.CreditCardRow rowCreditCard in dsCreditCard.CreditCard)
        {
            creditCardType creditCard = new creditCardType();
            creditCard.availableBalance = rowCreditCard.AvailableBalance;
            creditCard.cardCreditLimit  = rowCreditCard.CreditLimit;
            creditCard.accountNumber    = rowCreditCard.CreditCardNumber;
            creditCard.customerId       = rowCreditCard.CustomerId;
            creditCard.dateOpened       = rowCreditCard.DateOpened;
            creditCard.lastPaymentDue   = rowCreditCard.IsLastPaymentDateNull() ? DateTime.MinValue : rowCreditCard.LastPaymentDate;
            creditCard.paymentDue       = rowCreditCard.IsPaymentDueNull() ? 0 : rowCreditCard.PaymentDue;

            CustomerCreditCardsDataSet.CreditCardTypeRow rowCardType = rowCreditCard.CreditCardTypeRow;
            creditCard.accountType                = new creditCardTypeType();
            creditCard.accountType.id             = rowCardType.CreditCardTypeId;
            creditCard.accountType.fees           = rowCardType.IsFeesNull() ? 0 : (float)rowCardType.Fees;
            creditCard.accountType.interestRate   = (float)rowCardType.InterestRate;
            creditCard.accountType.maxCreditLimit = rowCardType.MaxCreditLimit;
            creditCard.accountType.type           = rowCardType.CreditCardType;

            result.Add(creditCard);
        }
        return(result.ToArray());
    }
 // constructor
 public ParkingDatabase(IClock clock, IMailer mailer)
 {
     customerTableAdapater = new CustomerTableAdapter();
     vehicleTableAdapater = new VehicleTableAdapter();
     customerVehicleTableAdapter = new CustomerVehicleTableAdapter();
     reservationTableAdapter = new ReservationTableAdapter();
     cardTableAdapter = new CreditCardTableAdapter();
     customerCardTableAdapter = new CustomerCreditCardTableAdapter();
     transactionTableAdapater = new TransactionTableAdapter();
     parkingSpotTableAdapter = new ParkingSpotTableAdapter();
     DatabaseClock = clock;
     Mailer = mailer;
 }