Ejemplo n.º 1
0
        public static ICreditCard GetCreditCard(CreditCardType type)
        {
            // Pripravimo si novo spremenljivko
            ICreditCard card = null;

            // Ustvarimo instanco glede na izbrani tip
            switch (type)
            {
            case CreditCardType.Student:
                card = new Student();
                break;

            case CreditCardType.Silver:
                card = new Silver();
                break;

            case CreditCardType.Gold:
                card = new Gold();
                break;

            case CreditCardType.Platinum:
                card = new Platinum();
                break;
            }

            return(card);
        }
Ejemplo n.º 2
0
        public StripeObject CreateCharge(decimal amount, string currency, ICreditCard card, string description = null)
        {
            Require.Argument("amount", amount);
            Require.Argument("currency", currency);
            Require.Argument("card", card);
            card.Validate();

            if (amount < 0.5M)
            {
                throw new ArgumentOutOfRangeException("amount", amount, "Amount must be at least 50 cents");
            }

            var request = new RestRequest();

            request.Method   = Method.POST;
            request.Resource = "charges";

            request.AddParameter("amount", Convert.ToInt32(amount * 100M));
            request.AddParameter("currency", currency);
            card.AddParametersToRequest(request);
            if (description.HasValue())
            {
                request.AddParameter("description", description);
            }

            return(ExecuteObject(request));
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            #region Withou Factory Pattern

            string      crediCard = "AMEX";
            ICreditCard CrediCard = null;

            if (crediCard == "Discover")
            {
                CrediCard = new DiscoverCreditCard();
            }
            else if (crediCard == "Chase")
            {
                CrediCard = new ChaseCreditCard();
            }
            else if (crediCard == "AMEX")
            {
                CrediCard = new AMEXCreditCard();
            }

            if (CrediCard != null)
            {
                Print(CrediCard);
            }
            #endregion Without Design Pattern

            ICreditCard creditCard = CreditCardFactory.getCrediCatd("AMEX");
            Print(creditCard);
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            DiscoverCreditCardFactory chaseCreditCardFactory = new DiscoverCreditCardFactory();
            ICreditCard creditCard = chaseCreditCardFactory.getCrediCard();

            Print(creditCard);
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            decimal amountToShop = 400;

            CreditCardFactory.type = CreditCardType.MasterCard;
            ICreditCard MCCreditCard = CreditCardFactory.Create();

            MCCreditCard.Owner     = "jhon";
            MCCreditCard.MaxAmount = 5000;

            ShopWithCreditCard(MCCreditCard, amountToShop);

            Console.ReadKey();
            global::System.Console.WriteLine();

            CreditCardFactory.type = CreditCardType.Visa;
            var VCredidCard = CreditCardFactory.Create();

            VCredidCard.Owner     = "Peter";
            VCredidCard.MaxAmount = 10000;

            ShopWithCreditCard(VCredidCard, amountToShop);

            var BNBCard = new BNBCreditCard();

            ShopWithCreditCard(BNBCard, 10000);
        }
Ejemplo n.º 6
0
        public static void Main(string[] args)
        {
            ///////////////////////////////////
            //Using Resolver with configuration file.
            //This will remove all concrete dependency of the shopper
            ///////////////////////////////////

            ICreditCard creditCard = CreditCardResolver.resolve();

            Shopper shopper = new Shopper(creditCard);

            Console.WriteLine(string.Format("Shopper is {0}", shopper.charge()));


            ///////////////////////////////////
            //Using Esedra IoC Container
            ///////////////////////////////////
            EsedraContainer EsedraIoC = new EsedraContainer();

            //register dependencies
            EsedraIoC.register <Shopper, Shopper>();
            EsedraIoC.register <ICreditCard, MasterCard>();

            Shopper s = EsedraIoC.Inject <Shopper>();

            Console.WriteLine(string.Format("Shopper is {0}", s.charge()));



            Console.ReadKey();
        }
