コード例 #1
0
        public void Initialize()
        {
            Factory <IValidator> .SetCurrent(new DataAnnotationsEntityValidatorFactory());

            Factory <ILogger> .SetCurrent(new MockLoggerFactory());

            Factory <IBinarySerializer> .SetCurrent(new NetBinarySerializerFactory());

            Factory <IEmailAddressValidator> .SetCurrent(new RegexEmailAddressValidatorFactory());

            var uow = new InmemoryUnitOfWork();

            _accountingService = new AccountingService(
                new Repository <Account>(uow),
                new Repository <CurrencyType>(uow),
                new Repository <AccountBalance>(uow),
                new Repository <AccountLogin>(uow),
                new Repository <AccountSetAccounts>(uow),
                new AccountsFactory(
                    new Repository <Account>(uow),
                    new Repository <CurrencyType>(uow),
                    new Repository <AccountBalance>(uow),
                    new Repository <AccountLogin>(uow),
                    new Repository <AccountSet>(uow),
                    new Repository <AccountSetAccounts>(uow),
                    new ScopeableUnitOfWorkFactory(uow)));

            _betsService = new BetsService(
                new Repository <Bet>(uow),
                new Repository <Account>(uow),
                new Repository <Event>(uow),
                new Repository <OutcomesType>(uow),
                new Repository <CurrencyType>(uow),
                new Repository <EventBetCondition>(uow),
                new Repository <BetRateAlgorithm>(uow),
                new BetsFactory(
                    new Repository <Bet>(uow),
                    new Repository <EventBetCondition>(uow),
                    new Repository <EventRelationType>(uow),
                    new Repository <CurrencyType>(uow),
                    new Repository <AlgorithmType>(uow),
                    new Repository <AccountSetAccounts>(uow),
                    new Repository <BetRateAlgorithm>(uow),
                    new ScopeableUnitOfWorkFactory(uow))
                );

            _eventsService = new EventsService(
                new Repository <Account>(uow),
                new Repository <AccountSet>(uow),
                new Repository <EventRelationType>(uow),
                new Repository <CurrencyType>(uow),
                new Repository <AlgorithmType>(uow),
                new Repository <Event>(uow),
                new Repository <EventCondition>(uow),
                new EventsFactory(
                    new Repository <Event>(uow),
                    new Repository <EventCondition>(uow),
                    new Repository <BetRateAlgorithm>(uow),
                    new Repository <EventBetCondition>(uow),
                    new ScopeableUnitOfWorkFactory(uow)),
                _accountingService,
                _betsService,
                new ScopeableUnitOfWorkFactory(uow));
        }
コード例 #2
0
 public RouletteController(RouletteService rouletteService, BetsService betsService, IConfiguration configuration)
 {
     _betsService     = betsService;
     _rouletteService = rouletteService;
     Configuration    = configuration;
 }