Ana içeriğe geç

eBAIntegrationAPI

eBAIntegrationAPI dll i, eBA kurulum dizini altındaki “Common” klasörü içerisinde bulunur. eBA projesi içerisinde Integration Manager da hazırlanmış olan sorguları çalıştırabilmek ve çalıştırılan sorgu sonucu dönen değerleri projenin form ya da akış kısımlarında işleyebilmek için kullanılan dll dir.

eBAIntegrationAPI dll i aşağıdaki namespace den oluşur. Bu namespace in barındırdığı tüm sınıflar, sınıflara ait methodlar ve özellikler bu dokümanda detaylı olarak ele alınmıştır.

1.eBAIntegrationAPI

Çalıştırılmak istenen sorguyu çağırmak ve sorgu sonucu dönen verileri kod içerisinde kullanabilmek için gerekli sınıfları barındırır. Aşağıdaki sınıfları içerir;

eBAIntegrationAPI

public class eBAIntegrationQuery

public class eBAIntegrationQueryParameters : System.Collections.Generic.Dictionary<string, string>

public class eBAIntegrationReader

public class eBAPagedIntegrationReader

public class eBAQueryResult

1.1 eBAIntegrationQuery

Integration Manager da tanımlı bir sorguyu kodda çağırmak için kullanılan sınıftır.

Methodlar

public eBAIntegrationQuery(string connection, string query) 

Connection ve query bilgileri parametre olarak verilerek eBAIntegrationQuery sınıfından yeni bir nesne örneği oluşturur

public System.Data.DataTable Execute(eBAPI.Connection.eBAConnection connection) 

Connection parametresi verilerek tanımlanan sorgu sonucunu DataTable tipinde döndürür

public eBAIntegrationAPI.eBAQueryResult Execute(eBAPI.Connection.eBAConnection connection, int topCount) 

Connection ve topCount parametresi verilerek tanımlanan sorgu sonucunu eBAQueryResult tipinde döndürür

Özellikler

public string Connection { get; set; } 

Connection değeridir

public eBAIntegrationAPI.eBAIntegrationQueryParameters Parameters { get; } 

Sorgu parametreleri değeridir

public string Query { get; set; } 

Sorgu değeridir

1.2 eBAIntegrationQueryParameters Sorgu parametreleri sınıfıdır.

Methodlar

public eBAIntegrationQueryParameters() 

eBAIntegrationQueryParameters sınıfından yeni bir nesne örneği oluşturur

1.3 eBAIntegrationReader

Veri okuma işleminin gerçekleştirildiği sınıftır.

Methodlar

public void Close() 

Okuma işlemi bittiğinde reader nesnesini kapatır

public void Dispose() 

reader nesnesi bağlantısını kapatır ve nesne içeriğini boşaltır

public eBAIntegrationReader(eBAPI.Connection.eBAConnection connection, string connectionName, string queryName) 

eBAIntegrationReader sınıfından yeni bir nesne örneği oluşturur

public bool IsAlive() 

reader nesnesi kapatılmış mı aktif mi durumu bilgisidir

public bool Read() 

Okuma durumu bilgisidir

public bool Read(int readCount) 

readCount parametresi ile okuma durumu bilgisini verir

Özellikler

public string Connection { get; } 

Connection değeridir

public System.Data.DataTable Data { get; } 

DataTable tipindeki veridir

public int DefaultReadCount { get; set; } 

Varsayılan okuma sayısı değeridir

public bool HasMoreData { get; } 

Daha fazla veri mevcut mu durum değeridir

public bool IsClosed { get; } 

Kapalı mı durumu bilgisidir

public eBAIntegrationAPI.eBAIntegrationQueryParameters Parameters { get; } 

Sorgu parametreleri değeridir

public string Query { get; } 

Sorgu değeridir

1.4 eBAPagedIntegrationReader

Sayfalanmış veri okuma işleminin gerçekleştirildiği sınıftır.

Methodlar

public void Close() 

Okuma işlemi bittiğinde reader nesnesini kapatır

public void Dispose() 

reader nesnesi bağlantısını kapatır ve nesne içeriğini boşaltır

public eBAPagedIntegrationReader(eBAPI.Connection.eBAConnection connection, string connectionName, string queryName, int itemsPerPage, int cachedPageCount) 

eBAPagedIntegrationReader sınıfından yeni bir nesne örneği oluşturur

public bool MoveNextPage() 

Sonraki sayfaya taşı durum değeridir

public bool MoveNextPage(int pagesToForward) 

pagesToForward parametresi verilerek sonraki sayfaya taşıma durumu değeridir

public bool MovePreviousPage() 

Önceki sayfaya taşı durum değeridir

public bool MovePreviousPage(int pagesToBackward) 

pagesToBackward parametresi verilerek önceki sayfaya taşıma durumu değeridir

public void Open() 

reader nesnesini açar

Özellikler

public int CachedPageCount { get; } 

Cache lenen sayfa sayısı değeridir

public string Connection { get; } 

Connection değeridir

public System.Data.DataTable CurrentPage { get; } 

Mevcut sayfa değeridir

public int CurrentPageCount { get; } 

Mevcut sayfa sayısı değeridir

public int CurrentPageNumber { get; } 

Mevcut sayfa numarası değeridir

public int ItemsPerPage { get; } 

Sayfa başı öge değeridir

public string Query { get; } 

Sorgu bilgisidir

1.5 eBAQueryResult

Sorgu sonuç sınıfıdır.

Methodlar

public eBAQueryResult()  

eBAQueryResult sınıfından yeni bir nesne örneği oluşturur

Özellikler

public System.Data.DataTable Data { get; set; } 

DataTable tipinde veri değeridir

public bool HasMoreData { get; set; }  

Daha fazla veri var mı durumu bilgisidir

Örnek Kullanım:

Akış kod kısmında Pozisyon Grubu nesnesine sorgu sonucu dönen kişileri atama :

    %SystemPath%\Common\eBAPI.dll 

%SystemPath%\Common\eBAIntegrationAPI.dll



using System.Data;

using eBAPI;

using eBAPI.Connection;

using eBAIntegrationAPI;





public void FlowScript1_Execute()

{

eBAConnection Connection = CreateServerConnection();

Connection.Open();

try

{

eBAIntegrationQuery qry = new eBAIntegrationQuery("EBA", "USERLOAD");

qry.Parameters.Add("DEPARTMENT", FlowStarter1.Department );



DataTable dt = qry.Execute(Connection);

if(dt.Rows.Count >0)

{

foreach(DataRow dr in dt.Rows)

{

FlowGroup1.AddConstantUser(dr.ItemArray[0].ToString());

}

}

else

{

// Grup içinde kimse yoksa akışın kime gitmesini istiyorsanız onun idsi yazılır

FlowGroup1.AddConstantUser("admin");

}

}

catch (Exception ex)

{

throw ex;

}

finally

{

Connection.Close();

}

}