Ejemplo n.º 7
0
 public bool PayWithCard(ICreditCard creditCard)
 {
     if (Credit > 0)
     {
         Console.WriteLine("There are funds in machine");
         return(false);
     }
     else
     {
         if (creditCard.IsValid)
         {
             if (creditCard.Balance >= MaxPrice)
             {
                 creditCard.Balance -= MaxPrice;
                 Credit             += MaxPrice;
                 CreditCard          = creditCard;
                 UsingCreditCard     = true;
                 Console.WriteLine("Using {0} card", CreditCard.BankName);
                 CheckFunds();
                 return(true);
             }
             else
             {
                 Console.WriteLine("Insufficient funds");
             }
         }
         else
         {
             Console.WriteLine("Your credit card has expired");
         }
         return(false);
     }
 }
Ejemplo n.º 8
0
        public void CreditCardClient()
        {
            //Generally we will get the Card Type from UI.
            //Here we are hardcoded the card type
            string      cardType    = "MoneyBack";
            ICreditCard 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();
        }
Ejemplo n.º 9
0
 public CreditCardModel(ICreditCard creditCard)
 {
     CardNumber = creditCard.CardNumber;
     CardType   = creditCard.CardType;
     ExpMonth   = creditCard.ExpMonth;
     ExpYear    = creditCard.ExpYear;
 }
        public StripeObject UpdateCustomer(string customerId, ICreditCard card = null,
            string coupon = null, string email = null, string description = null,
            int? accountBalance = null, string defaultSource = null,
            IDictionary<string, string> metaData = null)
        {
            Require.Argument("customerId", customerId);

            if (card != null) card.Validate();

            var request = new RestRequest();
            request.Method = Method.POST;
            request.Resource = "customers/{customerId}";

            request.AddUrlSegment("customerId", customerId);

            if (card != null) card.AddParametersToRequest(request);
            if (coupon.HasValue()) request.AddParameter("coupon", coupon);
            if (email.HasValue()) request.AddParameter("email", email);
            if (description.HasValue()) request.AddParameter("description", description);
            if (accountBalance.HasValue) request.AddParameter("account_balance", accountBalance.Value);
            if (defaultSource.HasValue()) request.AddParameter("default_source", defaultSource);
            if (metaData != null) request.AddParameter("metadata", metaData);

            return ExecuteObject(request);
        }
