public static decimal CalcularValorAtualizado(this Titulo titulo, DateTime dataBase)
 {
     return(titulo.CalcularDiasAtraso(dataBase) == 0
         ? titulo.CalcularValorOriginal()
         : titulo.CalcularValorOriginal() +
            titulo.CalcularValorMulta() +
            titulo.CalcularJurosTitulo(dataBase));
 }
 public static TituloCalculado CalcularTitulo(this Titulo titulo, DateTime dataBase)
 {
     return(new TituloCalculado
     {
         DevedorCPF = titulo.DevedorCPF,
         DevedorNome = titulo.DevedorNome,
         DiasAtraso = titulo.CalcularDiasAtraso(dataBase),
         Id = titulo.Id,
         Numero = titulo.Numero,
         PercentualJuros = titulo.PercentualJuros,
         PercentualMulta = titulo.PercentualMulta,
         QuantidadeParcelas = titulo.Parcelas?.Count() ?? 0,
         ValorAtualizado = titulo.CalcularValorAtualizado(dataBase),
         ValorOriginal = titulo.CalcularValorOriginal(),
     });
 }
 public static decimal CalcularValorMulta(this Titulo titulo)
 {
     return(Math.Round(titulo.CalcularValorOriginal() * (titulo.PercentualMulta / 100), 2));
 }