/**
 * @description Modifica un producto, sus fotos, precios y le asigna las categorias
 * @param $product
 */
function updateProducto($product)
{
    $db = new MysqliDb();
    $db->startTransaction();
    $product_decoded = checkProducto(json_decode($product));
    $db->where('producto_id', $product_decoded->producto_id);
    $data = array('nombre' => $product_decoded->nombre, 'descripcion' => $product_decoded->descripcion, 'pto_repo' => $product_decoded->pto_repo, 'sku' => $product_decoded->sku, 'status' => $product_decoded->status, 'vendidos' => $product_decoded->vendidos, 'destacado' => $product_decoded->destacado, 'en_slider' => $product_decoded->en_slider, 'en_oferta' => $product_decoded->en_oferta, 'producto_tipo' => $product_decoded->producto_tipo, 'iva' => $product_decoded->iva);
    $result = $db->update('productos', $data);
    $db->where('producto_id', $product_decoded->producto_id);
    $db->delete('precios');
    $db->where('producto_id', $product_decoded->producto_id);
    $db->delete('productos_fotos');
    $db->where('producto_id', $product_decoded->producto_id);
    $db->delete('productos_categorias');
    $db->where('producto_id', $product_decoded->producto_id);
    $db->delete('productos_kits');
    $db->where('producto_id', $product_decoded->producto_id);
    $db->delete('productos_proveedores');
    if ($result) {
        foreach ($product_decoded->precios as $precio) {
            if (!createPrecios($precio, $product_decoded->producto_id, $db)) {
                $db->rollback();
                echo json_encode(-1);
                return;
            }
        }
        foreach ($product_decoded->categorias as $categoria) {
            if (!createCategorias($categoria, $product_decoded->producto_id, $db)) {
                $db->rollback();
                echo json_encode(-1);
                return;
            }
        }
        foreach ($product_decoded->fotos as $foto) {
            if (!createFotos($foto, $product_decoded->producto_id, $db)) {
                $db->rollback();
                echo json_encode(-1);
                return;
            }
        }
        foreach ($product_decoded->proveedores as $proveedor) {
            if (!createProveedores($proveedor, $product_decoded->producto_id, $db)) {
                $db->rollback();
                echo json_encode(-1);
                return;
            }
        }
        // Solo para cuando es kit
        if ($product_decoded->producto_tipo == 2) {
            foreach ($product_decoded->kits as $producto_kit) {
                if (!createKits($producto_kit, $product_decoded->producto_id, $db)) {
                    $db->rollback();
                    echo json_encode(-1);
                    return;
                }
            }
        }
        $db->commit();
        echo json_encode($result);
    } else {
        $db->rollback();
        echo json_encode(-1);
    }
}
Пример #2
0
/**
 * @description Modifica un proyecto, sus fotos, precios y le asigna las comentarios
 * @param $proyect
 */
function updatePost($post)
{
    validateRol(0);
    $db = new MysqliDb();
    $db->startTransaction();
    $item_decoded = checkPosts(json_decode($post));
    $db->where('post_id', $item_decoded->post_id);
    $data = array('usuario_id' => $item_decoded->usuario_id, 'titulo' => $item_decoded->titulo, 'detalle' => $item_decoded->detalle, 'fecha' => substr($item_decoded->fecha, 0, 10), 'status' => $item_decoded->status, 'en_slider' => $item_decoded->en_slider, 'vistas' => $item_decoded->vistas, 'up_votes' => $item_decoded->up_votes, 'down_votes' => $item_decoded->down_votes);
    $result = $db->update('posts', $data);
    $db->where('post_id', $item_decoded->post_id);
    $db->delete('posts_fotos');
    if ($result) {
        foreach ($item_decoded->fotos as $foto) {
            if (!createFotos($foto, $item_decoded->post_id, $db)) {
                $db->rollback();
                echo json_encode(-1);
                return;
            }
        }
        $db->commit();
        echo json_encode($result);
    } else {
        $db->rollback();
        echo json_encode(-1);
    }
}
/**
 * @description Modifica un proyecto, sus fotos, precios y le asigna las comentarios
 * @param $proyect
 */
function updateProyecto($proyect)
{
    $db = new MysqliDb();
    $db->startTransaction();
    $proyect_decoded = checkProyecto(json_decode($proyect));
    $db->where('proyecto_id', $proyect_decoded->proyecto_id);
    $data = array('nombre' => $proyect_decoded->nombre, 'descripcion' => $proyect_decoded->descripcion, 'costo_inicial' => $proyect_decoded->costo_inicial, 'fecha_inicio' => $proyect_decoded->fecha_inicio, 'fecha_fin' => $proyect_decoded->fecha_fin, 'status' => $proyect_decoded->status, 'usuario_id' => $proyect_decoded->usuario_id);
    $result = $db->update('proyectos', $data);
    $db->where('proyecto_id', $proyect_decoded->proyecto_id);
    $db->delete('proyectos_fotos');
    if ($result) {
        foreach ($proyect_decoded->fotos as $foto) {
            if (!createFotos($foto, $proyect_decoded->proyecto_id, $db)) {
                $db->rollback();
                echo json_encode(-1);
                return;
            }
        }
        $db->commit();
        echo json_encode($result);
    } else {
        $db->rollback();
        echo json_encode(-1);
    }
}