Ejemplo n.º 11
0
        public static void WithoutUsingFactoryDP(string cardType)
        {
            ICreditCard cardDetails = null;

            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");
            }
        }
        public StripeObject UpdateRecipient(string recipientId, string name = null,
            string taxId = null, IBankAccount bankAccount = null, ICreditCard card = null,
            string defaultCardId = null, string email = null, string description = null)
        {
            Require.Argument("recipientId", recipientId);

            if (card != null) card.Validate();
            if (bankAccount != null) bankAccount.Validate();

            var request = new RestRequest();
            request.Method = Method.POST;
            request.Resource = "recipients/{recipientId}";

            request.AddUrlSegment("recipientId", recipientId);

            if (name.HasValue()) request.AddParameter("name", name);
            if (taxId.HasValue()) request.AddParameter("tax_id", taxId);
            if (defaultCardId.HasValue()) request.AddParameter("default_card", defaultCardId);
            if (email.HasValue()) request.AddParameter("email", email);
            if (description.HasValue()) request.AddParameter("description", description);
            if (bankAccount != null) bankAccount.AddParametersToRequest(request);
            if (card != null) card.AddParametersToRequest_Old(request);

            return ExecuteObject(request);
        }
 public static void Deposite(ICreditCard creditCard, decimal amountToDeposite)
 {
     creditCard.DepositeCash(amountToDeposite);
     Console.WriteLine($"Dear: {creditCard.GetHolderInfo().Name}");
     Console.WriteLine($"Your brand is : {creditCard.GetBrand()}");
     Console.WriteLine($"You have deposited {amountToDeposite} and now you have {creditCard.GetMoney()}$ with {creditCard.GetInterest()}$ of interest per year");
 }
        public StripeCustomer UpdateCustomer(string customerId, ICreditCard card = null, string coupon = null, string email = null, string description = null)
        {
            if (card != null)
            {
                card.Validate();
            }

            var request = new RestRequest();

            request.Method   = Method.POST;
            request.Resource = "customers/{customerId}";

            request.AddUrlSegment("customerId", customerId);

            if (card != null)
            {
                card.AddParametersToRequest(request);
            }
            if (coupon.HasValue())
            {
                request.AddParameter("coupon", coupon);
            }
            if (email.HasValue())
            {
                request.AddParameter("email", email);
            }
            if (description.HasValue())
            {
                request.AddParameter("description", description);
            }

            return(Execute <StripeCustomer>(request));
        }
        static void Main(string[] args)
        {
            string            name;
            decimal           amountToDeposite;
            CreditCardFactory factory = new ConcreteCreditCardFactory();


            Console.WriteLine("Hello MasterCard User, what is your name?");
            name = Console.ReadLine();
            Console.WriteLine("How much would you like to deposite?");
            amountToDeposite = (decimal)Convert.ToDouble(Console.ReadLine());
            ICreditCard masterCard = factory.GetCreditCard("MasterCard");

            masterCard.Owner = name;
            Deposite(masterCard, amountToDeposite);


            Console.WriteLine("____________________________________________________\n");


            Console.WriteLine("Hello MasterCard User, what is your name?");
            name = Console.ReadLine();
            Console.WriteLine("How much would you like to deposite?");
            amountToDeposite = (decimal)Convert.ToDouble(Console.ReadLine());
            ICreditCard visa = factory.GetCreditCard("Visa");

            visa.Owner = name;
            Deposite(visa, amountToDeposite);


            Console.ReadKey();
        }
        public StripeObject CreateCustomer(ICreditCard card = null, string coupon = null,
            string email = null, string description = null, string plan = null,
            DateTimeOffset? trialEnd = null, int? accountBalance = default(int),
            IDictionary<string, string> metaData = null, int? quantity = null,
            decimal? taxPercent = null)
        {
            if (card != null) card.Validate();

            var request = new RestRequest();
            request.Method = Method.POST;
            request.Resource = "customers";

            if (coupon.HasValue()) request.AddParameter("coupon", coupon);
            if (email.HasValue()) request.AddParameter("email", email);
            if (description.HasValue()) request.AddParameter("description", description);
            if (plan.HasValue()) request.AddParameter("plan", plan);
            if (trialEnd.HasValue) request.AddParameter("trial_end", trialEnd.Value.ToUnixEpoch());
            if (metaData != null) request.AddParameter("metadata", metaData);
            if (accountBalance.HasValue) request.AddParameter("account_balance", accountBalance);
            if (quantity > 1) request.AddParameter("quantity", quantity);
            if (taxPercent.HasValue) request.AddParameter("tax_percent", taxPercent);
            if (card != null) card.AddParametersToRequest(request);

            return ExecuteObject(request);
        }
Ejemplo n.º 17
0
 private IEnumerable<CreditCardTransaction> Generate(IOrder order, ICreditCard[] cards)
 {
     if (cards.IsNullOrEmpty()) yield break;
     var countCard = cards.Count();
     foreach (var card in cards)
     {
         var transaction = new CreditCardTransaction
         {
             /*Divide o total da compra pelo número de cartões enviados*/
             AmountInCents = order.AmountInCents / countCard,
             TransactionReference = order.TransactionReference,
             InstallmentCount = card.InstallmentCount
         };
         if (card.InstantBuyKey.HasValue && card.InstantBuyKey.Value != Guid.Empty)
         {
             transaction.CreditCard = new CreditCard()
             {
                 InstantBuyKey = card.InstantBuyKey.Value
             };
             yield return transaction;
             continue;
         }
         transaction.CreditCard = card.Copiar<ICreditCard, CreditCard>();
         Contract.Assert(card.CreditCardBrand.HasValue);
         GatewayApiClient.DataContracts.EnumTypes.CreditCardBrandEnum brand;
         Enum.TryParse(card.CreditCardBrand.GetValueOrDefault().ToString(), true, out brand);
         transaction.CreditCard.CreditCardBrand = brand;
         yield return transaction;
     }
 }
