Beispiel #1
0
        //private readonly Idiomas _idioma;

        //public HandlerReporte(Idiomas idioma)
        //{
        //    this._idioma = idioma;
        //}

        public static string Imprimir(List <FormaGeometrica> formas, Idiomas idioma)
        {
            var sb = new StringBuilder();
            var metricasFormasGeometricas = new HandlerMetricaFormaGeometrica();

            if (!formas.Any())
            {
                sb.Append(HandlerTraductor.DevolverMensajeListaVaciaPorIdioma(idioma));
            }
            else
            {
                // Hay por lo menos una forma
                // HEADER
                sb.Append(HandlerTraductor.DevolverHeaderPorIdioma(idioma));

                for (var i = 0; i < formas.Count; i++)
                {
                    metricasFormasGeometricas.AcumularMetricasPorFormaGeometrica(formas[i].TipoDeFormaGeometrica, formas[i].CalcularArea(), formas[i].CalcularPerimetro());
                }

                sb.Append(ObtenerLinea(metricasFormasGeometricas.Cuadrados, metricasFormasGeometricas.AreaCuadrados, metricasFormasGeometricas.PerimetroCuadrados, FormasGeometricas.Cuadrado, idioma));
                sb.Append(ObtenerLinea(metricasFormasGeometricas.Circulos, metricasFormasGeometricas.AreaCirculos, metricasFormasGeometricas.PerimetroCirculos, FormasGeometricas.Circulo, idioma));
                sb.Append(ObtenerLinea(metricasFormasGeometricas.Triangulos, metricasFormasGeometricas.AreaTriangulos, metricasFormasGeometricas.PerimetroTriangulos, FormasGeometricas.TrianguloEquilatero, idioma));
                sb.Append(ObtenerLinea(metricasFormasGeometricas.Trapecio, metricasFormasGeometricas.AreaTrapecio, metricasFormasGeometricas.PerimetroTrapecio, FormasGeometricas.Trapecio, idioma));


                // FOOTER
                HandlerTraductor.ArmarFooterPorIdioma(sb, metricasFormasGeometricas, idioma);
            }

            return(sb.ToString());
        }
 public static void ArmarFooterPorIdioma(StringBuilder stringBuilder, HandlerMetricaFormaGeometrica metricasFormasGeometricas, Idiomas idioma)
 {
     stringBuilder.Append("TOTAL:<br/>");
     stringBuilder.Append(metricasFormasGeometricas.Cuadrados + metricasFormasGeometricas.Circulos + metricasFormasGeometricas.Triangulos + metricasFormasGeometricas.Trapecio + " " + (idioma == Idiomas.Castellano || idioma == Idiomas.Portugues ? "formas" : "shapes") + " ");
     stringBuilder.Append((idioma == Idiomas.Castellano || idioma == Idiomas.Portugues ? "Perimetro " : "Perimeter ") + (metricasFormasGeometricas.PerimetroCuadrados + metricasFormasGeometricas.PerimetroTriangulos + metricasFormasGeometricas.PerimetroCirculos + metricasFormasGeometricas.PerimetroTrapecio).ToString("#.##") + " ");
     stringBuilder.Append("Area " + (metricasFormasGeometricas.AreaCuadrados + metricasFormasGeometricas.AreaCirculos + metricasFormasGeometricas.AreaTriangulos + metricasFormasGeometricas.AreaTrapecio).ToString("#.##"));
 }