public StoreControllerTests() { _storeItemRepository = A.Fake <IStoreItemRepository>(); _warehouseService = A.Fake <IWarehouseService>(); _shoppingCardRepository = A.Fake <IShoppingCardRepository>(); _userCreditService = A.Fake <IUserCreditService>(); _paymentService = A.Fake <IPaymentService>(); }
public UserService( IDateTimeProvider dateTimeProvider, IUserCreditService userCreditService, IUserRepository userRepository) { this.userRepository = userRepository; this.userValidator = new UserValidator(dateTimeProvider); this.creditLimitProviderFactory = new CreditLimitProviderFactory(userCreditService); }
public StoreController(IStoreItemRepository storeItemRepository, IWarehouseService warehouseService, IShoppingCardRepository shoppingCardRepository, IUserCreditService userCreditService, IPaymentService paymentService) { _storeItemRepository = storeItemRepository; _warehouseService = warehouseService; _shoppingCardRepository = shoppingCardRepository; _userCreditService = userCreditService; _paymentService = paymentService; }
public UserService( IDateTimeProvider dateTimeProvider, IClientRepository clientRepository, IUserCreditService userCreditService, IUserDataAccess userDataAccess) { _dateTimeProvider = dateTimeProvider; _clientRepository = clientRepository; _userCreditService = userCreditService; _userDataAccess = userDataAccess; }
public CreditLimitProviderFactory(IUserCreditService userCreditService) { var creditLimitProviderType = typeof(ICreditLimitProvider); _creditLimitProviders = creditLimitProviderType.Assembly.ExportedTypes .Where(x => creditLimitProviderType.IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract) .Select(x => { var parameterlessCtor = x.GetConstructors().SingleOrDefault(c => c.GetParameters().Length == 0); return(parameterlessCtor is not null ? Activator.CreateInstance(x) : Activator.CreateInstance(x, userCreditService)); }) .Cast <ICreditLimitProvider>() .ToImmutableDictionary(x => x.NameRequirement, x => x); }
public DefaultCreditLimitProvider(IUserCreditService userCreditService) { this.userCreditService = userCreditService; }
public UserController(IUserService userManager, IUserCreditService creditManager) { _userManager = userManager; _creditManager = creditManager; }
public ImportantClientCreditLimitProvider(IUserCreditService userCreditService) { _userCreditService = userCreditService; }