Ejemplo n.º 18
0
        public StripeObject CreateCustomer(ICreditCard card        = null, string coupon              = null,
                                           string email            = null, string description         = null, string plan = null,
                                           DateTimeOffset?trialEnd = null, int?accountBalance         = default(int),
                                           IDictionary <string, string> metaData = null, int?quantity = null,
                                           decimal?taxPercent = null)
        {
            if (card != null)
            {
                card.Validate();
            }

            var request = new RestRequest();

            request.Method   = Method.POST;
            request.Resource = "customers";

            if (coupon.HasValue())
            {
                request.AddParameter("coupon", coupon);
            }
            if (email.HasValue())
            {
                request.AddParameter("email", email);
            }
            if (description.HasValue())
            {
                request.AddParameter("description", description);
            }
            if (plan.HasValue())
            {
                request.AddParameter("plan", plan);
            }
            if (trialEnd.HasValue)
            {
                request.AddParameter("trial_end", trialEnd.Value.ToUnixEpoch());
            }
            if (metaData != null)
            {
                request.AddParameter("metadata", metaData);
            }
            if (accountBalance.HasValue)
            {
                request.AddParameter("account_balance", accountBalance);
            }
            if (quantity > 1)
            {
                request.AddParameter("quantity", quantity);
            }
            if (taxPercent.HasValue)
            {
                request.AddParameter("tax_percent", taxPercent);
            }
            if (card != null)
            {
                card.AddParametersToRequest(request);
            }

            return(ExecuteObject(request));
        }
Ejemplo n.º 19
0
 public Model(ICreditCard card)
 {
     CreditCardID = card.CreditCardID;
     CardNumber   = card.CardNumber;
     CardType     = card.CardType;
     ExpMonth     = card.ExpMonth;
     ExpYear      = card.ExpYear;
 }
Ejemplo n.º 20
0
        public void VisaCalculateInterest_IntegerMonths_Decimal(ICreditCard card, decimal expected)
        {
            //ACT
            var actual = card.CalculateInterest(1);

            //ASSERT
            Assert.AreEqual(actual, expected);
        }
Ejemplo n.º 21
0
 public CreditCardAccount(ICreditCard cc, float minPaymentRate, Pecuniam ccMax = null)
     : base(cc.CardHolderSince, minPaymentRate <= 0 ? DF_MIN_PMT_RATE : minPaymentRate)
 {
     Cc           = cc;
     Max          = ccMax ?? new Pecuniam(1000);
     FormOfCredit = Rand.Sp.Enums.FormOfCredit.Revolving;
     DueFrequency = new TimeSpan(30, 0, 0, 0);
 }
Ejemplo n.º 22
0
        public void Start()
        {
            ICreditCard _creditCardDetail = CardFactory.GetCreditCardInstance(CardType.Platinum);

            Console.WriteLine($"CardType:{_creditCardDetail.GetCardType()}" +
                              $"\n CreditLimit: {_creditCardDetail.GetCreditLimit()}" +
                              $"\n AnnualAverage: {_creditCardDetail.GetAnnualCharge()}");
        }
        public virtual bool IsCreditCardValid(ICreditCard card)
        {
            if (nextCreditCardHandler != null)
            {
                return(nextCreditCardHandler.IsCreditCardValid(card));
            }

            return(false);
        }
Ejemplo n.º 24
0
        public void UpdateCreditCard(string cardNumber, ICreditCard creditCard)
        {
            ICreditCard updatedCard = GetCreditCard(cardNumber);

            updatedCard.CardNumber = creditCard.CardNumber;
            updatedCard.CardType   = creditCard.CardType;
            updatedCard.ExpMonth   = creditCard.ExpMonth;
            updatedCard.ExpYear    = creditCard.ExpYear;
        }
        public override bool IsCreditCardValid(ICreditCard card)
        {
            if (card.Number.StartsWith(MasterCardStartingNumber))
            {
                return(paymentGateway.SubmitVerification(this, card));
            }

            return(base.IsCreditCardValid(card));
        }
