Exemple #1
0
        public override bool Equals(object obj)
        {
            CreditCardDetails target = (CreditCardDetails)obj;

            return((this.CardType == CardType) &&
                   (this.cardNumber == cardNumber) &&
                   (this.VerificationCode == VerificationCode) &&
                   (this.ExpirationDate == ExpirationDate) &&
                   (this.DefaultCard == DefaultCard) &&
                   (this.userId == userId));
        }
        /// <summary>
        /// Add a Credit Card
        /// </summary>
        /// <param creditCardId="creditCardId">creditCardId</param>
        /// <param creditCardDetails="creditCardDetails">creditCardDetails</param>
        /// <returns> void </returns>
        public long AddCreditCard(CreditCardDetails creditCardDetails)
        {
            CreditCard creditCard = new CreditCard();

            try
            {
                creditCardDao.FindByNumber(creditCardDetails.cardNumber);

                throw new DuplicateInstanceException(creditCardDetails.cardNumber,
                                                     typeof(CreditCard).FullName);
            }
            catch (InstanceNotFoundException)
            {
                creditCard.cardType         = creditCardDetails.CardType;
                creditCard.cardNumber       = creditCardDetails.cardNumber;
                creditCard.verificationCode = creditCardDetails.VerificationCode;
                creditCard.expirationDate   = creditCardDetails.ExpirationDate;
                creditCard.defaultCard      = creditCardDetails.DefaultCard;
                creditCard.userId           = creditCardDetails.userId;
                creditCardDao.Create(creditCard);

                return(creditCard.cardId);
            }
        }
        /// <summary>
        /// update the data of a creditCard
        /// </summary>
        /// <param creditCardId="creditCardId">creditCardId</param>
        /// <param creditCardDetails="creditCardDetails">creditCardDetails</param>
        /// <returns> void </returns>
        /// <exception cref="InstanceNotFoundException"/>
        public void UpdateCreditCard(long creditCardId, CreditCardDetails creditCardDetails)
        {
            CreditCard creditCard =
                creditCardDao.Find(creditCardId);

            if (!creditCard.cardNumber.Equals(creditCardDetails.cardNumber))
            {
                try
                {
                    creditCardDao.FindByNumber(creditCardDetails.cardNumber);

                    throw new DuplicateInstanceException(creditCardDetails.cardNumber,
                                                         typeof(CreditCard).FullName);
                }
                catch (InstanceNotFoundException)
                {
                    creditCard.cardType         = creditCardDetails.CardType;
                    creditCard.cardNumber       = creditCardDetails.cardNumber;
                    creditCard.verificationCode = creditCardDetails.VerificationCode;
                    creditCard.expirationDate   = creditCardDetails.ExpirationDate;
                    creditCard.defaultCard      = creditCardDetails.DefaultCard;
                    creditCard.userId           = creditCardDetails.userId;
                    creditCardDao.Update(creditCard);
                }
            }
            else
            {
                creditCard.cardType         = creditCardDetails.CardType;
                creditCard.cardNumber       = creditCardDetails.cardNumber;
                creditCard.verificationCode = creditCardDetails.VerificationCode;
                creditCard.defaultCard      = creditCardDetails.DefaultCard;
                creditCard.expirationDate   = creditCardDetails.ExpirationDate;
                creditCard.userId           = creditCardDetails.userId;
                creditCardDao.Update(creditCard);
            }
        }