private Customer(RegisteredCustomer registeredCustomer, IPaymentMethodFactory paymentMethodFactory) { _registeredCustomer = registeredCustomer; _paymentMethodFactory = paymentMethodFactory; Basket = Basket.Empty; PaymentMethods = ImmutableDictionary <string, IPaymentMethod> .Empty; }
public PayExPaymentGateway() { _paymentMethodFactory = ServiceLocator.Current.GetInstance <IPaymentMethodFactory>(); }
public AddPaymentMethodCommandHandler(IPaymentMethodFactory paymentMethodFactory, IPaymentMethodRepository paymentMethodRepository) { this.paymentMethodFactory = paymentMethodFactory; this.paymentMethodRepository = paymentMethodRepository; }
public PayExPaymentGateway() { _paymentMethodFactory = ServiceLocator.Current.GetInstance<IPaymentMethodFactory>(); }
private Customer(RegisteredCustomer registeredCustomer, Basket basket, ImmutableDictionary <string, IPaymentMethod> paymentMethods, IPaymentMethodFactory paymentMethodFactory) : this(registeredCustomer, paymentMethodFactory) { Basket = basket; PaymentMethods = paymentMethods; }
private static Customer Load(AccountName accountName, Func <AccountName, IEnumerable <IEvent> > eventSource, IPaymentMethodFactory paymentMethodFactory) { IEnumerable <dynamic> events = eventSource(accountName); if (!events.Any()) { return(None); } var customer = new Customer(RegisteredCustomer.None, paymentMethodFactory); return(events.Aggregate(customer, (c, e) => c.Apply(e))); }
public static Func <AccountName, Customer> BuildLoadCustomer(Func <AccountName, IEnumerable <IEvent> > eventSource, IPaymentMethodFactory paymentMethodFactory) { return(accountName => Load(accountName, eventSource, paymentMethodFactory)); }