public Contas CalculaJuros(Contas contas, int dias) { int auxDias = 0; try { //switch para pesquisar tabela de juros auxDias = dias switch { int n when(n > 0 && n <= 3) => 3, int n when(n < 3 && n <= 5) => 4, _ => 6, }; using var db = new DtaBaseContext(configuration); var calc = db.CalculoJuros.Where(x => x.DiasAtraso == auxDias).Select(s => new { diasAtraso = s.DiasAtraso, multa = s.Multa, juros = Convert.ToDouble(s.JurosDia) }).FirstOrDefault(); decimal valorMulta = Math.Round((contas.ValorOriginal / 100) * calc.multa, 2); contas.ValorCorrigido = (contas.ValorOriginal + valorMulta); for (int i = 0; i < dias; i++) { decimal valorJuros = Math.Round((contas.ValorCorrigido / 100) * (decimal)calc.juros, 2); contas.ValorCorrigido += valorJuros; } contas.QuantDiaAtraso = dias; } catch (SqlException ex) { throw new Exception("Ocorreu o erro: " + ex.Message); } catch (Exception ex) { throw new Exception("Ocorreu o erro: " + ex.Message); } return(contas); }
public bool Post(Contas contas) { bool sucesso = false; try { using (var db = new DtaBaseContext(configuration)) { db.Contas.Add(contas); db.SaveChanges(); } sucesso = true; } catch (SqlException ex) { throw new Exception("Ocorreu o erro: " + ex.Message); } catch (Exception ex) { throw new Exception("Ocorreu o erro: " + ex.Message); } return(sucesso); }