Mobile services (Azure) En Windows Phone 8 Parte 2

Estándar

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 aca ya tenemos todos los metodos necesarios para trabajar con azure, hay varios mas que con el tiempo iremos tocando!🙂 saludos y como siempre les dejo el codigo de ejemplo en mi skydrive!!!

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s