C# kullanarak Axapta işlemleri

VB.net kullanarak Axapta'ya nasıl bağlanacağımızı (Login) olacağımızı ve Axapta Class'larını nasıl kullanacağımızı bir önceki makelemizde görmüştük.

Şimdi ise VB.net ile yazdığımız kodların C# şeklide yazılmış şekillerini görelim.

private object Logon2(string defaultLogon, string configuration, string company, string Password)
{
const object FUNCTION_NAME = "GetNotificationHeader";
try {
axapta = new AxaptaCOMConnector.Axapta2();
axapta.Logon2(defaultLogon, Password, company, "", "", "", configuration, "false", "", "");
}
catch (Exception ex) {
string strErrorMessage;
strErrorMessage = " ERROR IN " + MODULE_NAME + "." + FUNCTION_NAME + " ERRSOURCE: " + Err.Source + " ERRCODE: " + Err.Number + " ERRDESC: " + Err.Description + " ERRLINE: " + Erl();
InformationManager.HandleError(MODULE_NAME, FUNCTION_NAME, strErrorMessage, InformationManager.LOG_TYPE_ERROR);
Err.Clear();
}
finally {
}

Axapta'ya bağlandıktan sonra aynı Axapta nesnesini kullanarak Axapta içinde bulunan Global Class ına ait operatingSystem metod'unu çağırmaya çalışalım.

private string getOSName()
{
object result;
try {
result = axapta.CallStaticClassMethod("Global", "operatingSystem", null, null, null, null, null, null);
if ((!(result == null))) {
return result.ToString();
} else {
return null;
}
}
catch (Exception ex) {
}
finally {
if (!(axapta == null)) {
try {
axapta.Logoff();
}
catch (Exception ex) {
}
}
}
}

Axapta Class'ını nasıl çağıracağımıza bakalım. Yukarıda yazdığımız fonksiyonu da kullanalım. Yazacağımız örnekte bir recordSet'i göndermeye çalışacağız.

private object CallAxaptaClassMethod(ADODB.Recordset axRecorset, string strAxMethodName)
{
const object FUNCTION_NAME = "CallAxaptaClassMethod";
string osName;
object returnd;
string ssss;
try {
osName = getOSName();
if (!(osName == null)) {
axapta.TTSBegin();
returnd = axapta.CallStaticClassMethod("dataInAxapta", strAxMethodName, axRecorset, null, null, null, null, null);
axapta.TTSCommit();
} else {
throw new Exception("Axapta Connection Not Setvvvv");
}
}
catch (Exception ex) {
string strErrorMessage;
axapta.TTSAbort();
if (!(axapta == null)) {
axapta.Logoff();
}
strErrorMessage = " ERROR IN " + MODULE_NAME + "." + FUNCTION_NAME + " ERRSOURCE: " + Err.Source + " ERRCODE: " + Err.Number + " ERRDESC: " + Err.Description + " ERRLINE: " + Erl();
InformationManager.HandleError(MODULE_NAME, FUNCTION_NAME, strErrorMessage, InformationManager.LOG_TYPE_ERROR);
Err.Clear();
}
finally {
}
}

Hiç yorum yok: