예제 #1
0
        /// <summary>
        /// Add a service which will crawl all modules for top level main menu pages.
        /// </summary>
        public static ActionRepositories CreateActionRepositories(this IServiceCollection services)
        {
            var reps = new ActionRepositories();

            services.AddSingleton(reps);
            return(reps);
        }
예제 #2
0
        public void CallMethodTest()
        {
            var instance = new MethodTest();
            var ioc      = new Ioc()
                           .Add(typeof(MethodTest), () => instance)
            ;

            var repository = new ActionRepositories <ActionBusContext>()
                             .Inject(ioc)
            ;

            repository.Register(typeof(MethodTest));

            var actionC = repository.Execute(new ActionOrder()
            {
                Name     = "c1.run1",
                PushedAt = DateTimeOffset.Now,
                Uuid     = Guid.NewGuid().ToString(),
            }.Argument("arg1", "test2")
                                             .Argument("arg2", "2")
                                             .Argument("arg3", "2")
                                             .Argument("arg4", "2")
                                             .Argument("arg5", "2")
                                             .Argument("arg6", "2")
                                             .Argument("arg7", "true")
                                             );

            Assert.AreEqual(actionC.Result, null);
        }
예제 #3
0
        /// <summary>
        /// Add a service which will crawl all modules for top level main menu pages.
        /// </summary>
        public static ActionRepositories CreateActionRepositories <TContext>(this IServiceCollection services) where TContext : ActionBusContext, new()
        {
            var reps = new ActionRepositories <TContext>()
            {
            };

            services.AddSingleton(reps);
            return(reps);
        }
        public static IServiceProvider RegisterListeners(this IServiceProvider serviceProvider)
        {
            SubscriptionInstances subscriptions      = serviceProvider.GetService(typeof(SubscriptionInstances)) as SubscriptionInstances;
            IFactoryBroker        brokers            = serviceProvider.GetService(typeof(IFactoryBroker)) as IFactoryBroker;
            IConfiguration        configuration      = serviceProvider.GetService(typeof(IConfiguration)) as IConfiguration;
            ActionRepositories    actionRepositories = serviceProvider.GetService(typeof(ActionRepositories)) as ActionRepositories;

            var          subscriberName = configuration.GetValue <string>("listener");
            Subcription1 sub            = new Subcription1("Actions", brokers, subscriberName, actionRepositories)
            {
                _acknowledgeQueue = brokers.CreatePublisher(configuration.GetValue <string>("AcknowledgeQueue")),
                _deadQueue        = brokers.CreatePublisher(configuration.GetValue <string>("DeadQueue")),
            };

            subscriptions.AddSubscription(sub);

            return(serviceProvider);
        }
예제 #5
0
 public Subcription1(string name, IFactoryBroker brokers, string subscriberName, ActionRepositories actionRepositories)
     : base(name)
 {
     _actionRepositories = actionRepositories;
     Subscription        = brokers.CreateSubscription(subscriberName, context => Callback(context));
 }