예제 #1
0
        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);
        }
예제 #2
0
 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");
         };
 }
예제 #3
0
 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));
 }