예제 #1
0
        private async Task ApagarCarrinho(PedidoRealizadoIntegrationEvent message)
        {
            using var scope = _serviceProvider.CreateScope();
            var context  = scope.ServiceProvider.GetRequiredService <CarrinhoContext>();
            var carrinho = await context.CarrinhoCliente.FirstOrDefaultAsync(x => x.ClienteId == message.ClienteId);

            if (carrinho != null)
            {
                context.CarrinhoCliente.Remove(carrinho);
                await context.SaveChangesAsync();
            }
        }
        private async Task ApagarCarrinho(PedidoRealizadoIntegrationEvent message)
        {
            using var scope = _serviceProvider.CreateScope();

            // o Contexto já está resolvido nas dependências, então agora é apenas obter
            var context  = scope.ServiceProvider.GetRequiredService <CarrinhoContext>();
            var carrinho = await context.CarrinhoCliente
                           .FirstOrDefaultAsync(c => c.ClienteId == message.ClienteId);

            if (carrinho != null)
            {
                context.CarrinhoCliente.Remove(carrinho);
                await context.SaveChangesAsync();
            }
        }