Beispiel #1
0
        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;
        }
Beispiel #2
0
        /// <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());
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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;
            }
        }
Beispiel #5
0
        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());
        }
Beispiel #6
0
 /// <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()));
 }
Beispiel #7
0
 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());
        }
Beispiel #9
0
        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());
        }