Comenzando Azure Mobile Services–Ejemplo Práctico con HTML5 + JS [Parte 3]

Vamos a profundizar un poco más en el tema de los Script del servidor para el manejo de las acciones, en el post anterior, vimos como validar en la acción de insertar el tamaño de las entradas del nombre y del tipo.

Ahora vamos a realizar puede que no tenga mucho sentido, pero el tema es mostrar un escenario en donde necesitemos leer de un tabla un registro para insertarlo en otra antes de borrar.  Para esto voy a crear otra tabla que se llame “Papelero” , la idea es que antes de borrar un registro en la tabla Películas, leamos el registro, luego lo insertemos en la tabla “Papelero”, súper simple Sonrisa .Puedes ver en la siguiente imagen que tengo dos tablas, son idénticas entre sí.

image

Luego vamos a Datos y a la pestalla de Script y seleccionamos Eliminar:

image

El script es el siguiente:

function del(id, user, request) {
  var Peliculas = tables.getTable(‘Peliculas’);

    Peliculas
        .where({ id: id})
        .read({ success: CopiaRespaldo });

 

    function CopiaRespaldo(data) {
        if(data.length > 0) {
           var obj = {
                Nombre: data[0].Nombre,
                Votos: data[0].Votos,
                Tipo: data[0].Tipo
            };

             var Papelero = tables.getTable(‘Papelero’);
              Papelero.insert(obj, {
                success: insertComplete,
                error: errorHandler
            });
 

    } else {
            console.log(‘Error, Registro no encontrado’);
           
request.respond(statusCodes.NOT_FOUND, ‘Error, Registro no encontrado’);

       }

    }

   function insertComplete(){
      //Ahora borramos, cuando el insert esté ok
      request.execute();
  }

   function errorHandler(){
       //En Caso de error de inserción….
       console.log(‘Error, No se pudo insertar’);
       request.respond(statusCodes.ERROR, ‘Error, No se pudo insertar’);

  }

}

Puedes ver que lo primero que hacemos en hacer referencia hacia la tabla, luego leer de la tabla los registros que coincidan con la condición del Id, una vez que se se hace la llamada la función CopiaRespaldo, que revisa si existe un dato asociado para luego crear un objeto (obj) para ser insertado en la tabla Papelero,con los datos de la lectura de la tabla Películas. Puedes notar que se pasa como argumento una colección, por lo que, en mi caso, la lista devuelve un único elemento, lo accedo mediante su índice.  Para la inserción en la tabla Papelero, primero hacemos referencia a la tabla y realizamos la inserción, una vez que esta ok, hacemos el request.execute, que ejecuta la acción de borrado.

Por ejemplo, ingreso la película Superman y la quiero borrar:

image

Presiono borrar y luego verás el registro almacenado en la tabla Papelero:

image

Bastante sencillo, puedes ver más información de los Script Para Azure Mobile Services en la documentación:
http://msdn.microsoft.com/en-us/library/windowsazure/jj554226.aspx

Luego vemos el tema de los permisos Sonrisa
Saludos,
@chalalo

Un comentario en “Comenzando Azure Mobile Services–Ejemplo Práctico con HTML5 + JS [Parte 3]”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *