Example #1
0
 public async Task Handle(T @event)
 {
     using (var scope = OrganizationCompositionRoot.BeginLifetimeScope())
     {
         var mediator = scope.Resolve <IMediator>();
         await mediator.Publish(@event);
     }
 }
Example #2
0
 public async Task <TResult> ExecuteQuery <TResult>(IQuery <TResult> query)
 {
     using (var scope = OrganizationCompositionRoot.BeginLifetimeScope())
     {
         var mediator = scope.Resolve <IMediator>();
         return(await mediator.Send(query));
     }
 }
Example #3
0
 public async Task ExecuteCommand(ICommand command)
 {
     using (var scope = OrganizationCompositionRoot.BeginLifetimeScope())
     {
         var mediator = scope.Resolve <IMediator>();
         await mediator.Send(command);
     }
 }
Example #4
0
 public async Task <TResult> ExecuteCommandAsync <TResult>(ICommand <TResult> command)
 {
     using (var scope = OrganizationCompositionRoot.BeginLifetimeScope())
     {
         var mediator = scope.Resolve <IMediator>();
         return(await mediator.Send(command));
     }
 }
Example #5
0
        public static void Initialize(string connection, string dbname, ILogger logger)
        {
            var containerBuilder = new ContainerBuilder();

            containerBuilder.RegisterModule(new LoggingModule(logger));
            containerBuilder.RegisterModule(new MongoModule(connection, dbname));
            containerBuilder.RegisterModule(new MediationModule());
            containerBuilder.RegisterModule(new ProccesingModule());
            containerBuilder.RegisterModule(new InternalClientModule());
            containerBuilder.RegisterModule(new EventBusModule());
            var container = containerBuilder.Build();

            OrganizationCompositionRoot.SetContainer(container);
        }