public void Process(Type type, Registry registry) { if (type.IsDefined(typeof (ServiceContractAttribute), false)) { var closedGenericMethod = _method.MakeGenericMethod(type); var module = new WcfModule(); registry.For(type).Use(x => closedGenericMethod.Invoke(module, new object[0])); } }
public static void CreateKernelWcf(WcfModule kernel) { try { //Cliente kernel.Bind <IClienteAppService>().To <ClienteAppService>().InRequestScope(); kernel.Bind <IClienteService>().To <ClienteService>().InRequestScope(); kernel.Bind <IClienteRepository>().To <ClienteRepository>().InRequestScope(); //ClienteContato kernel.Bind <IClienteContatoAppService>().To <ClienteContatoAppService>().InRequestScope(); kernel.Bind <IClienteContatoService>().To <ClienteContatoService>().InRequestScope(); kernel.Bind <IClienteContatoRepository>().To <ClienteContatoRepository>().InRequestScope(); //Empresa kernel.Bind <IEmpresaAppService>().To <EmpresaAppService>().InRequestScope(); kernel.Bind <IEmpresaService>().To <EmpresaService>().InRequestScope(); kernel.Bind <IEmpresaRepository>().To <EmpresaRepository>().InRequestScope(); //EmpresaCliente kernel.Bind <IEmpresaClienteAppService>().To <EmpresaClienteAppService>().InRequestScope(); kernel.Bind <IEmpresaClienteService>().To <EmpresaClienteService>().InRequestScope(); kernel.Bind <IEmpresaClienteRepository>().To <EmpresaClienteRepository>().InRequestScope(); //EmpresaContato kernel.Bind <IEmpresaContatoAppService>().To <EmpresaContatoAppService>().InRequestScope(); kernel.Bind <IEmpresaContatoService>().To <EmpresaContatoService>().InRequestScope(); kernel.Bind <IEmpresaContatoRepository>().To <EmpresaContatoRepository>().InRequestScope(); //EmpresaFornecedor kernel.Bind <IEmpresaFornecedorAppService>().To <EmpresaFornecedorAppService>().InRequestScope(); kernel.Bind <IEmpresaFornecedorService>().To <EmpresaFornecedorService>().InRequestScope(); kernel.Bind <IEmpresaFornecedorRepository>().To <EmpresaFornecedorRepository>().InRequestScope(); //Fornecedor kernel.Bind <IFornecedorAppService>().To <FornecedorAppService>().InRequestScope(); kernel.Bind <IFornecedorService>().To <FornecedorService>().InRequestScope(); kernel.Bind <IFornecedorRepository>().To <FornecedorRepository>().InRequestScope(); //FornecedorContato kernel.Bind <IFornecedorContatoAppService>().To <FornecedorContatoAppService>().InRequestScope(); kernel.Bind <IFornecedorContatoService>().To <FornecedorContatoService>().InRequestScope(); kernel.Bind <IFornecedorContatoRepository>().To <FornecedorContatoRepository>().InRequestScope(); //Menu kernel.Bind <IMenuAppService>().To <MenuAppService>().InRequestScope(); kernel.Bind <IMenuService>().To <MenuService>().InRequestScope(); kernel.Bind <IMenuRepository>().To <MenuRepository>().InRequestScope(); //MenuTipo kernel.Bind <IMenuTipoAppService>().To <MenuTipoAppService>().InRequestScope(); kernel.Bind <IMenuTipoService>().To <MenuTipoService>().InRequestScope(); kernel.Bind <IMenuTipoRepository>().To <MenuTipoRepository>().InRequestScope(); //Produto kernel.Bind <IProdutoAppService>().To <ProdutoAppService>().InRequestScope(); kernel.Bind <IProdutoService>().To <ProdutoService>().InRequestScope(); kernel.Bind <IProdutoRepository>().To <ProdutoRepository>().InRequestScope(); //ProdutoClienteSaida kernel.Bind <IProdutoClienteSaidaAppService>().To <ProdutoClienteSaidaAppService>().InRequestScope(); kernel.Bind <IProdutoClienteSaidaService>().To <ProdutoClienteSaidaService>().InRequestScope(); kernel.Bind <IProdutoClienteSaidaRepository>().To <ProdutoClienteSaidaRepository>().InRequestScope(); //ProdutoEstoque kernel.Bind <IProdutoEstoqueAppService>().To <ProdutoEstoqueAppService>().InRequestScope(); kernel.Bind <IProdutoEstoqueService>().To <ProdutoEstoqueService>().InRequestScope(); kernel.Bind <IProdutoEstoqueRepository>().To <ProdutoEstoqueRepository>().InRequestScope(); //ProdutoFormasDePagamento kernel.Bind <IProdutoFormasDePagamentoAppService>() .To <ProdutoFormasDePagamentoAppService>() .InRequestScope(); kernel.Bind <IProdutoFormasDePagamentoService>().To <ProdutoFormasDePagamentoService>().InRequestScope(); kernel.Bind <IProdutoFormasDePagamentoRepository>() .To <ProdutoFormasDePagamentoRepository>() .InRequestScope(); //ProdutoFornecedorEntrada kernel.Bind <IProdutoFornecedorEntradaAppService>() .To <ProdutoFornecedorEntradaAppService>() .InRequestScope(); kernel.Bind <IProdutoFornecedorEntradaService>().To <ProdutoFornecedorEntradaService>().InRequestScope(); kernel.Bind <IProdutoFornecedorEntradaRepository>() .To <ProdutoFornecedorEntradaRepository>() .InRequestScope(); //ProdutoTipo kernel.Bind <IProdutoTipoAppService>().To <ProdutoTipoAppService>().InRequestScope(); kernel.Bind <IProdutoTipoService>().To <ProdutoTipoService>().InRequestScope(); kernel.Bind <IProdutoTipoRepository>().To <ProdutoTipoRepository>().InRequestScope(); //Usuario kernel.Bind <IUsuarioAppService>().To <UsuarioAppService>().InRequestScope(); kernel.Bind <IUsuarioService>().To <UsuarioService>().InRequestScope(); kernel.Bind <IUsuarioRepository>().To <UsuarioRepository>().InRequestScope(); //UsuarioPerfil kernel.Bind <IUsuarioPerfilAppService>().To <UsuarioPerfilAppService>().InRequestScope(); kernel.Bind <IUsuarioPerfilService>().To <UsuarioPerfilService>().InRequestScope(); kernel.Bind <IUsuarioPerfilRepository>().To <UsuarioPerfilRepository>().InRequestScope(); //UsuarioPerfilMenu kernel.Bind <IUsuarioPerfilMenuAppService>().To <UsuarioPerfilMenuAppService>().InRequestScope(); kernel.Bind <IUsuarioPerfilMenuService>().To <UsuarioPerfilMenuService>().InRequestScope(); kernel.Bind <IUsuarioPerfilMenuRepository>().To <UsuarioPerfilMenuRepository>().InRequestScope(); //Servico kernel.Bind <IServicoAppService>().To <ServicoAppService>().InRequestScope(); kernel.Bind <IServicoService>().To <ServicoService>().InRequestScope(); kernel.Bind <IServicoRepository>().To <ServicoRepository>().InRequestScope(); //ServicoUsuarioPerfil kernel.Bind <IServicoUsuarioPerfilAppService>().To <ServicoUsuarioPerfilAppService>().InRequestScope(); kernel.Bind <IServicoUsuarioPerfilService>().To <ServicoUsuarioPerfilService>().InRequestScope(); kernel.Bind <IServicoUsuarioPerfilRepository>().To <ServicoUsuarioPerfilRepository>().InRequestScope(); //Email kernel.Bind <IEmailAppService>().To <EmailAppService>().InRequestScope(); kernel.Bind <IEmailService>().To <EmailService>().InRequestScope(); kernel.Bind <IEmailRepository>().To <EmailRepository>().InRequestScope(); //ProdutoClienteSaidaItem kernel.Bind <IProdutoClienteSaidaItemAppService>().To <ProdutoClienteSaidaItemAppService>().InRequestScope(); kernel.Bind <IProdutoClienteSaidaItemService>().To <ProdutoClienteSaidaItemService>().InRequestScope(); kernel.Bind <IProdutoClienteSaidaItemRepository>().To <ProdutoClienteSaidaItemRepository>().InRequestScope(); } catch (Exception ex) { throw new Exception(ex.Message); } }