Ejemplo n.º 1
0
 /// <summary>
 /// Inicia uma nova instância da classe <see cref="MonitorEventosEntitidade{TEntidade}"/>.
 /// </summary>
 /// <param name="domainEvents">Domínio de eventos.</param>
 protected MonitorEventosEntitidade(Colosoft.Domain.IDomainEvents domainEvents)
     : base(domainEvents)
 {
     domainEvents.GetEvent <Colosoft.Business.EntityPersistingEvent>()
     .Subscribe(
         this.EntityPersisting,
         Colosoft.Domain.DomainEventThreadOption.PublisherThread,
         true,
         null,
         false,
         Guid.NewGuid().ToString());
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Inicia uma nova instância da classe <see cref="MonitorProdutos"/>.
 /// </summary>
 /// <param name="domainEvents">Eventos de domínio.</param>
 /// <param name="logger">Logger.</param>
 /// <param name="configuracao">Configuração.</param>
 /// <param name="produtoFluxo">Fluxo de negócio dos produtos.</param>
 /// <param name="provedorHistorico">Provedor dos históricos.</param>
 public MonitorProdutos(
     Colosoft.Domain.IDomainEvents domainEvents,
     Colosoft.Logging.ILogger logger,
     ConfiguracaoKhan configuracao,
     Global.Negocios.IProdutoFluxo produtoFluxo,
     Historico.IProvedorHistorico provedorHistorico)
     : base(domainEvents)
 {
     this.logger            = logger;
     this.configuracao      = configuracao;
     this.produtoFluxo      = produtoFluxo;
     this.provedorHistorico = provedorHistorico;
     Colosoft.Net.ServiceClientsManager.Current.Register(this.serviceUid, this.CriarCliente);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Inicia uma nova instância da classe <see cref="MonitorNotaFiscal"/>.
        /// </summary>
        /// <param name="domainEvents">Eventos de domínio.</param>
        /// <param name="logger">Logger para registrar as informações.</param>
        /// <param name="configuracao">Configuração.</param>
        /// <param name="provedorHistorico">Provedor dos históricos.</param>
        public MonitorNotaFiscal(
            Colosoft.Domain.IDomainEvents domainEvents,
            Colosoft.Logging.ILogger logger,
            ConfiguracaoKhan configuracao,
            Historico.IProvedorHistorico provedorHistorico)
            : base(domainEvents)
        {
            this.logger            = logger;
            this.configuracao      = configuracao;
            this.provedorHistorico = provedorHistorico;
            this.AdicionarToken <Data.Domain.NotaFiscalGerada>(
                domainEvents.GetEvent <Data.Domain.NotaFiscalGerada>().Subscribe(this.NotaFiscalGerada));

            Colosoft.Net.ServiceClientsManager.Current.Register(this.pedidoServiceUid, this.CriarPedidoClient);
            Colosoft.Net.ServiceClientsManager.Current.Register(this.consultasServciceUid, this.CriarConsultasClient);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Inicia uma nova instância da classe <see cref="IntegradorKhan"/>.
 /// </summary>
 /// <param name="domainEvents">Relação dos eventos de domínio.</param>
 /// <param name="rentabilidadeFluxo">Fluxo de negócio da rentabilidade.</param>
 /// <param name="provedorHistorico">Provedor do histórico.</param>
 /// <param name="produtoFluxo">Fluxo de negócio dos produtos.</param>
 /// <param name="serviceLocator">Localizador de serviços.</param>
 public IntegradorKhan(
     Colosoft.Domain.IDomainEvents domainEvents,
     Glass.Rentabilidade.Negocios.IRentabilidadeFluxo rentabilidadeFluxo,
     Historico.IProvedorHistorico provedorHistorico,
     Glass.Global.Negocios.IProdutoFluxo produtoFluxo,
     Microsoft.Practices.ServiceLocation.IServiceLocator serviceLocator)
 {
     this.Logger = new LoggerIntegracao();
     this.gerenciadorOperacoes          = new GerenciadorOperacaoIntegracao(this.Logger);
     this.domainEvents                  = domainEvents;
     this.serviceLocator                = serviceLocator;
     this.MonitorIndicadoresFinanceiros = new MonitorIndicadoresFinanceiros(this.Configuracao, this.Logger, rentabilidadeFluxo);
     this.MonitorNotaFiscal             = new MonitorNotaFiscal(domainEvents, this.Logger, this.Configuracao, provedorHistorico);
     this.MonitorProdutos               = new MonitorProdutos(domainEvents, this.Logger, this.Configuracao, produtoFluxo, provedorHistorico);
     this.MonitorCondicoesPagamento     = new MonitorCondicoesPagamento(this.Configuracao, this.Logger);
     this.EsquemaHistorico              = CriarEsquemaHistorico();
 }
Ejemplo n.º 5
0
        /// <summary>
        /// Configura o provedor.
        /// </summary>
        public static void Configurar(Colosoft.Domain.IDomainEvents domainEvents)
        {
            var persistingEvent = domainEvents.GetEvent <Colosoft.Business.EntityPersistingEvent>();
            var deletingEvent   = domainEvents.GetEvent <Colosoft.Business.EntityDeletingWithPersistenceSessionEvent>();

            // Registra o método acionado pelo evento persistencia da entidade.
            persistingEvent.Subscribe(
                OnPersistingEntity,
                Colosoft.Domain.DomainEventThreadOption.PublisherThread,
                true,
                null,
                false,
                System.Guid.NewGuid().ToString());

            // Registra o método acionado pelo evento de exclusão da entidade.
            deletingEvent.Subscribe(
                OnDeletingEntity,
                Colosoft.Domain.DomainEventThreadOption.PublisherThread,
                true,
                null,
                false,
                System.Guid.NewGuid().ToString());
        }
Ejemplo n.º 6
0
 public TokenInfo(Colosoft.Domain.IDomainEvents domainEvents, Colosoft.Domain.SubscriptionToken token)
 {
     this.domainEvents = domainEvents;
     this.token        = token;
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Inicia uma nova instância da classe <see cref="MonitorEventos"/>.
 /// </summary>
 /// <param name="domainEvents">Eventos de domínio.</param>
 protected MonitorEventos(Colosoft.Domain.IDomainEvents domainEvents)
 {
     this.domainEvents = domainEvents;
 }