XAML in Xamarin.Forms 基礎篇 電子書

XAML in Xamarin.Forms 基礎篇 電子書
XAML in Xamarin.Forms 基礎篇 電子書

Xamarin.Forms 快速入門 電子書

Xamarin.Forms 快速入門 電子書
Xamarin.Forms 快速入門 電子書

2017/04/17

Xamarin.Forms 與 Azure Mobile App Lab 7

在 Azure 行動應用後端專案,新增我要請假頁面需要用的資料表

請接續進行 Azure行動應用服務的後端專案

建立資料傳輸物件 (DTO) 類別

接下來,我們需要修改這個後端 API 專案,讓這個專案可以提供更多的功能。
  • 為了要開始產生一個我們自訂的資料表,我們需要定義資料表控制器, 設定資料表控制器需要三個步驟︰
這裡,我們需要定義一個請假紀錄的申請紀錄表單,用來定義 SQL Database 內的資料表。
  • 請滑鼠右擊 DataObjects 資料夾,選擇 加入 > 類別
  • 在對話窗下方的 名稱 輸入 LeaveRecord
  • 點選 新增 按鈕
  • 請將剛剛產生的類別 LeaveRecord,修改成為如下程式碼:
    public class LeaveRecord : EntityData
    {
        public string 申請人 { get; set; }
        public DateTime 請假日期 { get; set; }
        public TimeSpan 開始時間 { get; set; }
        public int 請假時數 { get; set; }
        public string 假別 { get; set; }
        public string 請假理由 { get; set; }
        public string 職務代理人 { get; set; }
    }
若有找不到的類別或者命名空間,請點選燈泡來修正

建立資料表控制器。

如果已安裝 Azure SDK,您現在可以建立範本資料表控制器,請進行底下操作

使用 Azure 行動應用程式資料表控制器

  • 滑鼠右擊 Controller 資料夾,選擇 加入 > 控制器
  • 在對話窗中,選擇 Azure 行動應用程式資料表控制器
  • 點選新增按鈕
  • 在出現 新增控制器 對話窗,請輸入或者選擇如下圖結果
    模型類別:您剛剛定義的 SQL 資料表型別,可用下拉選單來選擇
    資料內容類別:,也就是這個專案內繼承 DbContext 的類別,可用下拉選單來選擇
    控制器名稱:可以使用自動產生的名稱,注意,最後面一定要有 Controller
  • 點選 新增 按鈕,完成這個資料表控制器產生動作。
  • 底下為產生後的 LeaveRecordController 資料控制器程式碼
    您可以看到,對於請假紀錄資料表的基本 CRUD API 程式碼,都已經幫您自動產生好了
    這裡請特別注意,在使用 Azure Mobile App 的資料表控制項類別中,必須要繼承 TableController 這個類別,而不是要使用 ApiController 類別
    public class LeaveRecordController : TableController<LeaveRecord>
    {
        protected override void Initialize(HttpControllerContext controllerContext)
        {
            base.Initialize(controllerContext);
            XamarinAzureDayContext context = new XamarinAzureDayContext();
            DomainManager = new EntityDomainManager<LeaveRecord>(context, Request);
        }

        // GET tables/LeaveRecord
        public IQueryable<LeaveRecord> GetAllLeaveRecord()
        {
            return Query(); 
        }

        // GET tables/LeaveRecord/48D68C86-6EA6-4C25-AA33-223FC9A27959
        public SingleResult<LeaveRecord> GetLeaveRecord(string id)
        {
            return Lookup(id);
        }

        // PATCH tables/LeaveRecord/48D68C86-6EA6-4C25-AA33-223FC9A27959
        public Task<LeaveRecord> PatchLeaveRecord(string id, Delta<LeaveRecord> patch)
        {
             return UpdateAsync(id, patch);
        }

        // POST tables/LeaveRecord
        public async Task<IHttpActionResult> PostLeaveRecord(LeaveRecord item)
        {
            LeaveRecord current = await InsertAsync(item);
            return CreatedAtRoute("Tables", new { id = current.Id }, current);
        }

        // DELETE tables/LeaveRecord/48D68C86-6EA6-4C25-AA33-223FC9A27959
        public Task DeleteLeaveRecord(string id)
        {
             return DeleteAsync(id);
        }
    }

加入 Migration

  • 點選功能表 工具 > NuGet封裝管理員 > 套件管理員主控台
  • 在 套件管理員主控台 中輸入底下指令
Add-Migration LeaveRecord
  • 按下 F5 ,在本地端執行這個專案
    您可以使用 PostMan 來檢查本地端執行與運作結果是否正常
  • 中斷除錯執行

發佈到 Azure 雲端上

PostMan 測試資料

本地端

Azure

Header 資訊

Key : ZUMO-API-VERSION
Value : 2.0.0

這個練習範例專案,請參考

XamarinAzureService_Custom

沒有留言:

張貼留言