Пример #1
0
        private static InMemoryBus CreateBus()
        {
            var dependencies = new DefaultDependencyResolver();

            dependencies.Add <IRepositorioDeProdutos>(new RepositorioDeProdutos());
            dependencies.Add <IRepositorioDeClientes>(new RepositorioDeClientes());
            dependencies.Add <IRepositorioDeNotasFiscais>(new RepositorioDeNotasFiscais());

            var bus = new InMemoryBus(dependencies);

            bus.RegisterHandler <EmitirNotaFiscal>();
            bus.RegisterHandler <CancelarNotaFiscal>();

            return(bus);
        }
        private void Initialize()
        {
            var container = new UnityContainer();
            var bus       = new InMemoryBus(new DependenciasDoDominio(container));

            container.RegisterInstance <IBus>(bus);
            container.RegisterInstance <IRepositorioDeClientes>(new RepositorioDeClientes(bus));
            container.RegisterInstance <IRepositorioDePedidos>(new RepositorioDePedidos(bus));
            container.RegisterInstance <IRepositorioDeProdutos>(new RepositorioDeProdutos());
            container.RegisterInstance <IDados>(new CacheLocal());
            container.RegisterInstance <INotifier>(new EmailNotifier());

            //Comandos
            bus.RegisterHandler <AdicionarClienteHandler>();
            bus.RegisterHandler <AdicionarPedidoHandler>();

            //Eventos
            bus.RegisterHandler <AtualizacaoDeCacheLocal>();
            bus.RegisterHandler <Notificacao>();
            bus.RegisterHandler <Autenticacao>();

            ModelBinders.Binders.Add(typeof(ProdutoDisponivel), new MB.Produto());
            DependencyResolver.SetResolver(new DependenciasDaWeb(container, DependencyResolver.Current));
        }
Пример #3
0
        private static void RegisterEventHandlers(InMemoryBus bus)
        {
            IUserEventHandler userEventHandler = new UserEventHandler();

            bus.RegisterHandler <UserCreated>(userEventHandler.Handle);
        }