/// <summary>
 /// Calcula el área total de figuras geométricas
 /// </summary>
 /// <returns>área total de figuras geométricas</returns>
 public static decimal CalcularAreaTotal()
 {
     return(ContadorCirculos.GetInstance().getArea() +
            ContadorCuadrados.GetInstance().getArea() +
            ContadorRectangulos.GetInstance().getArea() +
            ContadorTrapecios.GetInstance().getArea() +
            ContadorTriangulosEquilateros.GetInstance().getArea());
 }
 /// <summary>
 /// Limpia los contadores de formas geométricas
 /// </summary>
 public void LimpiarContadores()
 {
     ContadorCirculos.GetInstance().Dispose();
     ContadorCuadrados.GetInstance().Dispose();
     ContadorRectangulos.GetInstance().Dispose();
     ContadorTrapecios.GetInstance().Dispose();
     ContadorTriangulosEquilateros.GetInstance().Dispose();
 }
Пример #3
0
 /// <summary>
 /// Calcula el total de figuras geométricas
 /// </summary>
 /// <returns>Cantidad total de figuras geométricas</returns>
 public static int CalcularTotal()
 {
     return(ContadorCirculos.GetInstance().getCantidad() +
            ContadorCuadrados.GetInstance().getCantidad() +
            ContadorRectangulos.GetInstance().getCantidad() +
            ContadorTrapecios.GetInstance().getCantidad() +
            ContadorTriangulosEquilateros.GetInstance().getCantidad());
 }
Пример #4
0
        /// <summary>
        /// Retorna el contador, si no está instanciado lo instancia
        /// </summary>
        /// <returns>ContadorRectangulos</returns>
        public static ContadorRectangulos GetInstance()
        {
            if (instance == null)
            {
                instance = new ContadorRectangulos();
            }

            return(instance);
        }
        /// <summary>
        /// Realiza la impresión del reporte de formas geométricas, según el idioma recibido por parámetro
        /// </summary>
        /// <param name="formas">Lista de formas geométricas</param>
        /// <param name="idioma">Idioma</param>
        /// <returns>String</returns>
        public static string Imprimir(List <FormaGeometrica> formas, int idioma)
        {
            var sb = new StringBuilder();
            var contadorResolver                     = new ContadorResolver();
            var contadorCleaner                      = new ContadorCleaner();
            var generadorDeLineasCuadrado            = new GeneradorDeLineasCuadrado();
            var generadorDeLineasCirculo             = new GeneradorDeLineasCirculo();
            var generadorDeLineasTrianguloEquilatero = new GeneradorDeLineasTrianguloEquilatero();
            var generadorDeLineasTrapecio            = new GeneradorDeLineasTrapecio();
            var generadorDeLineasRectangulo          = new GeneradorDeLineasRectangulo();

            if (!formas.Any())
            {
                sb.Append(GeneradorDeLineas.ListaVacia(idioma));
            }
            else
            {
                // Hay por lo menos una forma
                // HEADER
                sb.Append(GeneradorDeLineas.Header(idioma));

                for (var i = 0; i < formas.Count; i++)
                {
                    contadorResolver.SumarFormasGeometricas(formas[i]);
                }

                sb.Append(generadorDeLineasCuadrado.ObtenerLinea(ContadorCuadrados.GetInstance().getCantidad(), ContadorCuadrados.GetInstance().getArea(), ContadorCuadrados.GetInstance().getPerimetro(), typeof(Cuadrado).Name, idioma));
                sb.Append(generadorDeLineasCirculo.ObtenerLinea(ContadorCirculos.GetInstance().getCantidad(), ContadorCirculos.GetInstance().getArea(), ContadorCirculos.GetInstance().getPerimetro(), typeof(Circulo).Name, idioma));
                sb.Append(generadorDeLineasTrianguloEquilatero.ObtenerLinea(ContadorTriangulosEquilateros.GetInstance().getCantidad(), ContadorTriangulosEquilateros.GetInstance().getCantidad(), ContadorTriangulosEquilateros.GetInstance().getPerimetro(), typeof(TrianguloEquilatero).Name, idioma));
                sb.Append(generadorDeLineasTrapecio.ObtenerLinea(ContadorTrapecios.GetInstance().getCantidad(), ContadorTrapecios.GetInstance().getArea(), ContadorTrapecios.GetInstance().getPerimetro(), typeof(Trapecio).Name, idioma));
                sb.Append(generadorDeLineasRectangulo.ObtenerLinea(ContadorRectangulos.GetInstance().getCantidad(), ContadorRectangulos.GetInstance().getArea(), ContadorRectangulos.GetInstance().getPerimetro(), typeof(Rectangulo).Name, idioma));

                // FOOTER
                sb.Append("TOTAL:<br/>");
                sb.Append(GeneradorDeLineas.CantidadFormas(idioma));
                sb.Append(GeneradorDeLineas.PerimetroTotal(idioma));
                sb.Append(GeneradorDeLineas.AreaTotal(idioma));
            }

            contadorCleaner.LimpiarContadores();

            return(sb.ToString());
        }