public static void Main()
dynamic item = new ExpandoObject();
int DuracionAnyos = DuracionMeses / 12;
decimal LimiteSuperiorDelTramo = item.ValorCorte - 0.01M;
item.Consorcio = 0.00018M * LimiteSuperiorDelTramo * DuracionAnyos;
item.PrimaNeta = (item.Prima - item.Consorcio) / (1 + 0.0815M);
item.Ips = 0.0815M * item.PrimaNeta;
item.Impuestos = item.Ips + item.Consorcio;
PrimaTotal = item.PrimaNeta + item.Impuestos;
Console.WriteLine("FÓRMULAS:");
Console.WriteLine("--------------------------------------------");
Console.WriteLine(" item.Consorcio = 0.00018M * LimiteSuperiorDelTramo * DuracionAnyos");
Console.WriteLine(" item.PrimaNeta = (item.Prima - item.Consorcio) / (1 + 0.0815M)");
Console.WriteLine(" item.Ips = 0.0815M * item.PrimaNeta");
Console.WriteLine(" item.Impuestos = item.Ips + item.Consorcio");
Console.WriteLine(" PrimaTotal = item.PrimaNeta + item.Impuestos");
Console.WriteLine("CÁLCULO DE PRIMA SIN AJUSTES:");
Console.WriteLine("--------------------------------------------");
Console.WriteLine("Limite superior: " + LimiteSuperiorDelTramo + " Prima: " + item.Prima + " Duracion en años: " + DuracionAnyos);
Console.WriteLine("CÁLCULO: item.Consorcio = 0.00018M * " + LimiteSuperiorDelTramo + " * " + DuracionAnyos + " = " + item.Consorcio);
Console.WriteLine("CÁLCULO: item.PrimaNeta = (" + item.Prima + " - " + item.Consorcio + ") / (1 + 0.0815M) = " + item.PrimaNeta);
Console.WriteLine("CÁLCULO: item.Ips = 0.0815M * " + item.PrimaNeta + " = " + item.Ips);
Console.WriteLine("CÁLCULO: item.Impuestos = " + item.Ips + " + " + item.Consorcio + " " + " = " + item.Impuestos);
Console.WriteLine("PrimaTotal = " + item.PrimaNeta + " + " + item.Impuestos + " = " + PrimaTotal);
item.Consorcio = Math.Round( 0.00018M * LimiteSuperiorDelTramo * DuracionAnyos , 2);
item.PrimaNeta = Math.Round( (item.Prima - item.Consorcio) / (1 + 0.0815M) , 2);
item.Ips = Math.Round( 0.0815M * item.PrimaNeta , 2);
item.Impuestos = Math.Round( item.Ips + item.Consorcio , 2 );
PrimaTotal = item.PrimaNeta + item.Impuestos;
Console.WriteLine("CÁLCULO DE PRIMA CON REDONDEOS AL SEGUNDO DECIMAL:");
Console.WriteLine("--------------------------------------------");
Console.WriteLine("Limite superior: " + LimiteSuperiorDelTramo + " Prima: " + item.Prima + " Duracion en años: " + DuracionAnyos);
Console.WriteLine("CÁLCULO: item.Consorcio = 0.00018M * " + LimiteSuperiorDelTramo + " * " + DuracionAnyos + " = " + item.Consorcio);
Console.WriteLine("CÁLCULO: item.PrimaNeta = (" + item.Prima + " - " + item.Consorcio + ") / (1 + 0.0815M) = " + item.PrimaNeta);
Console.WriteLine("CÁLCULO: item.Ips = 0.0815M * " + item.PrimaNeta + " = " + item.Ips);
Console.WriteLine("CÁLCULO: item.Impuestos = " + item.Ips + " + " + item.Consorcio + " " + " = " + item.Impuestos);
Console.WriteLine("PrimaTotal = " + item.PrimaNeta + " + " + item.Impuestos + " = " + PrimaTotal);