public void ObtenerIdioma(int idioma) { var paqueteIdioma = new Idiomas(); switch (idioma) { case Castellano.Tipo: paqueteIdioma = new Castellano(); break; case Ingles.Tipo: paqueteIdioma = new Ingles(); break; case Aleman.Tipo: paqueteIdioma = new Aleman(); break; } Cuadrado = paqueteIdioma.Cuadrado; Cuadrados = paqueteIdioma.Cuadrados; Trapecio = paqueteIdioma.Trapecio; Trapecios = paqueteIdioma.Trapecios; TrianguloEquilatero = paqueteIdioma.TrianguloEquilatero; TriangulosEquilateros = paqueteIdioma.TriangulosEquilateros; Circulo = paqueteIdioma.Circulo; Circulos = paqueteIdioma.Circulos; ListaVacia = paqueteIdioma.ListaVacia; Cabecera = paqueteIdioma.Cabecera; Area = paqueteIdioma.Area; Perimetro = paqueteIdioma.Perimetro; Total = paqueteIdioma.Total; Formas = paqueteIdioma.Formas; }
/// <summary> /// Imprime un resumen de todas las formas geometricas agregadas /// </summary> /// <returns> /// Un string /// </returns> /// <param name="formas">Una Lista de FormaGeometrica.</param> /// <param name="idioma">El idioma en el que imprime.</param> public static string Imprimir(List <FormaGeometrica> formas, Idiomas idioma) { ConfigurarIdioma(idioma); _sb = new StringBuilder(); if (!formas.Any()) { _sb.AppendFormat("<h1>{0}</h1>", Resx.Strings.EmptyListOfShapes); } else { // Hay por lo menos una forma Array values = Enum.GetValues(typeof(FormasGeometricas)); InicializarDictionarios(values); // HEADER AgregarHeader(); // BODY ResumenDeFormas(formas, values); // FOOTER AgregarFooter(); } return(_sb.ToString()); }
public static string traducirLinea(Resultado resultado) { if (resultado.Cantidad > 0) { if (resultado.Idioma == IdiomaEnum.Castellano) { return($"{resultado.Cantidad} {Idiomas.formaPorIdioma(resultado)} | Area {resultado.AreaTotal:#.##} | Perimetro {resultado.PerimetroTotal:#.##} <br/>"); } return($"{resultado.Cantidad} {Idiomas.formaPorIdioma(resultado)} | Area {resultado.AreaTotal:#.##} | Perimeter {resultado.PerimetroTotal:#.##} <br/>"); } return(string.Empty); }
public Reporte(Idiomas idioma) { switch (idioma) { case Idiomas.Ingles: _texto = new Ingles(); break; case Idiomas.Portugues: _texto = new Portugues(); break; default: _texto = new Castellano(); break; } }
public static string Imprimir(List <IFormaGeometrica> formas, IdiomaEnum idioma) { var sb = new StringBuilder(); if (!formas.Any()) { if (idioma == IdiomaEnum.Castellano) { sb.Append("<h1>Lista vacía de formas!</h1>"); } else { sb.Append("<h1>Empty list of shapes!</h1>"); } } else { sb.Append(Traductor.traducirEncabezado(idioma)); var listaFiguras = Enum.GetValues(typeof(FormaGeometricaEnum)).Cast <FormaGeometricaEnum>(); var resultadoTotal = new Resultado(); resultadoTotal.Idioma = idioma; foreach (var figura in listaFiguras) { var resultado = calcularSegunTipo(formas, figura); resultado.Idioma = idioma; sb.Append(Idiomas.traducirLinea(resultado)); resultadoTotal.Cantidad += resultado.Cantidad; resultadoTotal.PerimetroTotal += resultado.PerimetroTotal; resultadoTotal.AreaTotal += resultado.AreaTotal; } // FOOTER sb.Append(Traductor.traducirFooter(resultadoTotal)); } return(sb.ToString()); }
/// <summary> /// Configura el idioma en el que se imprime /// </summary> /// <param name="idioma">El idioma en el que imprime.</param> private static void ConfigurarIdioma(Idiomas idioma) { System.Threading.Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(Resx.Idiomas.ResourceManager.GetString(idioma.ToString())); }
public void Traducir(Idiomas _idioma) { idioma = _idioma; }
//#region Formas //public const int Cuadrado = 1; //public const int TrianguloEquilatero = 2; //public const int Circulo = 3; //public const int Trapecio = 4; //#endregion //#region Idiomas //public const int Castellano = 1; //public const int Ingles = 2; //#endregion //public Formas Tipo { get; set; } //public FormaGeometrica(Formas tipo, decimal ancho) //{ // Tipo = tipo; // _lado = ancho; //} public static string Imprimir(List <FormasGeometricas> formas, Idiomas idioma) { StringBuilder sb; if (!formas.Any()) { sb = FuncionesGenerales.AsignarIdiomaVacio(idioma); } else { // Hay por lo menos una forma // HEADER sb = FuncionesGenerales.AsignarIdioma(idioma); var numeroCuadrados = 0; var numeroCirculos = 0; var numeroTriangulos = 0; var areaCuadrados = 0m; var areaCirculos = 0m; var areaTriangulos = 0m; var perimetroCuadrados = 0m; var perimetroCirculos = 0m; var perimetroTriangulos = 0m; for (var i = 0; i < formas.Count; i++) { switch (formas[i].Tipo) { case EnumFormas.Cuadrado: numeroCuadrados++; //areaCuadrados += formas[i].CalcularArea(); areaCuadrados += new Cuadrado(formas[i].Ancho).CalcularArea(); //perimetroCuadrados += formas[i].CalcularPerimetro(); perimetroCuadrados += new Cuadrado(formas[i].Ancho).CalcularPerimetro(); break; case EnumFormas.Circulo: numeroCirculos++; areaCirculos += new Circulo(formas[i].Ancho).CalcularArea(); perimetroCirculos += new Circulo(formas[i].Ancho).CalcularPerimetro(); break; case EnumFormas.TrianguloEquilatero: numeroTriangulos++; areaTriangulos += new TrianguloEquilatero(formas[i].Ancho).CalcularArea(); perimetroTriangulos += new TrianguloEquilatero(formas[i].Ancho).CalcularPerimetro(); break; case EnumFormas.Rectangulo: numeroTriangulos++; areaTriangulos += new Rectangulo(formas[i].Ancho, formas[i].Largo).CalcularArea(); perimetroTriangulos += new Rectangulo(formas[i].Ancho, formas[i].Largo).CalcularPerimetro(); break; case EnumFormas.Trapecio: numeroTriangulos++; areaTriangulos += new Trapecio(formas[i].Ancho, formas[i].Largo, formas[i].Altura).CalcularArea(); perimetroTriangulos += new Trapecio(formas[i].Ancho, formas[i].Largo, formas[i].Lado3, formas[i].Lado4).CalcularPerimetro(); break; } } sb.Append(FuncionesGenerales.ObtenerLinea(numeroCuadrados, areaCuadrados, perimetroCuadrados, EnumFormas.Cuadrado, idioma)); sb.Append(FuncionesGenerales.ObtenerLinea(numeroCirculos, areaCirculos, perimetroCirculos, EnumFormas.Circulo, idioma)); sb.Append(FuncionesGenerales.ObtenerLinea(numeroTriangulos, areaTriangulos, perimetroTriangulos, EnumFormas.TrianguloEquilatero, idioma)); // FOOTER sb.Append("TOTAL:<br/>"); sb.Append(numeroCuadrados + numeroCirculos + numeroTriangulos + " " + (idioma == Idiomas.Castellano ? "formas" : "shapes") + " "); sb.Append((idioma == Idiomas.Castellano ? "Perimetro " : "Perimeter ") + (perimetroCuadrados + perimetroTriangulos + perimetroCirculos).ToString("#.##") + " "); sb.Append("Area " + (areaCuadrados + areaCirculos + areaTriangulos).ToString("#.##")); } return(sb.ToString()); }
public static string Imprimir(IEnumerable <Forma> formasList, int _idioma) { var sb = new StringBuilder(); var idioma = new Idiomas(_idioma); if (!formasList.Any()) { sb.Append("<h1>" + idioma.ListaVacia + "</h1>"); } else { int cantidadFormas = 0; double sumArea = 0; double sumPerimetro = 0; sb.Append("<h1>" + idioma.Cabecera + "</h1>"); var cuadrados = new FormasGrupo(); foreach (var forma in formasList) { if (typeof(Cuadrado).IsInstanceOfType(forma)) { cuadrados.Add(forma); } } var circulos = new FormasGrupo(); foreach (var forma in formasList) { if (typeof(Circulo).IsInstanceOfType(forma)) { circulos.Add(forma); } } var triangulos = new FormasGrupo(); foreach (var forma in formasList) { if (typeof(TrianguloEquilatero).IsInstanceOfType(forma)) { triangulos.Add(forma); } } var trapecios = new FormasGrupo(); foreach (var forma in formasList) { if (typeof(Trapecio).IsInstanceOfType(forma)) { trapecios.Add(forma); } } sb.Append(cuadrados.ObtenerLinea()); sb.Append(circulos.ObtenerLinea()); sb.Append(triangulos.ObtenerLinea()); sb.Append(trapecios.ObtenerLinea()); foreach (var formas in formasList) { cantidadFormas += formas.GetListCount(); sumArea += formas.CalcularArea(); sumPerimetro += formas.CalcularPerimetro(); } //FOOTER sb.Append(idioma.Total + ":<br/>"); sb.Append(cantidadFormas + " " + idioma.Formas + " "); sb.Append(idioma.Perimetro + " " + sumPerimetro.ToString("#.##") + " "); sb.Append(idioma.Area + " " + sumArea.ToString("#.##")); } return(sb.ToString()); }