Ejemplo n.º 26
0
 public void setup()
 {
     mockBankMapper = new Mock <IBankMapper>();
     newAcc         = new Account();
     newCC          = new CreditCard();
     listOfAcc      = new List <IAccount>();
     listOfCCs      = new List <ICreditCard>();
     myBank         = null;
 }
Ejemplo n.º 27
0
        static void Main(string[] args)
        {
            ICreditCard creditCard1 = CreditCardFactory.GetCreditCard("ICBC");

            Console.WriteLine(creditCard1.GetCardDetail());

            ICreditCard creditCard2 = CreditCardFactory.GetCreditCard("CMB");

            Console.WriteLine(creditCard2.GetCardDetail());
        }
Ejemplo n.º 28
0
 private static Data.CreditCard MoveToData(ICreditCard creditCard)
 {
     return(new Data.CreditCard
     {
         CardNumber = creditCard.CardNumber,
         CardType = creditCard.CardType,
         ExpMonth = creditCard.ExpMonth,
         ExpYear = creditCard.ExpYear
     });
 }
Ejemplo n.º 29
0
        public void UpdateCreditCard(int id, ICreditCard creditCard)
        {
            ICreditCard cc = GetCreditCard(id);

            cc.CardNumber   = creditCard.CardNumber;
            cc.CardType     = creditCard.CardType;
            cc.CreditCardID = creditCard.CreditCardID;
            cc.ExpMonth     = creditCard.ExpMonth;
            cc.ExpYear      = creditCard.ExpYear;
        }
Ejemplo n.º 30
0
        public IPaymentResponse Pay(ICreditCard card, IRental rental)
        {
            Transaction transaction = new Transaction();

            //transaction.amount
            //           transaction.payee
            //transaction.payment_options.

            return(default(IPaymentResponse));
        }
Ejemplo n.º 31
0
        static void MethodCreditCardFactoryDemo()
        {
            ICreditCard creditCard = MethodCreditCardFactory.GetCreditCard("BMO");

            ShowCreditCard(creditCard);
            creditCard = MethodCreditCardFactory.GetCreditCard("TD");
            ShowCreditCard(creditCard);
            creditCard = MethodCreditCardFactory.GetCreditCard("CIBC");
            ShowCreditCard(creditCard);
        }
Ejemplo n.º 32
0
        private static void ShopWithCreditCard(ICreditCard creditCard, decimal amount)
        {
            Console.WriteLine($"Brand {creditCard.GetBrand()}");
            var holderInformation = creditCard.GetHolderInformation();

            Console.WriteLine($"information:{holderInformation.Name} {holderInformation.Address}");
            var interest = creditCard.CalculateInterest(amount);

            Console.WriteLine($"the interes will be: {interest}$ if you spend {amount}$");
        }
Ejemplo n.º 33
0
 public static ITransactionRequest CreateMockTransactionRequest(
     IBillingAddress billingAddress,
     ICreditCard creditCard)
 {
     return(Mock.Of <ITransactionRequest>
            (
                txnReq => txnReq.Amount == 123.45M &&
                txnReq.BillingAddress == billingAddress &&
                txnReq.CreditCard == creditCard
            ));
 }
        public StripeObject UpdateCustomer(string customerId, ICreditCard card = null,
                                           string coupon      = null, string email       = null, string description = null,
                                           int?accountBalance = null, string defaultCard = null, string defaultSource = null,
                                           IDictionary <string, string> metaData = null)
        {
            Require.Argument("customerId", customerId);

            if (card != null)
            {
                card.Validate();
            }

            var request = new RestRequest();

            request.Method   = Method.POST;
            request.Resource = "customers/{customerId}";

            request.AddUrlSegment("customerId", customerId);

            if (card != null)
            {
                card.AddParametersToRequest(request);
            }
            if (coupon.HasValue())
            {
                request.AddParameter("coupon", coupon);
            }
            if (email.HasValue())
            {
                request.AddParameter("email", email);
            }
            if (description.HasValue())
            {
                request.AddParameter("description", description);
            }
            if (accountBalance.HasValue)
            {
                request.AddParameter("account_balance", accountBalance.Value);
            }
            if (defaultCard.HasValue())
            {
                request.AddParameter("default_card", defaultCard);
            }
            if (defaultSource.HasValue())
            {
                request.AddParameter("default_source", defaultSource);
            }
            if (metaData != null)
            {
                request.AddParameter("metadata", metaData);
            }

            return(ExecuteObject(request));
        }
