Example #1
0
 /**
  *
  *Edita un tipo de almacen
  *
  * @param id_tipo_almacen int Id del tipo de almacen a editar
  * @param activo bool Indica si el tipo almacén se activa o desactiva
  * @param descripcion string Descripcion del tipo de almacen
  **/
 static function NuevoTipo($descripcion, $activo = null)
 {
     Logger::log("Creando nuevo tipo de almacen");
     if (!ValidacionesController::validarLongitudDeCadena($descripcion, 0, 64)) {
         Logger::error("descripcion : {$descripcion}");
         throw new Exception($descripcion);
     }
     //No se puede repetir la descripcion del tipo de almacen
     $tipos_almacen = TipoAlmacenDAO::search(new TipoAlmacen(array("descripcion" => trim($descripcion))));
     if (!empty($tipos_almacen)) {
         Logger::error("La descripcion (" . $descripcion . ") es repetida");
         throw new BusinessLogicException("La descripcion esta repetida");
     }
     $activo = $activo == null ? 1 : $activo;
     $tipo_almacen = new TipoAlmacen(array("descripcion" => trim($descripcion), "activo" => $activo));
     DAO::transBegin();
     try {
         TipoAlmacenDAO::save($tipo_almacen);
     } catch (Exception $e) {
         DAO::transRollback();
         Logger::error("No se pudo crear el nuevo tipo de almacen: " . $e);
         throw new InvalidDatabaseOperationException("No se pudo crear el nuevo tipo de almacen, contacte a su administrador de sistema");
     }
     DAO::transEnd();
     Logger::log("Tipo de almacen creado exitosamente");
     return array("id_tipo_almacen" => (int) $tipo_almacen->getIdTipoAlmacen());
 }