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 { } } |