public void Start(CompraRepository repository) { _logger.LogInformation("Start Consumer"); ConnectionFactory factory = new ConnectionFactory(); factory.Uri = _broker.ConnFactory.Uri; factory.DispatchConsumersAsync = true; // retirado o using resource var conn = factory.CreateConnection(); var channel = conn.CreateModel(); var consumer = new AsyncEventingBasicConsumer(channel); consumer.Received += async(ch, ea) => { _logger.LogInformation("Get Message"); var message = Encoding.UTF8.GetString(ea.Body.ToArray()); Compra compra = JsonSerializer.Deserialize <Compra>(message); var result = await repository.Save(compra); // TODO não esta salvando _logger.LogInformation("Retorn Repository.Save: " + result); channel.BasicAck(ea.DeliveryTag, false); await Task.Yield(); }; string tag = channel.BasicConsume("queue-create-compra", false, consumer); _logger.LogInformation("BasicConsume tag = " + tag); }
private static void CadastrarCompra() { using (var compraRepository = new CompraRepository()) using (var produtoRepository = new ProdutoRepository()) { Produto produto = produtoRepository.ListAll().First(); compraRepository.Save(new Compra { Produto = produto, Quantidade = 10 }); Console.WriteLine("Compra cadastrada com sucesso"); }; }
private static void CadastrarCompraComProdutoNovo() { using (var compraRepository = new CompraRepository()) using (var produtoRepository = new ProdutoRepository()) { var produto = new Produto { Nome = "iPhone XS", PrecoUnitario = 9000, Categoria = "Celulares", Unidade = "Unidade" }; compraRepository.Save(new Compra { Produto = produto, Quantidade = 10 }); Console.WriteLine("Compra cadastrada com sucesso"); }; }
public int SaveCompra(Compra compra) { return(CompraDao.Save(compra)); }