/** * * Edita una categoria de unidades. * * @param id_categoria_unidad_medida int ID de la categoria a editar. * @param activo int Nuevo status de la categoria. Si es null no se editara. * @param descripcion string Nueva descripcion de la categoria. Si es null no se editara. * @throws InvalidDatabaseOperationException si la categoria no existe. **/ public static function EditarCategoriaUdm($id_categoria_unidad_medida, $activo = null, $descripcion = null) { Logger::log("Editando categoria unidad de medida " . $id_categoria_unidad_medida); $cat_unidad = CategoriaUnidadMedidaDAO::getByPK($id_categoria_unidad_medida); if (is_null($cat_unidad)) { throw new InvalidDatabaseOperationException("La categoria no existe", 1); } if (!is_null($activo)) { $cat_unidad->setActiva($activo); } if (!is_null($descripcion)) { $cat_unidad->setDescripcion($descripcion); } //se guardan los cambios DAO::transBegin(); try { CategoriaUnidadMedidaDAO::save($cat_unidad); } catch (Exception $e) { DAO::transRollback(); Logger::error("No se pudo editar la categoria unidad de medida" . $id_categoria . ": " . $e); throw new Exception("No se pudo editar la categoria unidad de medida"); } DAO::transEnd(); Logger::log("Categoria Unidad de Medida editada exitosamente"); }