public IActionResult AtualizarTaxa(Guid id, [FromBody] TaxaViewModel taxaViewModel) { try { var taxa = _taxaRepository.ObterPorId(id); if (taxa == null) { throw new Exception("Taxa não encontrada."); } taxa.Percentual = taxaViewModel.Taxa; RegisterLog.Log(TipoLog.Info, "Atualização de percentual da taxa."); _taxaRepository.Atualizar(taxa); _unitOfWork.Commit(); }catch (Exception e) { RegisterLog.Log(TipoLog.Error, "Erro ao atualizar taxa."); return(BadRequest(e.Message)); } RegisterLog.Log(TipoLog.Info, "Atualização realizada com sucesso!"); return(Ok("Atualização realizada com sucesso!")); }
public IActionResult CalcularValoresListaCartoes([FromBody] List <DadosTransacaoViewModel> dadosTransacaoViewModel) { try { var valorTransacao = dadosTransacaoViewModel.Sum(x => x.ValorCartao); var transacaoFactory = new TransacaoFactory(valorTransacao); var transacao = transacaoFactory.Criar(); RegisterLog.Log(TipoLog.Info, "Criar item de transacao para cada informação de cartão da lista."); dadosTransacaoViewModel.ForEach( x => { var taxa = _taxaRepository.ObterPorAdquirenteBandeira(x.IdBandeira, x.IdAdquirente); if (taxa == null) { throw new Exception("Taxa não encontrada."); } transacao.CriarItem(taxa, x.NumeroCartao, x.ValidadeCartao, x.CvvCartao, x.ValorCartao); } ); RegisterLog.Log(TipoLog.Info, "Gravação da Transação."); _transacaoRepository.Gravar(transacao); _uow.Commit(); var retorno = new List <string>(); foreach (var item in transacao.Transacoes) { retorno.Add(item.DescricaoRetorno); } RegisterLog.Log(TipoLog.Info, "Sucesso ao calcular valores para mais de um cartão."); return(Ok(retorno)); }catch (Exception e) { return(BadRequest(e.Message)); } }
public IActionResult CalcularValores([FromBody] DadosTransacaoViewModel dadosTransacaoViewModel) { try { var valorTransacao = dadosTransacaoViewModel.ValorCartao; var transacaoFactory = new TransacaoFactory(valorTransacao); var transacao = transacaoFactory.Criar(); RegisterLog.Log(TipoLog.Info, "Consulta para Obter Taxa por Bandeira e Adquirente"); var taxa = _taxaRepository.ObterPorAdquirenteBandeira(dadosTransacaoViewModel.IdBandeira, dadosTransacaoViewModel.IdAdquirente); if (taxa == null) { throw new Exception("Taxa não encontrada"); } transacao.CriarItem(taxa, dadosTransacaoViewModel.NumeroCartao, dadosTransacaoViewModel.ValidadeCartao, dadosTransacaoViewModel.CvvCartao, dadosTransacaoViewModel.ValorCartao); RegisterLog.Log(TipoLog.Info, "Gravação da Transação."); _transacaoRepository.Gravar(transacao); _uow.Commit(); var itemTransacao = transacao.Transacoes.FirstOrDefault(); RegisterLog.Log(TipoLog.Info, "Sucesso ao calcular valores."); return(Ok(itemTransacao.DescricaoRetorno)); } catch (Exception e) { RegisterLog.Log(TipoLog.Error, "Erro na execução do cálculo de valores"); return(BadRequest(e.Message)); } }
public IActionResult ListarAdquirentes() { RegisterLog.Log(TipoLog.Info, "Obter Adquirentes."); return(Ok(_adquirenteRepository.ObterTodos())); }
public IActionResult ListarTaxas() { RegisterLog.Log(TipoLog.Info, "Obter Taxas"); return(Ok(_taxaRepository.ObterTodos())); }
public IActionResult ListarBandeiras() { RegisterLog.Log(TipoLog.Info, "Obter Bandeiras."); return(Ok(_bandeiraRepository.ObterTodos())); }
public object Post( [FromBody] User usuario, [FromServices] UserManager <ApplicationUser> userManager, [FromServices] SignInManager <ApplicationUser> signInManager, [FromServices] TokenConfigurations tokenConfigurations) { bool credenciaisValidas = false; List <Claim> listaClaims = new List <Claim>(); if (usuario != null && !string.IsNullOrWhiteSpace(usuario.UserID)) { var userIdentity = userManager .FindByNameAsync(usuario.UserID).Result; if (userIdentity != null) { var resultadoLogin = signInManager .CheckPasswordSignInAsync(userIdentity, usuario.Password, false) .Result; if (resultadoLogin.Succeeded) { listaClaims = ObterListaDeClaims(userManager, userIdentity); credenciaisValidas = listaClaims.Any(); } } if (credenciaisValidas) { RegisterLog.Log(TipoLog.Info, $"Usuário {usuario.UserID} efetuou login no sistema."); var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["SecretKey"])); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); DateTime dataCriacao = DateTime.Now; DateTime dataExpiracao = dataCriacao + TimeSpan.FromSeconds(tokenConfigurations.Seconds); var token = new JwtSecurityToken( issuer: tokenConfigurations.Issuer, audience: tokenConfigurations.Audience, claims: listaClaims, expires: dataExpiracao, signingCredentials: creds ); return(new { authenticated = true, created = dataCriacao.ToString("yyyy-MM-dd HH:mm:ss"), expiration = dataExpiracao.ToString("yyyy-MM-dd HH:mm:ss"), accessToken = new JwtSecurityTokenHandler().WriteToken(token), message = "OK" }); } RegisterLog.Log(TipoLog.Info, "Sem permissão para usar a aplicação."); return(new { authenticated = false, message = "Sem permissão para usar a aplicação." }); } return(null); }