NetOpenX Rest, daha önce NetOpenX ile yapılan(muhasebe hesap kartı, stokkartı, vb. kart ve fişlerin) okuma işlemlerini daha esnek yapabilmektedir. Tek bir kaydı, örneğin tek bir cari hesap kartnın okunabildiği gibi bir çok kaydı liste halinde Rest servisten talep edilinebilinir. Daha önceki konuda bahsedildiği gibi, herhangi bir talep öncesinde elimizde geçerli "accessToken" bilgisi bulunmalıdır. Dolayısıyla bu sayfada anlatılanların çalışabilmesi için öncelikle bir önceki adımda anlatılan token alma işlemlerinin başarılı olması gerekmektedir.
Aşağıdaki örnek cari kayıtlarının listesini vermektedir.
//_oAuth2 sinifi ile geçerli token alinmasi gerekir.
var _ARPsManager = new ARPsManager(_oAuth2);
var resultAllCM = _ARPsManager.GetInternal();
/// C0001 carisi kodunun bilgilerini dondurmektedir.
var resultCMById = _ARPsManager.GetInternalById("C0001");
// kisit , kolon ismi ve siralama ile ilgili ornek.
var resultFilterCM = _ARPsManager.GetInternal(new SelectFilter()
{
Filter = "CARI_KOD like '%CARI%'",
Fields = new List<string>() { "CARI_KOD", "CARI_ISIM", "Plasiyer_Kodu" }
,
Sort = new List<SortParam>()
{
new SortParam(){ Column = "CARI_KOD", SortType= SortParamType.ASC}
}
});
Yukarıdaki örnekte görüldüğü gibi cari kartları listesini "ARPs" sınıfından çağrılıyor. Rest serviste kullandığımız nesnelerin isimleri NetOpenX entegrasyonlarında kullanılan nesne isimlerinden farklıdır. Bu farklara ve REST ile kullanabileceğimiz nesnelere http://localhost:7070/api/v2/help linkinden ulaşabilirsiniz.
Eğer liste örnekteki gibi çalıştırılırsa, sadece 10 cari kartını listeleyecektir. Bunun sebebi, web ve mobil projelerde veri akışının efektif kullanılabilmesi için REST servisin paging(sayfalama) yapmasıdır, sayfalama için REST'te tanımlı olan default limit 10'dur.
Bu limit aşağıdaki örnekteki gibi artırılabilir. Sıralamada gelen ilk 10 kayıttan sonraki 10 kayıt listelenmek isteniyorsa aşağıdaki şekilde offset özelliğini kullanarak rest çağrısı yapılabilinir.
//_oAuth2 sinifi ile geçerli token alinmasi gerekir.
var _ARPsManager = new ARPsManager(_oAuth2);
var resultAllCM = _ARPsManager.GetInternal();
/// C0001 carisi kodunun bilgilerini dondurmektedir.
var resultCMById = _ARPsManager.GetInternalById("C0001");
// kisit , kolon ismi ve siralama ile ilgili ornek.
var resultFilterCM = _ARPsManager.GetInternal(new SelectFilter()
{
Limit = 20, // sayfalamada getirilecek kayıtların sayısı
Offset = 10, // gelen ilk 10 kayıttan sonra listemeye başlar
Filter = "CARI_KOD like '%CARI%'",
Fields = new List<string>() { "CARI_KOD", "CARI_ISIM", "Plasiyer_Kodu" }
,
Sort = new List<SortParam>()
{
new SortParam(){ Column = "CARI_KOD", SortType= SortParamType.ASC}
}
});