public static IDependencyResolver Create()
        {
            var result = new MyDependencyResolver();

#if DEBUG
            var log = new LogToConsole();
            result.IoC.BindAzureReposInMem();
            result.IoC.BinMockAzureDebug();
#else
            var log = new LogToTable(new AzureTableStorage <LogEntity>(Settings.ConnectionString, "LogApi", null));

            result.IoC.BindAzureRepositories(Settings.ConnectionString, Settings.ConnectionString, log);
            result.IoC.BindMockAzureRepositories(Settings.ConnectionString, log);
#endif

            result.IoC.BindLykkeWalletServices();
            result.IoC.BindMockServices();


            log.WriteInfo("ApiDependencies", "Create", "Create", "Create");

            GetIdentity = ctr =>
            {
                var ctx = ctr as ApiController;
                return(ctx?.User.Identity.Name);
            };

            return(result);
        }
 public void RegisterDependency(MyDependencyResolver container)
 {
     var dependencies = new List<Dependency>
     {
         Dependency.CreateDependency<IDependencia1>(new DummyDependencia1()),
         Dependency.CreateDependency<IDependencia2>(new DummyDependencia2())
     };
     container.Register<TemDependenciasController>(dependencies);
 }
        public void When_first_argument_is_existing_command_name_then_command_is_executed()
        {
            //// Arrange
            var resolver = new MyDependencyResolver(); 
            var processor = new CommandLineProcessor(new ConsoleHost(), resolver);
            processor.RegisterCommand<MyCommand>("test");

            //// Act
            var command = (MyCommand)processor.Process(new string[] { "test" });

            //// Assert
            Assert.IsNotNull(command);
        }
Exemple #4
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            RouteConfig.RegisterRoutes(RouteTable.Routes);

            //// 把MVC框架的默认controller factory换掉
            //      var ctrlFactory = new MyControllerFactory();
            //// MVC构造函数的注入
            //      ControllerBuilder.Current.SetControllerFactory(ctrlFactory);

            // 设定Mvc引用程序的全局dependency resolver对象
            var myResolver = new MyDependencyResolver();

            DependencyResolver.SetResolver(myResolver);
        }
Exemple #5
0
        public void When_first_argument_is_existing_command_name_then_command_is_executed()
        {
            //// Arrange
            var resolver  = new MyDependencyResolver();
            var processor = new CommandLineProcessor(new ConsoleHost(), resolver);

            processor.RegisterCommand <MyCommand>("test");

            //// Act
            var result  = processor.Process(new[] { "test" });
            var command = result.Last().Command as MyCommand;

            //// Assert
            Assert.NotNull(command);
        }
Exemple #6
0
        public void When_dependency_resolver_is_present_static_ctor_is_not_used()
        {
            //// Arrange
            var resolver  = new MyDependencyResolver();
            var processor = new CommandLineProcessor(new ConsoleHost(), resolver);

            processor.RegisterCommand <MyCommandWithStaticCtor>("test");

            //// Act
            var result  = processor.Process(new[] { "test" });
            var command = result.Last().Command as MyCommandWithStaticCtor;

            //// Assert
            Assert.NotNull(command);
        }
Exemple #7
0
        static void Main(string[] args)
        {
            //var logger = new ConsoleLogger();
            //var sqlConnectionFactory = new SqlConnectionFactory("SQL Connection", logger);
            //var createUserHandler = new CreateUserHandler(new UserService(new QueryExecutor(sqlConnectionFactory), new CommandExecutor(sqlConnectionFactory), new CacheService(logger, new RestClient("API KEY"))), logger);


            IKernel ninjectKernel = new StandardKernel();

            ninjectKernel.Bind <RestClient>().ToSelf()
            .WithConstructorArgument("apiKey");
            ninjectKernel.Bind <ILogger>().To <ConsoleLogger>();
            ninjectKernel.Bind <CacheService>().ToSelf();
            ninjectKernel.Bind <IConnectionFactory>()
            .ToConstructor(x => new SqlConnectionFactory("SQL Connection", x.Inject <ILogger>()))
            .InSingletonScope();
            ninjectKernel.Bind <QueryExecutor>().ToSelf();
            ninjectKernel.Bind <CommandExecutor>().ToSelf();
            ninjectKernel.Bind <UserService>().ToSelf();
            ninjectKernel.Bind <CreateUserHandler>().ToSelf();
            var createUserHandler = ninjectKernel.Get <CreateUserHandler>();

            createUserHandler.Handle();
            ninjectKernel.Bind <RestClient>();
            createUserHandler.Handle();

            MyDependencyResolver resolver = new MyDependencyResolver();

            resolver.BindToType(typeof(ILogger), typeof(ConsoleLogger));
            resolver.BindToType(typeof(QueryExecutor), typeof(QueryExecutor));
            resolver.BindToType(typeof(CommandExecutor), typeof(CommandExecutor));
            resolver.BindToType(typeof(CacheService), typeof(CacheService));
            resolver.BindToType(typeof(UserService), typeof(UserService));
            resolver.BindToObj(typeof(IConnectionFactory), new SqlConnectionFactory("SQL Connection", resolver.Get <ILogger>()));
            resolver.BindToObj(typeof(RestClient), new RestClient("apiKey"));
            resolver.BindToType(typeof(CreateUserHandler), typeof(CreateUserHandler));
            var createUserHandler = resolver.Get <CreateUserHandler>();

            createUserHandler.Handle();
        }
Exemple #8
0
        public void ExecuteWorkflows_ActionWithNoDefaultConstructorAndDependencyResolver_ExecutesAction()
        {
            // set up the store and the workflows
            IWorkflowStore  workflowStore  = new MemoryWorkflowStore();
            IWorkflowServer workflowServer = new WorkflowServer(workflowStore);

            DependencyInjectionWorkflow workflow = new DependencyInjectionWorkflow(DependencyInjectionWorkflow.State.Start);

            workflow.CreatedOn     = DateTime.UtcNow.AddMinutes(-2);
            workflow.ResumeOn      = DateTime.UtcNow.AddMinutes(-2);
            workflow.ResumeTrigger = DependencyInjectionWorkflow.Trigger.DoStuff.ToString();
            workflowStore.Save(workflow);

            MyDependencyResolver resolver = new MyDependencyResolver();// Substitute.For<IWorkflowEngineDependencyResolver>();

            //resolver.GetInstance<NoDefaultConstructorAction>().Returns(new NoDefaultConstructorAction("test", 1));
            workflowServer.DependencyResolver = resolver;

            // execute
            Assert.AreEqual(0, resolver.RunCount);
            workflowServer.ExecuteWorkflows(10);
            Assert.AreEqual(1, resolver.RunCount);
        }
Exemple #9
0
        public AdminFilter()
        {
            var dependencyResolver = new MyDependencyResolver();

            _blackstonePosService = (BlackstonePosService)dependencyResolver.GetService(typeof (IBlackstonePosService));
        }
Exemple #10
0
        public LogInterceptor()
        {
            var dependencyResolver = new MyDependencyResolver();

            _blackstonePosService = (BlackstonePosService)dependencyResolver.GetService(typeof (IBlackstonePosService));
        }