public static void RegisterCommands(ConstrutorDeControllersComDependencias dependencias) { var bus = new CommandBus(); var repositorioDeClientes = new RepositorioDeClientes(); var repositorioDePedidos = new RepositorioDePedidos(); var repositorioDeProdutos = new RepositorioDeProdutos(); bus.Register <AdicionarCliente>(new AdicionarClienteHandler(repositorioDeClientes).Handle); bus.Register <AdicionarPedido>(new AdicionarPedidoHandler(repositorioDeClientes, repositorioDePedidos, repositorioDeProdutos).Handle); dependencias.Add <ICommandSender>(bus); }
public static void RegisterEvents(ConstrutorDeControllersComDependencias dependencias) { var notificador = new NotificadorViaEmail(); var dataModelFacade = (IDataFacade)dependencias.GetService(typeof(IDataFacade)); var bus = new EventBus(); bus.Register <ClienteAdicionado>(new ReplicarClienteParaBaseDeLeitura(dataModelFacade).Handle); bus.Register <ClienteAdicionado>(new EnviarSenhaDeAcesso(notificador).Handle); bus.Register <ClienteAdicionado>(new AutenticarCliente().Handle); bus.Register <PedidoAdicionado>(new NotificarPedidoRealizado(notificador).Handle); bus.Register <PedidoAdicionado>(new ReplicarPedidoParaBaseDeLeitura(dataModelFacade).Handle); bus.Register <PedidoAdicionado>(new AtualizarEstoque(dataModelFacade).Handle); bus.Register <PedidoAdicionado>(new AtualizarPosicaoDoCliente(dataModelFacade).Handle); dependencias.Add <IEventPublisher>(bus); }
public static void ConfigData(ConstrutorDeControllersComDependencias dependencias) { var dmf = new DataModelFacade(); dmf.Adicionar(new ProdutoDisponivel() { Id = Guid.Parse("FB9D5F26-702E-407A-B415-30D61EE73EA7"), Categoria = "CDs & DVDs", Nome = "Max Live 2008", QuantidadeEmEstoque = 3, Valor = 19.49M, Imagem = "FB9D5F26-702E-407A-B415-30D61EE73EA7.jpg" }); dmf.Adicionar(new ProdutoDisponivel() { Id = Guid.Parse("737BB964-8AE0-48BC-B5D7-BF4D1E9D7511"), Categoria = "CDs & DVDs", Nome = "Tutto Max", QuantidadeEmEstoque = 5, Valor = 14.28M, Imagem = "737BB964-8AE0-48BC-B5D7-BF4D1E9D7511.jpg" }); dmf.Adicionar(new ProdutoDisponivel() { Id = Guid.Parse("748C00CE-0EEB-463B-9BC2-171DB5B0A3DB"), Categoria = "CDs & DVDs", Nome = "Terraferma", QuantidadeEmEstoque = 2, Valor = 11.98M, Imagem = "748C00CE-0EEB-463B-9BC2-171DB5B0A3DB.jpg" }); dmf.Adicionar(new ProdutoDisponivel() { Id = Guid.Parse("3B3913C3-79D9-4574-93D7-5BF2446A73E9"), Categoria = "CDs & DVDs", Nome = "Hanno Ucciso L'Uomo Ragno", QuantidadeEmEstoque = 2, Valor = 17.90M, Imagem = "3B3913C3-79D9-4574-93D7-5BF2446A73E9.jpg" }); dmf.Adicionar(new ProdutoDisponivel() { Id = Guid.Parse("77AE6257-3F8A-48FB-97B8-012E69B7EC8E"), Categoria = "CDs & DVDs", Nome = "Max 20", QuantidadeEmEstoque = 10, Valor = 12.99M, Imagem = "77AE6257-3F8A-48FB-97B8-012E69B7EC8E.jpg" }); dmf.Adicionar(new ProdutoDisponivel() { Id = Guid.Parse("B0F1677B-C476-4998-B111-DD06386032A9"), Categoria = "CDs & DVDs", Nome = "Astronave Max", QuantidadeEmEstoque = 239, Valor = 23.88M, Imagem = "B0F1677B-C476-4998-B111-DD06386032A9.jpg" }); dependencias.Add <IDataFacade>(dmf); }