public static CreditCard GetCreditCard(string cardType)
        {
            CreditCard cardDetails = null;

            if (cardType == "MoneyBack")
            {
                cardDetails = new MoneyBack();
            }
            else if (cardType == "Titanium")
            {
                cardDetails = new Titanium();
            }
            else if (cardType == "Platinum")
            {
                cardDetails = new Platinum();
            }
            return(cardDetails);
        }
Example #2
0
            public static CreditCard GetCreditCard(CreditCardType cardType)
            {
                CreditCard cardDetails = null;

                switch (cardType)
                {
                case CreditCardType.MoneyBack:
                    cardDetails = new MoneyBack();
                    break;

                case CreditCardType.Titanium:
                    cardDetails = new Titanium();
                    break;

                case CreditCardType.Platinum:
                    cardDetails = new Platinum();
                    break;

                default:
                    break;
                }
                return(cardDetails);
            }
        static void Main(string[] args)
        {
            //Generally we will get the Card Type from UI.
            //Here we are hardcoded the card type
            string     cardType    = "MoneyBack";
            CreditCard cardDetails = null;

            //Based of the CreditCard Type we are creating the
            //appropriate type instance using if else condition

            if (cardType == "MoneyBack")
            {
                cardDetails = new MoneyBack();
            }
            else if (cardType == "Titanium")
            {
                cardDetails = new Titanium();
            }
            else if (cardType == "Platinum")
            {
                cardDetails = new Platinum();
            }

            if (cardDetails != null)
            {
                Console.WriteLine("CardType : " + cardDetails.GetCardType());
                Console.WriteLine("CreditLimit : " + cardDetails.GetCreditLimit());
                Console.WriteLine("AnnualCharge :" + cardDetails.GetAnnualCharge());
            }
            else
            {
                Console.Write("Invalid Card Type");
            }

            Console.ReadLine();
        }
Example #4
0
        public static ICreditCard GetCreditCard(CreditCardType creditCardType)
        {
            ICreditCard creditCard = null;

            switch (creditCardType)
            {
            case CreditCardType.MoneyBank:
                creditCard = new MoneyBack();
                break;

            case CreditCardType.Titanium:
                creditCard = new Titanium();
                break;

            case CreditCardType.Platinum:
                creditCard = new Platinum();
                break;

            default:
                creditCard = null;
                break;
            }
            return(creditCard);
        }
        protected override ICreditCard MakeProduct()
        {
            ICreditCard product = new MoneyBack();

            return(product);
        }
Example #6
0
        protected override CreditCard MakeProduct()
        {
            CreditCard creditCard = new MoneyBack();

            return(creditCard);
        }