public async Task <ActionResult> OperecaoAsync([FromBody] CriadoOperacaoEvento criadoOperacaoEvento) { var RESULT = await _produce.OperacaoAsync(criadoOperacaoEvento); if (RESULT.HasFails) { return(BadRequest(RESULT.Fails)); } return(Ok(RESULT.Data)); }
public async Task <ResponseResult> OperacaoAsync(CriadoOperacaoEvento criadoOperacaoEventos) { criadoOperacaoEventos.Validate(); if (criadoOperacaoEventos.Notifications.Any()) { _response.AddNotifications(criadoOperacaoEventos.Notifications); return(_response); } string payload = $"=> {criadoOperacaoEventos.IdTransacao} Hora => {DateTime.Now}"; try { var config = new ProducerConfig { BootstrapServers = _options.Value.UrlBase }; using (var producer = new ProducerBuilder <Null, string>(config).Build()) { var result = await producer.ProduceAsync( _options.Value.Topic, new Message <Null, string> { Value = ConvertPedidoToJson(criadoOperacaoEventos) }); _response.AddValue($"Mensagem: {payload} | " + $"Status: { result.Status.ToString()}"); } } catch (Exception ex) { _response.AddNotification(new Flunt.Notifications.Notification("OperacaoProducer", $"Exceção: {ex.GetType().FullName} | " + $"Mensagem: {ex.Message}")); } return(_response); }
private string ConvertPedidoToJson(CriadoOperacaoEvento operacaoRequest) => JsonConvert.SerializeObject(operacaoRequest);