예제 #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());
 }
예제 #2
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());
        }
예제 #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);
        }