/**
  * Transforma un array asociativo a un objeto del tipo Herramienta
  *
  * @author Jonathan Sandoval     <*****@*****.**>
  * @param  Array $array          Arreglo Asociativo con los datos de una Herramienta
  * @return Herramienta           Objeto de tipo Herramienta con datos del array recibido
  **/
 static function array_Herramienta($array = array())
 {
     //Nombre de las tablas
     $tablaTipo = constant('TABLA_TIPOHERRAMIENTA');
     $tablaMarca = constant('TABLA_MARCA');
     $tablaCalidad = constant('TABLA_CALIDAD');
     //Nombre de las abrebviaturas de cada objeto de la tabla
     $idtipo = $array["ID_Tipo"];
     isset($array["ID_Marca"]) ? $idMarca = intval($array["ID_Marca"]) : ($idMarca = 0);
     isset($array["Calidad"]) ? $abrCalidad = $array["Calidad"] : ($abrCalidad = "");
     //Objetos Provisionales
     $tipo = NULL;
     $marca = NULL;
     $calidad = NULL;
     $objeto = new Herramienta();
     //Establece datos de la instancia del empleado
     $objeto->setID($array["ID"]);
     $objeto->setNombre($array["Nombre"]);
     $objeto->setPrecio($array["Precio"]);
     $objeto->setCantidad($array["CantidadExistente"]);
     $objeto->setPrecioCompra($array["PrecioCompra"]);
     if ($idtipo != "") {
         //Establece un objeto de tipo 'Tipo'
         $consulta = "SELECT *\n                             FROM {$tablaTipo}\n                             WHERE ID = '{$idtipo}' OR\n                                   Nombre LIKE '%{$idtipo}%' \n                             LIMIT 1";
         $res = ControladorBaseDatos::query($consulta);
         if ($row = $res->fetch_assoc()) {
             $tipo = new TipoHerramienta();
             $tipo->setID($row["ID"]);
             $tipo->setNombre($row["Nombre"]);
         }
     }
     $objeto->setTipo($tipo);
     //Establece un objeto de tipo 'Marca'
     $consulta = "SELECT *\n                         FROM {$tablaMarca}\n                         WHERE ID = {$idMarca}\n                         LIMIT 1";
     $res = ControladorBaseDatos::query($consulta);
     if ($row = $res->fetch_assoc()) {
         $marca = new Marca();
         $marca->setID($row["ID"]);
         $marca->setAbreviatura($row["Abreviatura"]);
         $marca->setNombre($row["Nombre"]);
     }
     $objeto->setMarca($marca);
     //Establece un objeto de tipo 'Calidad'
     $consulta = "SELECT *\n                         FROM {$tablaCalidad}\n                         WHERE Abreviatura = '{$abrCalidad}'\n                         LIMIT 1";
     $res = ControladorBaseDatos::query($consulta);
     if ($row = $res->fetch_assoc()) {
         $calidad = new Calidad();
         $calidad->setAbreviatura($row["Abreviatura"]);
         $calidad->setNombre($row["Nombre"]);
     }
     $objeto->setCalidad($calidad);
     return $objeto;
 }