Mobile Services JS Backend - Data - Okuma(Read)

 Önceki yazıda verileri kayıt ettik şimdi ise bu verilerin uygulama açıldığını MainPage'e yüklenmesini istiyoruz. Yani uygulamamız açıldığını azure mobile services'da bulunan Kisiler isimli tablodan verileri okuyacak ve ekrandaki ListView'da gösterecek. Bunun için MainPage.xaml.cs dosyasına aşağıdaki kodu ekliyoruz.

protected override void OnNavigatedTo(NavigationEventArgs e)
{
     base.OnNavigatedTo(e);
     ListViewPersons.ItemsSource = kisiler;
     LoadData();
}
private void AppBarButton_Click(object sender, RoutedEventArgs e)
{
       LoadData();
}
private async void LoadData()
{
       kisiler.Clear();
       var sonuc = await tableClient.ToEnumerableAsync();
       foreach (var item in sonuc)
       {
            kisiler.Add(item);
       }
}

Yukarıdaki kod parçasını inceleyim.

OnNavigatedTo methodu sayfa açıldığında çalışacak bir methoddur ve veri çekme işlemini burada yapmamız gerekmektedir. LoadData() adındaki methodu çağırıyoruz. LoadData() methodu ilk olarak kisiler listesinin içini boşaltıyor ve daha sonra mobile services'da bulunan tablodan verileri çekiyor. Daha sonra ise bir foreach yardımıyla kisiler listesine atıyoruz ve bu sayede listview'da görünür hale geliyorlar. Aynı LoadData() methodu refresh butonuna basıldığındada çağırılıyor. Bu şekilde bilgileri okuyabiliyoruz.

Örneğin belli bir koşula göre sorgu yapmak istersek aşağıdaki gibi bir kod yazmamız gerekmektedir.

var sonuc = await tableClient.Where(x=>x.Soyadi=="test").ToEnumerableAsync();

Tüm bu sorguların sonucunda dönen liste maximum 500 item içermektedir. Daha fazla veriyi aynı anda rest api üzerinde çekmek doğru olmadığından bu şekilde bir yapı sağlanıyor. Take(1000) gibi method ile çekmek istediğiniz verinin adetini belirtebilirsiniz.

Sonuç

Aşağıda gördüğünüz gibi bilgileri kayıt ettik ve okuduk.

Sonuc

   

Server Tarafında Script

Server tarafında Read operation'i gerçekleşirken gelen query, user ve requesti yakalayarak işlem yapmanıza imkanınız olacaktır. Bunun için insertta olduğu gibi server tarafında script yazmanız gerecek.

   

Server Side Script

Örneğin query.Where{userId:user.userId}); gibi bir komut ile sadece o kullanıcının insert ettiği sonucları çekmeniz mümkün. Böylece gelen tüm querylere otomatik olarak UserId eklenmiş olacaktır. Bu sadece bir örnek yapacağınız şeylerin sınırı olmadığını tekrar belirtmek isterim.

   

Aşağıdaki linkten kodlara ulaşabilirsiniz.

https://github.com/altinokdarici/AzureEgitimSerisi/tree/master/MobileServices/JavascriptBackend/Data

   

   

Raspberry Pi üzerinde C#

Raspberry Pi bildiğiniz gibi şuanda Linux ile çalışan bir cihaz. Yakın zamanda Windows 10 yüklenebilecek. Ancak şuanda böyle birşey mümkün değil. Peki bizim gibi .net developerlar nasıl kod yazacak. Bence bir developer ben sadece c# yazarım dememeli ama neyse. Yazdığımız C# kodunu mono üzerinde çalıştırmamız mümkün.

   

Raspberry Pi üzerine Mono kurulumu

Raspberry Pi üzerine mono yüklemek için aşağıdaki kodu terminal üzerinde çalıştırmanız gerekmekte.

   

sudo apt-get install mono-complete

   

Kurulum tamamlandıktan sonra, kendi bilgisayarımıza geri dönelim ve http://www.monodevelop.com/ adresinden Mono Develop'u indirdelim. (Visual Studio kullanmanızda mümkün) Ve bir Console Application açalım. Daha sonra oluşan exeyi raspberry pi'a atalım ve çalıştıralım. Veya aşağıdaki gibi direkt linux üzerinde kod yazalım.

   

Ornek Kod

   

Raspberry Pi içinde bir text editor açalım ve aşağıdaki kodu yazalım ve kayıt edelim.

   

public class HelloWorld

{

    public static void Main()

    {

        System.Console.WriteLine("Hello World from C#!");

    }

}

   

Terminal üzerinden aşağıdaki kodları yazarak çalıştıralım.

   

gmcs HelloWorld.cs

mono HelloWorld.exe

   

Kodumuzun çalıştığını ve terminale Hello World from C#! yazdığını göreceksiniz.

   

IoT çok zevkli takip edin :)