public PagamentoService(IPagamentoCartaoCreditoFacade pagamentoCartaoCreditoFacade, IPagamentoRepository pagamentoRepository, IMediateHandler mediatorHandler) { _pagamentoCartaoCreditoFacade = pagamentoCartaoCreditoFacade; _pagamentoRepository = pagamentoRepository; _mediatorHandler = mediatorHandler; }
public CarrinhoController(IProdutoAppService produtoAppService, INotificationHandler <DomainNotification> DomainNotificationHandler, IMediateHandler IMediateHandler, IPedidoQueries IPedidoQueries) : base(DomainNotificationHandler, IMediateHandler) { _produtoAppService = produtoAppService; _IMediateHandler = IMediateHandler; _IPedidoQueries = IPedidoQueries; }
public static async Task PublicarEventos(this IMediateHandler mediator, PagamentoContext ctx) { var domainEntities = ctx.ChangeTracker .Entries <Entity>() .Where(x => x.Entity.Notificacoes != null && x.Entity.Notificacoes.Any()); var domainEvents = domainEntities .SelectMany(x => x.Entity.Notificacoes) .ToList(); domainEntities.ToList() .ForEach(entity => entity.Entity.LimparEvento()); var tasks = domainEvents .Select(async(domainEvent) => { await mediator.PublicarEvento(domainEvent); }); await Task.WhenAll(tasks); }
public static async Task PublicarEventos(this IMediateHandler mediator, VendasContext ctx) { // Ira pegar todas as minhas entidades que estiverem no meu change tracker onde minha entrada seja do tipo Entity var domainEntities = ctx.ChangeTracker .Entries <Entity>() .Where(x => x.Entity.Notificacoes != null && x.Entity.Notificacoes.Any()); var domainEvents = domainEntities .SelectMany(x => x.Entity.Notificacoes) .ToList(); domainEntities.ToList() .ForEach(entity => entity.Entity.LimparEvento()); var tasks = domainEvents .Select(async(domainEvent) => { await mediator.PublicarEvento(domainEvent); }); // esse await so vai voltar quando todos os meus eventos forem lançados await Task.WhenAll(tasks); }
protected ControllerBase(INotificationHandler <DomainNotification> DomainNotificationHandler, IMediateHandler IMediatorHandler) { _DomainNotificationHandler = (DomainNotificationHandler)DomainNotificationHandler; _IMediatorHandler = IMediatorHandler; }
public EstoqueServices(IProdutoRepository produtoRepository, IMediateHandler mediatr) { _produtoRepository = produtoRepository; _mediatr = mediatr; }
public PedidoCommandHandler(IPedidoRepository IPedidoRepository, IMediateHandler IMediateHandler) { _IPedidoRepository = IPedidoRepository; _IMediateHandler = IMediateHandler; }
public PedidoEventHandler(IMediateHandler mediatorHandler) { _mediatorHandler = mediatorHandler; }
public VendasContext(DbContextOptions <VendasContext> options, IMediateHandler mediateHandler) : base(options) { _mediateHandler = mediateHandler; }
public PedidoController(IPedidoQueries pedidoQueries, INotificationHandler <DomainNotification> notifications, IMediateHandler mediatorHandler) : base(notifications, mediatorHandler) { _pedidoQueries = pedidoQueries; }
public PagamentoContext(DbContextOptions <PagamentoContext> options, IMediateHandler rebusHandler) : base(options) { _mediatorHandler = rebusHandler ?? throw new ArgumentNullException(nameof(rebusHandler)); }