Ejemplo n.º 35
0
        public StripeObject CreateCardToken(ICreditCard card)
        {
            Require.Argument("card", card);
            card.Validate();

            var request = new RestRequest();
            request.Method = Method.POST;
            request.Resource = "tokens";

            card.AddParametersToRequest_Old(request);

            return ExecuteObject(request);
        }
        public StripeCustomer UpdateCustomer(string customerId, ICreditCard card = null, string coupon = null, string email = null, string description = null)
        {
            if (card != null) card.Validate();

            var request = new RestRequest();
            request.Method = Method.POST;
            request.Resource = "customers/{customerId}";

            request.AddUrlSegment("customerId", customerId);

            if (card != null) card.AddParametersToRequest(request);
            if (coupon.HasValue()) request.AddParameter("coupon", coupon);
            if (email.HasValue()) request.AddParameter("email", email);
            if (description.HasValue()) request.AddParameter("description", description);

            return Execute<StripeCustomer>(request);
        }
        public StripeCustomer CreateCustomer(ICreditCard card = null, string coupon = null, string email = null, string description = null, string plan = null, DateTimeOffset? trialEnd = null)
        {
            if (card != null) card.Validate();

            var request = new RestRequest();
            request.Method = Method.POST;
            request.Resource = "customers";

            if (card != null) card.AddParametersToRequest(request);
            if (coupon.HasValue()) request.AddParameter("coupon", coupon);
            if (email.HasValue()) request.AddParameter("email", email);
            if (description.HasValue()) request.AddParameter("description", description);
            if (plan.HasValue()) request.AddParameter("plan", plan);
            if (trialEnd.HasValue) request.AddParameter("trial_end", trialEnd.Value.ToUnixEpoch());

            return Execute<StripeCustomer>(request);
        }
        public StripeObject CreateCard(string customerOrRecipientId, ICreditCard card, bool isRecipient = false)
        {
            Require.Argument("customerOrRecipientId", customerOrRecipientId);
            Require.Argument("card", card);

            if (card != null)
            {
                card.Validate();
            }

            var request = new RestRequest();

            request.Method = Method.POST;
            request.Resource = string.Format("{0}/{{customerOrRecipientId}}/cards", isRecipient ? "recipients" : "customers");

            request.AddUrlSegment("customerOrRecipientId", customerOrRecipientId);

            card.AddParametersToRequest(request);

            return ExecuteObject(request);
        }
        public StripeObject UpdateCustomersSubscription(string customerId, string planId, string coupon = null, bool? prorate = null, DateTimeOffset? trialEnd = null, ICreditCard card = null)
        {
            Require.Argument("customerId", customerId);
            Require.Argument("planId", planId);

            if (card != null) card.Validate();

            var request = new RestRequest();
            request.Method = Method.POST;
            request.Resource = "customers/{customerId}/subscription";

            request.AddUrlSegment("customerId", customerId);

            request.AddParameter("plan", planId);
            if (coupon.HasValue()) request.AddParameter("coupon", coupon);
            if (prorate.HasValue) request.AddParameter("prorate", prorate.Value);
            if (trialEnd.HasValue) request.AddParameter("trial_end", trialEnd.Value.ToUnixEpoch());
            if (card != null) card.AddParametersToRequest(request);

            return ExecuteObject(request);
        }
        public StripeObject CreateCharge(decimal amount, string currency, ICreditCard card, string description = null)
        {
            Require.Argument("amount", amount);
            Require.Argument("currency", currency);
            Require.Argument("card", card);
            card.Validate();

            if (amount < 0.5M)
                throw new ArgumentOutOfRangeException("amount", amount, "Amount must be at least 50 cents");

            var request = new RestRequest();
            request.Method = Method.POST;
            request.Resource = "charges";

            request.AddParameter("amount", Convert.ToInt32(amount * 100M));
            request.AddParameter("currency", currency);
            card.AddParametersToRequest(request);
            if (description.HasValue()) request.AddParameter("description", description);

            return ExecuteObject(request);
        }
 // This provides a seam in the factory where I can prime the factory with the user it will then cough up. (for test code)
 public static void SetCreditCard(ICreditCard aCreditCard)
 {
     _creditCard = aCreditCard;
 }
