public async Task <ResponseResult> OperacaoAsync(OperacaoRequest operacao) { try { operacao.Validate(); if (operacao.Notifications.Any()) { _response.AddNotifications(operacao.Notifications); return(_response); } var entidade = new Operacao(operacao.IdTransaction, operacao.Valor, operacao.Operacao, operacao.DataHora); entidade.ObterTransacao(); if (entidade.Notifications.Any()) { _response.AddNotifications(entidade.Notifications); return(_response); } var transaction = await TransacaoAsync(entidade); _response.AddValue(new Data { Transacao = operacao.Operacao.ToString(), IdTransacao = operacao.IdTransaction, Mensagem = $"Operação efutuada com sucesso em :{ operacao.DataHora.ToString()}", Valor = transaction }); } catch (Exception exception) { _response.AddNotification(new Notification(nameof(OperacaoService), $"Falha na operação ocorreu uma exceção em :{ exception}")); } return(_response); }
public ResponseResult Add(OperationProfitRequest operationProfitRequest) { var _response = new ResponseResult(); try { operationProfitRequest.Validate(); if (operationProfitRequest.Notifications.Any()) { _response.AddNotifications(operationProfitRequest.Notifications); return(_response); } var value = 0.0m; if (operationProfitRequest.IsValid()) { value = Convert.ToDecimal(operationProfitRequest.BonusDistribuided.Remove(0, 3)); } var entidade = new OperationProfit(value); _unitOfWork.Business.Add(_cacheConfig.Value.Key, entidade); _response.AddValue(new { Status = "Cadastro realizado com sucesso" }); } catch (ArgumentNullException ex) { _response.AddNotification(new Notification(nameof(BusinessApplication), $"Falha na operação {ex.Message}")); _logger.LogError(default(EventId), $"Found fails to {nameof(BusinessApplication)} in AddAsync{ex.Message} to {nameof(operationProfitRequest)}"); throw; } catch (Exception ex) { _response.AddNotification(new Notification(nameof(BusinessApplication), $"Falha na operação {ex.Message}")); _logger.LogError(default(EventId), $"Found fails to {nameof(BusinessApplication)} in AddAsync{ex.Message} to {nameof(operationProfitRequest)}"); throw; } return(_response); }
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); }