public decimal Calcular(Contexto contexto, Concepto concepto) { var porcentajeReintegro = 0; if (contexto.Variable<bool>("esAfiliado")) porcentajeReintegro = 50; else if (contexto.Variable<int>("edad") <= 6) porcentajeReintegro = 30; else porcentajeReintegro = 20; return Decimal.Round(concepto.MontoReclamado * porcentajeReintegro / 100, 2); }
public decimal Calcular(Contexto contexto, Concepto concepto) { var historial = contexto.ObtenerHistorial( new DateRange(contexto.Variable<DateTime>("fechaNacimiento"), concepto.FechaPrestacion)); var fechaNacimiento = contexto.Variable<DateTime>("fechaNacimiento"); var fechaReintegro = concepto.FechaPrestacion; var dias = fechaReintegro.Subtract(fechaNacimiento).Days; var cantidadPaniales = dias * this.cantidadDiaria; var reintegro = (cantidadPaniales - historial.Cantidad) * this.reintegroPorPanial; return reintegro; }
public decimal Calcular(Contexto contexto, Concepto concepto) { if (contexto.Variable<int>("edad") <= this.edad) return concepto.MontoReclamado; return 0m; }