Ejemplo n.º 42
0
 public ShopperVer1(ICreditCard creditCard)
 {
     this.creditCard = creditCard;
 }
 public MainWindow(ICreditCard card)
 {
     InitializeComponent();
     label1.Content = card.Charge();
 }
Ejemplo n.º 44
0
 public Shopper(ICreditCard creditCard)
 {
     this._creditCard = creditCard;
 }
Ejemplo n.º 45
0
		public Shopper([Named("Visa")]ICreditCard creditCard)
		{
			CreditCard = creditCard;
		}
 public HomeController(ICreditCard creditCard)
 {
     _creditCard = creditCard;
 }
 public bool addNewCreditCard(ICreditCard creditCard, int guestId)
 {
     if (this.CreditCardList.Count == 0)
     {
         dataLayer.addNewCreditCardToDb(creditCard, guestId);
         return true;
     }
     else
     {
         ICreditCard duplicateItem = this.CreditCardList.Find(item => item.CardNo == creditCard.CardNo);
         if (duplicateItem != null)
         {
             return false;
     }
         else
         {
             dataLayer.addNewCreditCardToDb(creditCard, guestId);
             return true;
         }
     }
 }
Ejemplo n.º 48
0
		public Shopper(ICreditCard creditCard)
		{
			CreditCard = creditCard;
		}
        public bool addNewCreditCardToDb(ICreditCard creditCard, int guestId)
        {
            try
            {
                DataSet ds;
                SqlDataAdapter da;
                SqlCommandBuilder cb;
                ds = new DataSet();
                string sql = "SELECT * From bankcards";
                da = new SqlDataAdapter(sql, con);
                da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                cb = new SqlCommandBuilder(da);  //Generates
                da.Fill(ds, "BankCardData");
                int totalItems = ds.Tables["BankCardData"].Rows.Count;
                DataRow dRow = ds.Tables["BankCardData"].NewRow();
                dRow[0] = creditCard.CardNo;
                dRow[1] = creditCard.ExpiryDateTime;
                dRow[2] = creditCard.Cvv;
                dRow[3] = creditCard.CardType;
                dRow[4] = creditCard.CardMake;
                dRow[5] = creditCard.CardName;
                dRow[6] = guestId;

                ds.Tables["BankCardData"].Rows.Add(dRow);

                da.Update(ds, "BankCardData"); //remove row from database table
            }
            catch (System.Exception excep)
            {
                MessageBox.Show(excep.Message);
                if (getConnection().ToString() == "Open")
                    closeConnection();
                Application.Exit();
            }
            return true;
        }
Ejemplo n.º 50
0
 public void Setup(ICreditCard creditCard)
 {
     _creditCard = creditCard;
 }
Ejemplo n.º 51
0
 public Form1(ICreditCard card)
 {
     InitializeComponent();
     label1.Text = card.Charge();
 }
 public Shopper(ICreditCard card, string path)
 {
     Card = card;
 }