Hola a todos bueno como quedamos en el tutorial anterior:
Mobile services (Azure) En Windows Phone 8 Parte 1
hoy seguimos donde tocaremos lo que nos falto el actualizar,eliminar,seleccionar,filtrar.

Actualizar item:

PRIVATE ASYNC VOID UPDATE(TODOITEM ITEM)
{
TRY
{
AWAIT APP.MOBILESERVICE.GETTABLE<TODOITEM>().UPDATEASYNC(ITEM).CONTINUEWITH(T =>
{
IF (T.ISFAULTED)
{
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(«\NACTUALIZACION FALLIDA!\N»));
}
ELSE
{
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(«\NITEM ACTUALIZADO CON ID:» + ITEM.ID + «\N»));
}
});
}
CATCH (SYSTEM.NET.WEBEXCEPTION E)
{
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(«\NCONEXION FALLIDA!\N»));
}
}
PRIVATE VOID ACTUALIZARBOTON_CLICK(OBJECT SENDER, ROUTEDEVENTARGS E)
{
TEXTINGRESO.TEXT = TEXTINGRESO.TEXT.TRIMSTART();
TEXTINGRESO.TEXT = TEXTINGRESO.TEXT.TRIMEND();
IF (TEXTINGRESO.TEXT == STRING.EMPTY)
{
MESSAGEBOX.SHOW(«INGRESE UN VALOR»);
} ELSE {
ITEM.ID = 2;
ITEM.TEXT = TEXTINGRESO.TEXT;
UPDATE(ITEM);
}
}

Seleccionar Item:

PRIVATE ASYNC VOID SELECT(TODOITEM ITEM)
{
TRY
{
AWAIT APP.MOBILESERVICE.GETTABLE<TODOITEM>().WHERE(CITEM => CITEM.ID == ITEM.ID).TOLISTASYNC().CONTINUEWITH(T =>
{
IF (T.ISFAULTED)
{
SYSTEM.DIAGNOSTICS.DEBUG.WRITELINE(«FAULTED»);
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(«SELECCION FALLIDA!\N»));
}
ELSE
{
SYSTEM.COLLECTIONS.GENERIC.LIST<TODOITEM> ITEMS = T.RESULT;
INT COUNT = ITEMS.COUNT;
IF (COUNT > 0)
{
FOREACH (VAR RECORD IN ITEMS)
{
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(RECORD.TEXT));
}
}
ELSE
{
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(«NO HAY REGISTROS ENCONTRADOS!\N»));
}
}
});
}
CATCH (SYSTEM.NET.WEBEXCEPTION E)
{
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(«\NCONNECTION FAILED!\N»));
}
}
PRIVATE VOID SELECT_CLICK(OBJECT SENDER, ROUTEDEVENTARGS E)
{
ITEM.ID = 2;
SELECT(ITEM);
}

Leer todos los datos:

PRIVATE ASYNC VOID READ() {
TRY
{
AWAIT APP.MOBILESERVICE.GETTABLE<TODOITEM>().READASYNC().CONTINUEWITH(T =>
{
IF (T.ISFAULTED)
{
SYSTEM.DIAGNOSTICS.DEBUG.WRITELINE(«FAULTED»);
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(«LECTURA FALLIDA!\N»));
}
ELSE
{
SYSTEM.COLLECTIONS.GENERIC.IENUMERABLE<TODOITEM> ITEMS = T.RESULT;
FOREACH (VAR RECORD IN ITEMS)
{
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(RECORD.TEXT));
}
}
});
}
CATCH (SYSTEM.NET.WEBEXCEPTION E)
{
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(«\NCONEXION FALLIDA!\N»));
}
}
PRIVATE VOID READ_CLICK(OBJECT SENDER, ROUTEDEVENTARGS E)
{
READ();
}

Mostrar los primeros tantos items:

PRIVATE ASYNC VOID TAKE(INT COUNT)
{
TRY
{
AWAIT APP.MOBILESERVICE.GETTABLE<TODOITEM>().TAKE(COUNT).TOLISTASYNC().CONTINUEWITH(T =>
{
IF (T.ISFAULTED)
{
SYSTEM.DIAGNOSTICS.DEBUG.WRITELINE(«FAULTED»);
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(«FILTRADO FALLIDO!\N»));
}
ELSE
{
SYSTEM.COLLECTIONS.GENERIC.IENUMERABLE<TODOITEM> ITEMS = T.RESULT;
FOREACH (VAR RECORD IN ITEMS)
{
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(RECORD.TEXT));
}
}
});
}
CATCH (SYSTEM.NET.WEBEXCEPTION E)
{
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(«\NCONEXION FALLIDA!\N»));
}
}
PRIVATE VOID FILTRARDATOS_CLICK(OBJECT SENDER, ROUTEDEVENTARGS E)
{
TAKE(2);
}

Eliminar un item:

PRIVATE ASYNC VOID DELETE(TODOITEM ITEM)
{
TRY
{
AWAIT APP.MOBILESERVICE.GETTABLE<TODOITEM>().DELETEASYNC(ITEM).CONTINUEWITH(T =>
{
IF (T.ISFAULTED)
{
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(«\NERROR AL ELIMINAR!\N»));
}
ELSE
{
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(«\NITEM ELIMINADO»));
}
});
}
CATCH (SYSTEM.NET.WEBEXCEPTION E)
{
DISPATCHER.BEGININVOKE(() => MESSAGEBOX.SHOW(«\NCONEXION FALLIDA!\N»));
}
}
PRIVATE VOID ELIMINARBOTON_CLICK(OBJECT SENDER, ROUTEDEVENTARGS E)
{
ITEM.ID = 2;
DELETE(ITEM);
}

Y listo acá ya tenemos todos los métodos necesarios para trabajar con azure, hay varios mas que con el tiempo iremos tocando! 🙂 saludos y como siempre les dejo el código de ejemplo en mi skydrive!!!

Deja un comentario...