Example #1
0
        /// <summary>
        /// Actualiza el valor en un punto de la matriz
        /// </summary>
        /// <param name="puntoActualizar"></param>
        /// <returns></returns>
        public IMatrizDTO UpdateMatriz(IPuntoDTO puntoActualizar)
        {
            IMatrizDTO matriz = RecuperarJson();

            matriz.Matriz[puntoActualizar.x, puntoActualizar.y, puntoActualizar.z] = puntoActualizar.valor;
            GuardarJson(matriz);
            return(matriz);
        }
Example #2
0
        /// <summary>
        /// Metodo que guarda el arreglo en formato JSon, se supone que existe la ruta y se tienen los permisos de lectura y escritura
        /// </summary>
        /// <param name="matriz"></param>
        private void GuardarJson(IMatrizDTO matriz)
        {
            string rutaGuardado = Constantes.RUTA_ARCHIVO;
            string output       = JsonConvert.SerializeObject(matriz.Matriz);

            using (StreamWriter writer = File.CreateText(rutaGuardado))
            {
                writer.WriteLine(output);
            }
        }
Example #3
0
 /// <summary>
 /// Metodo Privado que inicializa la matriz en ceros
 /// </summary>
 /// <param name="matriz"></param>
 private void inicializa(IMatrizDTO matriz)
 {
     for (int i = 0; i < matriz.Matriz.GetLength(1); i++)
     {
         for (int j = 0; j < matriz.Matriz.GetLength(1); j++)
         {
             for (int k = 0; k < matriz.Matriz.GetLength(1); k++)
             {
                 matriz.Matriz[i, j, k] = 0;
             }
         }
     }
 }
Example #4
0
        /// <summary>
        /// Metodo que recupera el archivo que contiene la matriz
        /// </summary>
        public IMatrizDTO RecuperarJson()
        {
            IMatrizDTO matriz   = new IMatrizDTO();
            string     filepath = Constantes.RUTA_ARCHIVO;
            string     result   = string.Empty;

            using (StreamReader r = new StreamReader(filepath))
            {
                var matrizJson = r.ReadToEnd();
                var salida     = JsonConvert.DeserializeObject <long[, , ]>(matrizJson);
                matriz.Matriz = salida;
                return(matriz);
            }
        }
Example #5
0
        /// <summary>
        /// Metodo que suma los valors dentro de dos puntos en el cubo
        /// </summary>
        /// <param name="puntoInicial">Punto inicial</param>
        /// <param name="puntoFinal">Punto Final</param>
        /// <returns>La sma de los valores</returns>
        public long QueryMatiz(IPuntoDTO puntoInicial, IPuntoDTO puntoFinal)
        {
            long       respuesta = 0;
            IMatrizDTO matriz    = this.RecuperarJson();

            for (int i = puntoInicial.x; i <= puntoFinal.x; i++)
            {
                for (int j = puntoInicial.y; j <= puntoFinal.y; j++)
                {
                    for (int k = puntoInicial.z; k <= puntoFinal.z; k++)
                    {
                        respuesta += matriz.Matriz[i, j, k];
                    }
                }
            }
            return(respuesta);
        }
Example #6
0
        /// <summary>
        /// Metodo que invoca la actulizacion de un punto en la Matriz
        /// </summary>
        /// <param name="matriz"></param>
        /// <param name="operador"></param>
        /// <returns></returns>
        private IMatrizDTO ActulizeMatriz(IMatrizDTO matriz, string operador)
        {
            int       number;
            long      valor;
            IPuntoDTO punto = new IPuntoDTO();

            String[] evaluar = operador.Split(' ');
            int.TryParse(evaluar[1], out number);
            punto.x = number;
            int.TryParse(evaluar[2], out number);
            punto.y = number;
            int.TryParse(evaluar[3], out number);
            punto.z = number;
            long.TryParse(evaluar[4], out valor);
            punto.valor = valor;

            matriz = _matrizBL.Value.UpdateMatriz(punto);
            return(matriz);
        }
Example #7
0
        /// <summary>
        /// Actualiza un punto en la matriz
        /// </summary>
        /// <param name="puntoActualizar"></param>
        /// <returns></returns>
        public IMatrizDTO UpdateMatriz(IPuntoDTO puntoActualizar)
        {
            IMatrizDTO matriz = _matrizDAL.Value.UpdateMatriz(puntoActualizar);

            return(matriz);
        }
Example #8
0
        /// <summary>
        /// Trae los datos del archivo guardado
        /// </summary>
        /// <returns></returns>
        public IMatrizDTO RecuperarJson()
        {
            IMatrizDTO matriz = _matrizDAL.Value.RecuperarJson();

            return(matriz);
        }
Example #9
0
        /// <summary>
        /// Metodo que inicaliza la matriz
        /// </summary>
        /// <param name="parametro"></param>
        /// <returns></returns>
        public IMatrizDTO Inicializar(IParametrosDTO parametro)
        {
            IMatrizDTO matriz = _matrizDAL.Value.Inicializar(parametro);

            return(matriz);
        }