Windows Azure serüvenimize tüm hızıyla kaldığımız yerden devam ediyoruz. Hatırlarsanız önceki yazımızda Azure Management Portal de mobil servis oluşturup bu servisimize bir de tablo eklemiştik. Bugün de bu tablomuza kayıt ekleme, güncelleme ve silme işlemlerini nasıl gerçekleştirebileceğimize göz atıyor olacağız.

Öncelikle mobil servislere istemci tarafından erişebilmek için ilgili istemcinin SDK (Software Development Kit) sını yüklemeniz gerekiyor. Mobil servislerin şu anda Windows Store, Windows Phone 8, iOS ve Android desteği bulunuyor. Geliştireceğiniz ortama uygun SDK’ya ise buradan erişebilirsiniz. İşin güzel tarafı tüm bu SDK lar açık kaynak olarak GitHub’da bulunuyor, indirip kaynak kodları ve örnekleriyle beraber inceleyebilirsiniz. İlgili yüklemeyi yaptıktan sonra mobil servisimize uygulamamızdan nasıl erişebileceğimize bakalım.

Öncelikle uygulamanıza Azure Mobile Services SDK ile gelen Windows Azure Mobile Services Managed Client kütüphanesini Add Reference deyip Extension sekmesinden referans olarak eklemelisiniz.

Mobile Service Reference

Referansı ekledikten sonra mobil servise erişebilmek MobileServiceClient nesnesi oluşturmanız gerekiyor. Tabi nesneyi oluştururken mobil servis adresini ve uygulama anahtarını yapıcı metoda geçirmeniz gerekiyor.

using Microsoft.WindowsAzure.MobileServices;

var mobileService = new MobileServiceClient("https://{mobil-servis-url}.azure-mobile.net/", "{mobil-servis-key}");  

Mobil servisinizin url ve key bilgilerinize Azure Portal den erişebilirsiniz.

Mobile Service Authentication

Servise erişimi sağlayan MobileServiceClient nesnesi oluşturulduğuna göre kayıt ekleme, güncelleme ve silme işlemi için kullanılacak olan POCO sınıfı oluşturmanız gerekiyor.

public class Person  
{
   public int Id { get; set; }

   [DataMember(Name = "firstname")]
   public string Firstname { get; set; }

   [DataMember(Name = "lastname")]
   public string Lastname { get; set; }

   [DataMember(Name = "age")]
   public int Age { get; set; }
}

Önceki yazılarda bahsettiğimiz gibi mobil servisler veri transferi yaparken JSON formatını kullanmaktaydı. Mobil servisler şu anda native olarak (string, boolean, datetime ve nümerik değerler) dört farklı veri tipini desteklemektedir. Kompleks tipler için IDataMemberJsonConverter arayüzü kullanılarak gerekli JSON dönüşümlerinin yapılması gerekiyor. Bununla ilgili daha detaylı bilgiyi farklı bir yazıda inceliyor olacağız.

Sırada adım CRUD işlemlerini gerçekleştireceğiniz tablonun referansını almanız. Bunu da aşağıdaki gibi gerçekleştirebilirsiniz.Burada dikkat etmeniz gereken nokta GetTable metodunda generic olarak servisdeki tablo ismini belirtmenizdir.

IMobileServiceTable<Person> table = mobileService.GetTable<Person>();  
Tablodaki tüm kayıtları alma:
MobileServiceCollectionView<Person> people = table.ToCollectionView();  
Tabloya yeni bir kayıt ekleme:
var person = new Person {Firstname = "Josh", Lastname = "Smith", Age = 30};  
await table.InsertAsync(person);  
Kayıt güncelleme:
person.Age = 28;  
await table.UpdateAsync(person);  
Kayıt silme:
await table.DeleteAsync(person);  

Gördüğünüz gibi CRUD işlemleri gerçekleştirmek birkaç satır kadar kolay. Yapmanız gerekenleri kısaca sıralayacak olursak öncelikle mobil servisiniz ile bağlantı kurmanız gerekiyor. Bağlantı kurduktan sonra üzerinde çalışmak istediğiniz tablonun referansını almalısınız. Son olarak da referans aldığınız tablonun asenkron metodlarını kullanarak kayıt ekleme, güncelleme ve silme işlemlerini gerçekleştirebiliyorsunuz.

About the Author