ตอนที่ 3 : การบันทึกข้อมูลจาก Windows Store App ลงใน Azure Mobile Services
ตอนที่ 3 : การบันทึกข้อมูลจาก Windows Store App ลงใน Azure Mobile Services บทความนี้ขอต่อจากตอนที่แล้ว จะเป็นการเขียน Windows Store App ในแบบที่เราสร้างขึ้นเอา ซึ่งจะเป็นการสร้าง Table ไว้สำหรับจัดเก็บข้อมูลบน Mobile Services จากนั้นเราจะเขียน Windows Store App เพื่อสร้าง Column หรือฟิวด์ พร้อม ๆ กับการส่งข้อมูลจาก Windows Store แล้วนำไปจัดเก็บ Insert ไว้ใน Table ของ Mobile Services บน Windows Azure
กลับมายังหน้า Dashboard ของ Azure Mobile Services
ตอนนี้เรามี Mobile Services อยู่ 1 รายการ
คลิกที่ Windows Store
ในหน้า Get Started จะแสดงรายละเอียดของการเชื่อมต่อ และได้อธิบายไว้ในบทความก่อนหน้านี้แล้ว
เมื่อกลับไปดูที่ Mobile Services บน Windows Azure ข้อมูลก็จะถูก Insert เข้าไปในตาราง Table
Code ทั้งหมด (MainPage.xaml.cs)
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using Microsoft.WindowsAzure.MobileServices;
using Newtonsoft.Json;
// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238
namespace myApp
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
///
public class MyMember
{
public int Id { get; set; }
[JsonProperty(PropertyName = "name")]
public string Name { get; set; }
[JsonProperty(PropertyName = "email")]
public string Email { get; set; }
}
public sealed partial class MainPage : Page
{
private MobileServiceCollection<MyMember, MyMember> items;
private IMobileServiceTable<MyMember> memberTable = App.MobileService.GetTable<MyMember>();
public MainPage()
{
this.InitializeComponent();
}
private async void InsertMemberItem()
{
try
{
items = await memberTable.ToCollectionAsync();
var insertItem = new MyMember { Name = "Win", Email = "[email protected]" };
await memberTable.InsertAsync(insertItem);
items.Add(insertItem);
lblStatus.Text = "Insert Data Successfully.";
}
catch (MobileServiceInvalidOperationException e)
{
lblStatus.Text = "Insert Data Failed! Error " + e.Message;
}
}
/// <summary>
/// Invoked when this page is about to be displayed in a Frame.
/// </summary>
/// <param name="e">Event data that describes how this page was reached. The Parameter
/// property is typically used to configure the page.</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
InsertMemberItem();
}
}
}