pesanmedia.files.wordpress.com€¦  · Web viewCreate service. Create Entity / Class. Pengertian...

44
1. Create service a. Create Entity / Class i. Pengertian Entity. Entity adalah merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant dari object. class juga merupakan grup suatu object dengan kemiripan attributes/properties, behaviour dan relasi ke object lain. ii. Tata letak dalam pembuatan entity terbagi menjadi 4 folder yaitu, pada folder master jika tipe service yang akan dibuatkan tipe master atau folder transaksi jika tipe service yang akan dibuatkan tipe transaksi atau folder tools jika tipe service yang akan dibuatkan tipe tools atau folder report jika tipe service yang akan dibuatkan tipe reports yang terletak pada ..\\ App_Code\\ Entity. Dalam contoh dibawah ini menggunakan sample service yang bertipe master. Klik kanan folder master Pilih Add New Item iii. Pilih installed templates visual basic pilih class beri nama dengan huruf kecil misal : “cashbank_master_taxrate”. Kenapa harus huruf kecil? Agar seragam dengan entity yang telah dibuat dimodul lain. klik button add 1 | Page

Transcript of pesanmedia.files.wordpress.com€¦  · Web viewCreate service. Create Entity / Class. Pengertian...

1. Create service

a. Create Entity / Classi. Pengertian Entity.

Entity adalah merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant dari object. class juga merupakan grup suatu object dengan kemiripan attributes/properties, behaviour dan relasi ke object lain.

ii. Tata letak dalam pembuatan entity terbagi menjadi 4 folder yaitu, pada folder master jika tipe service yang akan dibuatkan tipe master atau folder transaksi jika tipe service yang akan dibuatkan tipe transaksi atau folder tools jika tipe service yang akan dibuatkan tipe tools atau folder report jika tipe service yang akan dibuatkan tipe reports yang terletak pada ..\\ App_Code\\Entity. Dalam contoh dibawah ini menggunakan sample service yang bertipe master. Klik kanan folder master Pilih Add New Item

iii. Pilih installed templates visual basic pilih class beri nama dengan huruf kecil misal : “cashbank_master_taxrate”. Kenapa harus huruf kecil? Agar seragam dengan entity yang telah dibuat dimodul lain. klik button add

1 | P a g e

iv. Setelah pembuatan class atau entity sudah dicreate, di entity tersebut dibuatkan variable field yang sama dengan field tabel di dalam database.

v. Copikan field yang ada di tabel database.

vi. Pastekan di dalam entity yang telah dibuat diatas.

vii. Rubah nama field dan rubah tipe data yang sesuai dengan tipe data di vb.net

viii. Setelah perubahan nama dan tipe selesai, membuat constructor di entity tersebut. “Apa itu constructor? Constructor adalah sebuah method yang digunakan untuk

2 | P a g e

memberikan nilai awal pada saat object diciptakan yang dipanggil secara otomatis ketika new digunakan untuk membuat instan class”

ix. Constructor sudah dibuat, selanjutnya membuat property variabel.“Apa itu property? Property adalah karateristik yang dimiliki oleh objek. Dibagian itu kita dapat mendeklarasikan atribut-atribut yang dibutuhkan kelas untuk membentuk objek.”

x. Pembuatan entity selesai.

b. Create Entity Interfacei. Pengertian Entity Interface

Entity Interface adalah sebuah ‘kontrak’ atau perjanjian implementasi method. (sebuah kumpulan method tanpa tubuh.). Bagi class yang menggunakan object

3 | P a g e

interface, class tersebut harus mengimplementasikan ulang seluruh method yang ada di dalam interface.

ii. Peletakan entity interface, semua tipe service digabung menjadi satu folder yaitu di folder ..\\App_Code\\ADO\\ADOImpl.

iii. Pilih installed templates visual basic pilih class beri nama : “IMasterTaxRate” klik button add

iv. Ubah tipe entity interface dari class menjadi interfaceSebelum diubah

4 | P a g e

Sesudah diubah

v. Tambahkan method yang harus ada di entity interface

vi. Pembuatan Entity Interface Selesai

c. Create Entity Servicei. Klik kanan pada project add new item pilih web service beri nama

5 | P a g e

ii. Pindahkan file TaxRateService.vb ke dalam folder entity service dan TaxRateService.asmx ke dalam folder service folder master

Sebelum dipindahkan

Sesudah dipindahkan

6 | P a g e

iii. Buka file TaxRateService.vb

iv. Relasikan Entity TaxRateService.vb dengan Entity Interface IMasterTaxRate.vb dengan menambahkan kodingan dibawah ini

Tambahkan setelah Inherits System.Web.Services.WebService. Setelah itu tekan enter. Dan akan ngebuild method kosong tanpa isi dari Entity Interface.

7 | P a g e

v. Lengkapi method yang kosong tadi seperti berikut

<WebMethod(Description:="Method For : Clear History User Transaction Menu ")> _ Public Sub CleanUp(ByVal sMenuID As String, ByVal sUserID As String) Implements IMasterTaxRate.CleanUp newObj.CleanUp(sMenuID, sUserID) End Sub

Datamanager yang lama

<WebMethod(Description:="Method : Save, Update, Delete")> _ Public Function DataManager(ByVal Entity As cashbank_master_taxrate, ByVal sTable As String, ByVal enumEvent As Integer, ByVal sPrimaryKey As String, ByVal eMenuID As String, ByVal eKeyNo As String, ByVal sCriteriaKey As String, ByVal sUserID As String) As String Implements IMasterTaxRate.DataManager Dim strMessage As String = String.Empty

If isValid(Entity, sTable, enumEvent, strMessage) = False Then Return strMessage Exit Function End If

Return newObj.DataManager(Entity, sTable, enumEvent, sPrimaryKey, eMenuID, eKeyNo, sCriteriaKey, sUserID) End Function

Datamanager metode Baru, Data manager inilah yang dipakai sekarang

<WebMethod()> _ Public Function DataManager(ByVal Entity As cashbank_transaction_cashbankvoucher_hdr, ByVal sTable As String, ByVal enumEvent As Integer, ByVal sPrimaryKey As String, ByVal eMenuID As String, ByVal eKeyNo As String, ByVal sCriteriaKey As String, ByVal sUserID As String) As String Implements ITransactionCashBankVoucher.DataManager Dim strMessage As String = String.Empty Dim sSQL As String = String.Empty Dim QueryStr As String = String.Empty

'Last Edit : yuda 'Tanggal : 10-09-2014 14.28 'Kondisi : Syntax insert, update dan delete dijadikan satu

8 | P a g e

If isValid(Entity, sTable, enumEvent, strMessage, eMenuID, sCriteriaKey) = False Then Return strMessage Exit Function End If

Select Case enumEvent Case 1

'save data hdr sSQL = newObj.stringSavingSQL(Entity, sTable, enumEvent, sPrimaryKey) & " " & vbCrLf 'save data cashbank voucher dtl For Each d As cashbank_transaction_cashbankvoucher_dtl In isArrayDetailVoucherdtl sSQL &= newObjdtl.stringSavingSQL(d, "cashbank_transaction_cashbankvoucher_dtl", enumEvent, "") & " " & vbCrLf Next

Case 2

Dim g As New cashbank_transaction_cashbankvoucher_dtl

'delete csahbank dtl For Each c As cashbank_transaction_cashbankvoucher_dtl In isArrayDetailVoucherdtl sSQL &= newObjdtl.stringSavingSQL(c, "cashbank_transaction_cashbankvoucher_dtl", 3, "uoid_CashBankVoucher_Hdr") & " " & vbCrLf Next

' update data hdr sSQL &= newObj.stringSavingSQL(Entity, sTable, enumEvent, sPrimaryKey) & " " & vbCrLf

'save data cashbank voucher dtl For Each d As cashbank_transaction_cashbankvoucher_dtl In isArrayDetailVoucherdtl sSQL &= newObjdtl.stringSavingSQL(d, "cashbank_transaction_cashbankvoucher_dtl", 1, "") & " " & vbCrLf Next

Case 3

'save history transaction Dim d As New generalledger_summary_transaction_account Dim e As New cashbank_summary_voucher_dtl Dim f As New cashbank_summary_voucher_hdr

'delete detail transaction For Each o As cashbank_transaction_cashbankvoucher_dtl In isArrayDetailVoucherdtl d.uoid_source = o.uoid_CashBankVoucher_Dtl e.uoid_CashBankVoucher_Dtl = o.uoid_CashBankVoucher_Dtl sSQL &= newObjSumTran.stringSavingSQL(d, "generalledger_summary_transaction_account", 3, "uoid_source") & " " & vbCrLf sSQL &= " " sSQL &= newObjSumdtl.stringSavingSQL(e, "cashbank_summary_voucher_dtl", 3, "uoid_CashBankVoucher_Dtl") & " " & vbCrLf sSQL &= " " Next

d.uoid_source = Entity.uoid_CashBankVoucher_Hdr f.uoid_CashBankVoucher_Hdr = Entity.uoid_CashBankVoucher_Hdr

sSQL &= " " sSQL &= newObjSumTran.stringSavingSQL(d, "generalledger_summary_transaction_account", 3, "uoid_source") & " " & vbCrLf

sSQL &= newObjSumHdr.stringSavingSQL(f, "cashbank_summary_voucher_hdr", 3, "uoid_CashBankVoucher_Hdr") & " " & vbCrLf

For Each c As cashbank_transaction_cashbankvoucher_dtl In isArrayDetailVoucherdtl sSQL &= newObjdtl.stringSavingSQL(c, "cashbank_transaction_cashbankvoucher_dtl", 3, "uoid_CashBankVoucher_Dtl") & " " & vbCrLf

9 | P a g e

Next

sSQL &= newObj.stringSavingSQL(Entity, sTable, 3, sPrimaryKey) & " " & vbCrLf End Select

'query hdr dan query dtl dijadikan satu QueryStr = newObj.strDataManager(sSQL, enumEvent, isListOfSP) 'setelah dijadikan satu dijalankan di generic ado 'strMessage = QueryStr strMessage = newObj.SavingDataManager(QueryStr, enumEvent, eMenuID, eKeyNo, sCriteriaKey, sUserID) clearArrayDetail() Return strMessage End Function

'function pengecekan atau validasi di service Public Function isValid(ByVal Entity As cashbank_master_taxrate, ByVal sTable As String, ByVal enumEvent As Integer, ByRef strMessage As String) As Boolean Implements IMasterTaxRate.isValid Dim bolOK As Boolean = True Dim sSQLStr As String = String.Empty Select Case enumEvent Case 1

Case 2

Case 3

End Select

Return bolOK End Function

<WebMethod(Description:="Berfungsi untuk menjalankan query atao sp diclient. ")> _ Public Function ListUP(ByVal sqlstr As String) As System.Data.DataSet Implements IMasterTaxRate.ListUP Return newObj.ListUP(sqlstr) End Function

<WebMethod(Description:="MemanggiKoneksi")> _ Public Sub StartUp() Implements IMasterTaxRate.StartUp newObj.StartUp() End Sub

<WebMethod(Description:="Method : Putus Koneksi ")> _ Public Sub putusKoneksi() Implements IMasterTaxRate.putusKoneksi EntityManager.conn = Nothing End Sub

<WebMethod(Description:="Method untuk collect store procedure")> _ Public Sub collectForSP(ByVal isData As String) Implements ITransactionAdvancePaymentRequest.collectForSP isListOfSP.Add(isData) End Sub

vi. Pembuatan Entity Service selesai

2. Di generic ado di bagi 3 function untuk insert, update dan delete.a. StringSql V.1.0

Public Function stringSQL(ByVal strObj As T, ByVal sTable As String, ByVal enumEvent As Integer, ByVal sPrimaryKey As String) As String Implements IGenericADOImpl(Of T).stringSQL Dim SQLStr As String = "" Dim SQLStrBegin As String = "" Dim SQLStrEnd As String = ""

'Keterangan enumEvent ' 1 = Insert ' 2 = Update ' 3 = Delete

10 | P a g e

Dim obj As Type = GetType(T) Dim cls As Type = GetType(T) Dim strField As String = String.Empty Dim strValue As String = String.Empty Dim strWhere As String = String.Empty Dim strWhereValue As String = String.Empty Dim instance As T = DirectCast(Activator.CreateInstance(obj, True), T)

'Type cls = instance.GetType();

Dim propertiesEntity As PropertyInfo() = cls.GetProperties(BindingFlags.Public Or BindingFlags.Instance) Dim properties As PropertyInfo() = obj.GetProperties(BindingFlags.Public Or BindingFlags.Instance) SQLStr = "" SQLStr = SQLStr & " SET @SeqNum = NEWID() " If enumEvent = 1 Then

For i As Integer = 0 To properties.Length - 1 Dim value As Object = propertiesEntity(i).GetValue(strObj, Nothing)

If i = 0 Then

If properties(i).Name.ToLower = sPrimaryKey.ToLower Then 'strValue &= " @SeqNum " If i = 0 Then strValue = " '" & generateUUID() & "' " Else strValue &= " '" & generateUUID() & "' " End If

Else If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then If IsNothing(value) = True OrElse value = String.Empty Then If Mid(properties(i).Name.ToLower, 1, 4) = "uoid" Then strValue &= " NULL" ElseIf properties(i).Name.ToLower = "transaction_state" Then strValue &= " NULL" Else strValue &= " ''" End If Else strValue &= " '" & value & "'" End If

ElseIf properties(i).PropertyType = GetType(DateTime) Then If value = "0001-01-01" Then strValue &= " NULL" Else strValue &= " '" & value & "' " End If Else strValue &= " " & value & " " End If End If If properties(i).Name.ToLower = "group" Then strField += "[" & properties(i).Name & "]" Else strField += properties(i).Name End If

Else

'strField += properties(i).Name If properties(i).Name.ToLower = sPrimaryKey.ToLower Then strValue &= ",'" + generateUUID() + "' " Else If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then If IsNothing(value) = True OrElse value = String.Empty Then If Mid(properties(i).Name.ToLower, 1, 4) = "uoid" Then strValue &= ", NULL" ElseIf properties(i).Name.ToLower = "transaction_state" Then strValue &= ", NULL" Else

11 | P a g e

strValue &= ", ''" End If Else strValue &= ", '" & value & "'" End If

ElseIf properties(i).PropertyType = GetType(DateTime) Then If value = "0001-01-01" Then strValue &= ", NULL" Else strValue &= ", '" & value & "' " End If Else strValue &= ", " & value & " " End If End If ' strField += "," + properties(i).Name If properties(i).Name.ToLower = "group" Then strField += ",[" & properties(i).Name & "]" Else strField += "," + properties(i).Name End If End If Next

SQLStr = SQLStr & " INSERT INTO " + sTable SQLStr = SQLStr & " ( " + strField + " )" SQLStr = SQLStr & " VALUES(" + strValue + " )"

ElseIf enumEvent = 2 Then For i As Integer = 0 To properties.Length - 1 Dim value As Object = propertiesEntity(i).GetValue(strObj, Nothing) If IsNothing(value) = False Then ' strField = properties(i).Name If properties(i).Name.ToLower = "group" Then strField = "[" & properties(i).Name & "]" Else strField = properties(i).Name End If If i = 0 Then If properties(i).Name.ToLower = sPrimaryKey.ToLower Then strWhereValue &= " " & strField & " = '" & value.ToString & "'" ' strValue &= generateUUID() Else

'If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) OrElse properties(i).PropertyType = GetType(DateTime) Then ' strWhere = " " & strField & " = '" & value & "'" 'Else ' strWhere = " " & strField & " = '" & value & "'" 'End If

If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then If IsNothing(value) = True OrElse value = String.Empty Then 'strValue &= ", NULL" strWhere = " " & strField & " = NULL" Else 'strValue &= ", '" & value & "'" strWhere = " " & strField & " = '" & value & "'" End If

ElseIf properties(i).PropertyType = GetType(DateTime) Then ' strValue &= ", " & iManager.FmtDate(value) & " " strWhere = " " & strField & " = '" & value & "'" Else ' strValue &= ", " & value & " " strWhere = " " & strField & " = " & value & "" End If End If

Else If properties(i).Name.ToLower = sPrimaryKey.ToLower Then strWhereValue &= " " & strField & " = '" & value.ToString & "'" 'strValue &= generateUUID() Else

If strWhereValue <> String.Empty Then

12 | P a g e

If strWhere <> String.Empty Then 'If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) OrElse properties(i).PropertyType = GetType(DateTime) Then ' strWhere &= ", " & strField & " = '" & value & "'" 'Else ' strWhere &= ", " & strField & " = '" & value & "'" 'End If

If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then If IsNothing(value) = True OrElse value = String.Empty Then 'strValue &= ", NULL" strWhere &= ", " & strField & " = NULL " Else 'strValue &= ", '" & value & "'" strWhere &= ", " & strField & " = '" & value & "'" End If

ElseIf properties(i).PropertyType = GetType(DateTime) Then ' strValue &= ", " & iManager.FmtDate(value) & " " strWhere &= ", " & strField & " = '" & value & "'" Else ' strValue &= ", " & value & " " strWhere &= ", " & strField & " = " & value & "" End If Else 'If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) OrElse properties(i).PropertyType = GetType(DateTime) Then ' strWhere &= " " & strField & " = '" & value & "'" 'Else ' strWhere &= " " & strField & " = '" & value & "'" 'End If

If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then If IsNothing(value) = True OrElse value = String.Empty Then 'strValue &= ", NULL" strWhere &= " " & strField & " = NULL " Else 'strValue &= ", '" & value & "'" strWhere &= " " & strField & " = '" & value & "'" End If

ElseIf properties(i).PropertyType = GetType(DateTime) Then ' strValue &= ", " & iManager.FmtDate(value) & " " strWhere &= " " & strField & " = '" & value & "'" Else ' strValue &= ", " & value & " " strWhere &= " " & strField & " = " & value & "" End If

End If Else 'If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) OrElse properties(i).PropertyType = GetType(DateTime) Then ' strWhere &= ", " & strField & " = '" & value & "'" 'Else ' strWhere &= ", " & strField & " = '" & value & "'" 'End If

If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then If IsNothing(value) = True OrElse value = String.Empty Then 'strValue &= ", NULL" strWhere &= ", " & strField & " = NULL " Else 'strValue &= ", '" & value & "'" strWhere &= ", " & strField & " = '" & value & "'" End If

13 | P a g e

ElseIf properties(i).PropertyType = GetType(DateTime) Then ' strValue &= ", " & iManager.FmtDate(value) & " " strWhere &= ", " & strField & " = '" & value & "'" Else ' strValue &= ", " & value & " " strWhere &= ", " & strField & " = " & value & "" End If End If

End If End If End If Next SQLStr = SQLStr & " UPDATE " + sTable SQLStr = SQLStr & " SET " + strWhere + " " SQLStr = SQLStr & " FROM " + sTable SQLStr = SQLStr & " WHERE " + strWhereValue + " "

ElseIf enumEvent = 3 Then

For i As Integer = 0 To properties.Length - 1 Dim value As Object = propertiesEntity(i).GetValue(strObj, Nothing) If IsNothing(value) = False Then ' strField = properties(i).Name

If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) OrElse properties(i).PropertyType = GetType(DateTime) Then If IsNothing(value) = False And value <> "1/1/0001 12:00:00 AM" Then If properties(i).Name.ToLower = "group" Then strField += "[" & properties(i).Name & "]" Else strField += properties(i).Name End If End If Else If IsNothing(value) = False And value <> 0 And value <> 0.0 Then If properties(i).Name.ToLower = "group" Then strField += "[" & properties(i).Name & "]" Else strField += properties(i).Name End If End If End If

If properties(i).Name.ToLower = sPrimaryKey.ToLower Then strWhereValue &= " " & strField & " = '" & value.ToString & "'" Exit For End If End If Next SQLStr = SQLStr & " DELETE FROM " + sTable SQLStr = SQLStr & " WHERE " + strWhereValue + " " End If

SQLStr = SQLStr & " if (@@ERROR <> 0) " SQLStr = SQLStr & " set @vErr = @vErr + 1 "

SQLStrBegin = " SET NOCOUNT ON" SQLStrBegin = SQLStrBegin & " declare @vErr smallint" SQLStrBegin = SQLStrBegin & " declare @SeqNum varchar(100)" SQLStrBegin = SQLStrBegin & " set @vErr = 0" SQLStrBegin = SQLStrBegin & " begin tran " SQLStrEnd = " if (@vErr = 0)" SQLStrEnd = SQLStrEnd & " commit tran" SQLStrEnd = SQLStrEnd & " else" SQLStrEnd = SQLStrEnd & " rollback tran" SQLStrEnd = SQLStrEnd & " select @vErr, @SeqNum " SQLStr = SQLStrBegin & SQLStr & SQLStrEnd

Return SQLStr End Function

b. StringSqlMany

14 | P a g e

Public Function stringSQLMANY(ByVal strObj As T, ByVal TableDetailData As System.Collections.ArrayList, ByVal DetailData As Object, ByVal enumEvent As Integer, ByVal sPrimaryKey As String) As String Implements IGenericADOImpl(Of T).stringSQLMANY Dim SQLStr As String = "" Dim SQLStr2 As String = ""

Dim SQLStrBegin As String = "" Dim SQLStrEnd As String = ""

'class detail Dim generalledgermasteraccountdetail As New generalledger_master_account_dtl Dim openDtl As New generalledger_master_opening_balance_dtl Dim openDetailDtl As New generalledger_master_opening_balance_detail_dtl

'Keterangan enumEvent ' 1 = Insert ' 2 = Update ' 3 = Delete

Dim obj As Type = GetType(T) Dim cls As Type = GetType(T) Dim child As Type = GetType(T) Dim strField As String = String.Empty Dim strValue As String = String.Empty Dim strWhere As String = String.Empty Dim strWhereValue As String = String.Empty Dim instance As T = DirectCast(Activator.CreateInstance(obj, True), T) Dim y As Integer = 0

Dim sTable = obj.Name Dim sTableChild = child.Name 'Type cls = instance.GetType();

Dim propertiesEntity As PropertyInfo() = cls.GetProperties(BindingFlags.Public Or BindingFlags.Instance) Dim properties As PropertyInfo() = obj.GetProperties(BindingFlags.Public Or BindingFlags.Instance) Dim propertiesChild As PropertyInfo() = child.GetProperties(BindingFlags.Public Or BindingFlags.Instance) SQLStr = "" SQLStr = SQLStr & " SET @SeqNum = NEWID() " If enumEvent = 1 Then

For i As Integer = 0 To properties.Length - 1 Dim value As Object = propertiesEntity(i).GetValue(strObj, Nothing)

If i = 0 Then

If properties(i).Name.ToLower = sPrimaryKey.ToLower Then 'strValue &= " @SeqNum " If i = 0 Then strValue = " '" & generateUUID() & "' " & vbCrLf Else strValue &= " '" & generateUUID() & "' " & vbCrLf End If

Else If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) OrElse properties(i).PropertyType = GetType(DateTime) Then If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then If IsNothing(value) = True OrElse value = String.Empty Then strValue &= " NULL" & vbCrLf Else strValue &= " '" & value & "'" & vbCrLf End If

ElseIf properties(i).PropertyType = GetType(DateTime) Then strValue &= " '" & value & "' " Else strValue &= " " & value & " " & vbCrLf End If Else strValue &= " " & value & " " & vbCrLf End If End If If properties(i).Name.ToLower = "group" Then

15 | P a g e

strField += "[" & properties(i).Name & "]" Else strField += properties(i).Name End If

Else

'strField += properties(i).Name If properties(i).Name.ToLower = sPrimaryKey.ToLower Then strValue &= ",'" + generateUUID() + "' " Else If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) OrElse properties(i).PropertyType = GetType(DateTime) Then If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then If IsNothing(value) = True OrElse value = String.Empty Then strValue &= ", NULL" & vbCrLf Else strValue &= ", '" & value & "'" & vbCrLf End If

ElseIf properties(i).PropertyType = GetType(DateTime) Then strValue &= ", '" & value & "' " & vbCrLf Else strValue &= ", " & value & " " & vbCrLf End If Else strValue &= " ," & value & " " & vbCrLf End If End If ' strField += "," + properties(i).Name If properties(i).Name.ToLower = "group" Then strField += ",[" & properties(i).Name & "]" Else strField += "," + properties(i).Name End If End If Next

SQLStr = SQLStr & " " SQLStr = SQLStr & " INSERT INTO " + sTable SQLStr = SQLStr & " ( " + strField + " )" SQLStr = SQLStr & " VALUES(" + strValue + " )"

If TableDetailData.Count > 0 Then Select Case obj.ToString.ToLower Case "generalledger_master_account_hdr" For c = 0 To TableDetailData.Count - 1 generalledgermasteraccountdetail = CType(TableDetailData(c), generalledger_master_account_dtl) SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " INSERT INTO [GENERALLEDGER_MASTER_Account_Dtl]" SQLStr2 = SQLStr2 & " ([Uoid_Account_Dtl]" SQLStr2 = SQLStr2 & " ,[Uoid_Account_Hdr]" SQLStr2 = SQLStr2 & " ,[Uoid_AdministrativeUnit])" SQLStr2 = SQLStr2 & " VALUES " SQLStr2 = SQLStr2 & " ( " & iManager.FmtStr(generalledgermasteraccountdetail.Uoid_Account_Dtl) & " " SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(generalledgermasteraccountdetail.Uoid_Account_Hdr) & " " SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(generalledgermasteraccountdetail.Uoid_AdministrativeUnit) & ") " Next End Select End If

If OpeningBalanceService.detailSave.Count > 0 Then For Each c As generalledger_master_opening_balance_dtl In OpeningBalanceService.detailSave SQLStr2 = SQLStr2 & " INSERT INTO GENERALLEDGER_MASTER_Opening_Balance_Dtl" & vbCrLf SQLStr2 = SQLStr2 & " ([uoid_OpeningBalance_Dtl]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_OpeningBalance_Hdr]" & vbCrLf SQLStr2 = SQLStr2 & " ,[Uoid_Account_Hdr]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_Currency]" & vbCrLf SQLStr2 = SQLStr2 & " ,[homeCurrencyAmount]" & vbCrLf

16 | P a g e

SQLStr2 = SQLStr2 & " ,[originalCurrencyAmount])" & vbCrLf SQLStr2 = SQLStr2 & " VALUES( " & vbCrLf SQLStr2 = SQLStr2 & " " & iManager.FmtStr(c.uoid_OpeningBalance_Dtl) & " " & vbCrLf SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(c.uoid_OpeningBalance_Hdr) & " " & vbCrLf SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(c.Uoid_Account_Hdr) & " " & vbCrLf If IsNothing(c.uoid_Currency) = True Then SQLStr2 = SQLStr2 & " , NULL " Else SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(c.uoid_Currency) & " " & vbCrLf End If

SQLStr2 = SQLStr2 & " , " & c.homeCurrencyAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " , " & c.originalCurrencyAmount & ") " & vbCrLf Next End If

If OpeningBalanceService.detailSaveDtl.Count > 0 Then For Each c As generalledger_master_opening_balance_detail_dtl In OpeningBalanceService.detailSaveDtl SQLStr2 = SQLStr2 & " INSERT INTO GENERALLEDGER_MASTER_Opening_Balance_Detail_Dtl" SQLStr2 = SQLStr2 & " ([uoid_OpeningBalanceDetail_Dtl]" SQLStr2 = SQLStr2 & " ,[uoid_OpeningBalance_Dtl]" SQLStr2 = SQLStr2 & " ,[uoid_AnalysisType]" SQLStr2 = SQLStr2 & " ,[uoid_AnalysisCode]" SQLStr2 = SQLStr2 & " ,[isBlock]" SQLStr2 = SQLStr2 & " ,[amount]" SQLStr2 = SQLStr2 & " ,[rate]" SQLStr2 = SQLStr2 & " ,[homeCurrencyAmount])" SQLStr2 = SQLStr2 & " VALUES (" If IsNothing(c.uoid_OpeningBalanceDetail_Dtl) = True Or c.uoid_OpeningBalanceDetail_Dtl = String.Empty Then SQLStr2 = SQLStr2 & " NULL " Else SQLStr2 = SQLStr2 & " " & iManager.FmtStr(c.uoid_OpeningBalanceDetail_Dtl) & " " End If

If IsNothing(c.uoid_OpeningBalance_Dtl) = True Or c.uoid_OpeningBalance_Dtl = String.Empty Then SQLStr2 = SQLStr2 & " , NULL " Else SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(c.uoid_OpeningBalance_Dtl) & " " End If If IsNothing(c.uoid_AnalysisType) = True Or c.uoid_AnalysisType = String.Empty Then SQLStr2 = SQLStr2 & " , NULL " Else SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(c.uoid_AnalysisType) & " " End If If IsNothing(c.uoid_AnalysisCode) = True Or c.uoid_AnalysisCode = String.Empty Then SQLStr2 = SQLStr2 & " , NULL" Else SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(c.uoid_AnalysisCode) & " " End If SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(c.isBlock) & " " SQLStr2 = SQLStr2 & " , " & c.amount & " " SQLStr2 = SQLStr2 & " , " & c.rate & " " SQLStr2 = SQLStr2 & " , " & c.homeCurrencyAmount & " )" Next End If

For i As Integer = 0 To properties.Length - 1 Dim value As Object = propertiesEntity(i).GetValue(strObj, Nothing) If properties(i).Name = "IsPosted" Then If properties(i).Name = "IsPosted" And value = 1 Then Select Case obj.ToString.ToLower Case "generalledger_master_opening_balance_hdr" SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " INSERT INTO [GENERALLEDGER_SUMMARY_Journal_Hdr]" & vbCrLf

17 | P a g e

SQLStr2 = SQLStr2 & " ([uoid_Summary_Hdr]" & vbCrLf SQLStr2 = SQLStr2 & " ,[voucherNumber]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_JournalEntity]" & vbCrLf SQLStr2 = SQLStr2 & " ,[Uoid_AdministrativeUnit]" & vbCrLf SQLStr2 = SQLStr2 & " ,[JournalDate]" & vbCrLf SQLStr2 = SQLStr2 & " ,[referenceNumber]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_book]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_AccountingPeriod]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_Currency]" & vbCrLf SQLStr2 = SQLStr2 & " ,[voucherTotal]" & vbCrLf SQLStr2 = SQLStr2 & " ,[month_year]" & vbCrLf SQLStr2 = SQLStr2 & " ,[seqNo], Type)" & vbCrLf SQLStr2 = SQLStr2 & " VALUES (" & vbCrLf SQLStr2 = SQLStr2 & " " & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.uoid_Summary_Hdr) & " " & vbCrLf If IsNothing(OpeningBalanceService.detailSaveJurnalHdr.voucherNumber) = False Then SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.voucherNumber) & " " & vbCrLf Else

SQLStr2 = SQLStr2 & " ,NULL" & vbCrLf End If

If IsNothing(OpeningBalanceService.detailSaveJurnalHdr.uoid_JournalEntity) = True Then SQLStr2 = SQLStr2 & " , NULL " & vbCrLf Else SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.uoid_JournalEntity) & " " & vbCrLf End If SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.Uoid_AdministrativeUnit) & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.JournalDate) & " " & vbCrLf If IsNothing(OpeningBalanceService.detailSaveJurnalHdr.referenceNumber) = True Then SQLStr2 = SQLStr2 & " , NULL " & vbCrLf Else SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.referenceNumber) & " " & vbCrLf End If If IsNothing(OpeningBalanceService.detailSaveJurnalHdr.uoid_book) = True Then SQLStr2 = SQLStr2 & " , NULL " & vbCrLf Else SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.uoid_book) & " " & vbCrLf End If SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.uoid_AccountingPeriod) & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.uoid_Currency) & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.voucherTotal) & " " & vbCrLf If OpeningBalanceService.detailSaveJurnalHdr.month_year <> "0001-01-01" Then SQLStr2 = SQLStr2 & " ," & iManager.FmtDate(OpeningBalanceService.detailSaveJurnalHdr.month_year) & " " & vbCrLf Else SQLStr2 = SQLStr2 & " , NULL " & vbCrLf End If If IsNothing(OpeningBalanceService.detailSaveJurnalHdr.seqNo) = False Then SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.seqNo) & " " & vbCrLf Else SQLStr2 = SQLStr2 & " ,NULL " & vbCrLf End If SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.type) & ") " & vbCrLf

For Each d As generalledger_summary_journal_dtl In OpeningBalanceService.detailSaveJurnaldtl SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " INSERT INTO GENERALLEDGER_SUMMARY_Journal_Dtl " & vbCrLf

18 | P a g e

SQLStr2 = SQLStr2 & " ([uoid_Summary_Dtl]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_Summary_Hdr]" & vbCrLf SQLStr2 = SQLStr2 & " ,[Uoid_Account_Hdr]" & vbCrLf SQLStr2 = SQLStr2 & " ,[originalAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[originalDebitAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[originalCreditAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[rate]" & vbCrLf SQLStr2 = SQLStr2 & " ,[homeCurrencyAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[homeAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[homeDebitAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[homeCreditAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[Narration])" & vbCrLf SQLStr2 = SQLStr2 & " VALUES (" & vbCrLf SQLStr2 = SQLStr2 & " '" & generateUUID() & "' " & vbCrLf SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(d.uoid_Summary_Hdr) & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(d.Uoid_Account_Hdr) & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.originalAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.originalDebitAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.originalCreditAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.rate & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.homeCurrencyAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.homeAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.homeDebitAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.homeCreditAmount & " " & vbCrLf If IsNothing(d.Narration) = True Then SQLStr2 = SQLStr2 & " , NULL) " & vbCrLf Else SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(d.Narration) & " ) " End If

Next End Select End If End If Next ElseIf enumEvent = 2 Then For i As Integer = 0 To properties.Length - 1 Dim value As Object = propertiesEntity(i).GetValue(strObj, Nothing) If IsNothing(value) = False Then

If properties(i).Name.ToLower = "group" Then strField = "[" & properties(i).Name & "]" Else strField = properties(i).Name End If If i = 0 Then If properties(i).Name.ToLower = sPrimaryKey.ToLower Then strWhereValue &= " " & strField & " = '" & value.ToString & "'" ' strValue &= generateUUID() Else If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) OrElse properties(i).PropertyType = GetType(DateTime) Then strWhere = " " & strField & " = '" & value & "'" Else strWhere = " " & strField & " = '" & value & "'" End If End If

Else If properties(i).Name.ToLower = sPrimaryKey.ToLower Then strWhereValue &= " " & strField & " = '" & value.ToString & "'" 'strValue &= generateUUID() Else

If strWhereValue <> String.Empty Then If strWhere <> String.Empty Then If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) OrElse properties(i).PropertyType =

19 | P a g e

GetType(DateTime) Then strWhere &= ", " & strField & " = '" & value & "'" Else strWhere &= ", " & strField & " = '" & value & "'" End If Else If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) OrElse properties(i).PropertyType = GetType(DateTime) Then strWhere &= " " & strField & " = '" & value & "'" Else strWhere &= " " & strField & " = '" & value & "'" End If

End If Else If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) OrElse properties(i).PropertyType = GetType(DateTime) Then strWhere &= ", " & strField & " = '" & value & "'" Else strWhere &= ", " & strField & " = '" & value & "'" End If End If

End If End If End If ' strField = properties(i).Name Next SQLStr = SQLStr & " " & vbCrLf SQLStr = SQLStr & " UPDATE " + sTable SQLStr = SQLStr & " SET " + strWhere + " " SQLStr = SQLStr & " FROM " + sTable SQLStr = SQLStr & " WHERE " + strWhereValue + " "

If TableDetailData.Count > 0 Then Select Case obj.ToString.ToLower Case "generalledger_master_account_hdr" SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " DELETE FROM [GENERALLEDGER_MASTER_Account_Dtl] " SQLStr2 = SQLStr2 & " WHERE " + strWhereValue + " "

For c = 0 To TableDetailData.Count - 1

generalledgermasteraccountdetail = CType(TableDetailData(c), generalledger_master_account_dtl)

SQLStr2 = SQLStr2 & " " SQLStr2 = SQLStr2 & " " SQLStr2 = SQLStr2 & " INSERT INTO [GENERALLEDGER_MASTER_Account_Dtl]" SQLStr2 = SQLStr2 & " ([Uoid_Account_Dtl]" SQLStr2 = SQLStr2 & " ,[Uoid_Account_Hdr]" SQLStr2 = SQLStr2 & " ,[Uoid_AdministrativeUnit])" SQLStr2 = SQLStr2 & " VALUES " SQLStr2 = SQLStr2 & " ( " & iManager.FmtStr(generalledgermasteraccountdetail.Uoid_Account_Dtl) & " " SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(generalledgermasteraccountdetail.Uoid_Account_Hdr) & " " SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(generalledgermasteraccountdetail.Uoid_AdministrativeUnit) & ") " Next

Case "generalledger_master_opening_balance_hdr"

For c = 0 To TableDetailData.Count - 1 openDtl = CType(TableDetailData(c), generalledger_master_opening_balance_dtl) SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " DELETE FROM GENERALLEDGER_MASTER_Opening_Balance_Detail_Dtl" SQLStr2 = SQLStr2 & " WHERE [uoid_OpeningBalance_Dtl]= '" + openDtl.uoid_OpeningBalance_Dtl + "' " Next

20 | P a g e

SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " DELETE FROM GENERALLEDGER_MASTER_Opening_Balance_Dtl" SQLStr2 = SQLStr2 & " WHERE " + strWhereValue + " "

For c = 0 To TableDetailData.Count - 1 openDtl = CType(TableDetailData(c), generalledger_master_opening_balance_dtl)

SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " INSERT INTO GENERALLEDGER_MASTER_Opening_Balance_Dtl" & vbCrLf SQLStr2 = SQLStr2 & " ([uoid_OpeningBalance_Dtl]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_OpeningBalance_Hdr]" & vbCrLf SQLStr2 = SQLStr2 & " ,[Uoid_Account_Hdr]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_Currency]" & vbCrLf SQLStr2 = SQLStr2 & " ,[homeCurrencyAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[originalCurrencyAmount])" & vbCrLf SQLStr2 = SQLStr2 & " VALUES( " & vbCrLf SQLStr2 = SQLStr2 & " " & iManager.FmtStr(openDtl.uoid_OpeningBalance_Dtl) & " " & vbCrLf SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(openDtl.uoid_OpeningBalance_Hdr) & " " & vbCrLf SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(openDtl.Uoid_Account_Hdr) & " " & vbCrLf If IsNothing(openDtl.uoid_Currency) = True Then SQLStr2 = SQLStr2 & " , NULL " Else SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(openDtl.uoid_Currency) & " " & vbCrLf End If

SQLStr2 = SQLStr2 & " , " & openDtl.homeCurrencyAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " , " & openDtl.originalCurrencyAmount & ") " & vbCrLf

Next

If OpeningBalanceService.detailSaveDtl.Count > 0 Then For Each c As generalledger_master_opening_balance_detail_dtl In OpeningBalanceService.detailSaveDtl SQLStr2 = SQLStr2 & " INSERT INTO GENERALLEDGER_MASTER_Opening_Balance_Detail_Dtl" SQLStr2 = SQLStr2 & " ([uoid_OpeningBalanceDetail_Dtl]" SQLStr2 = SQLStr2 & " ,[uoid_OpeningBalance_Dtl]" SQLStr2 = SQLStr2 & " ,[uoid_AnalysisType]" SQLStr2 = SQLStr2 & " ,[uoid_AnalysisCode]" SQLStr2 = SQLStr2 & " ,[isBlock]" SQLStr2 = SQLStr2 & " ,[amount]" SQLStr2 = SQLStr2 & " ,[rate]" SQLStr2 = SQLStr2 & " ,[homeCurrencyAmount])" SQLStr2 = SQLStr2 & " VALUES (" If IsNothing(c.uoid_OpeningBalanceDetail_Dtl) = True Or c.uoid_OpeningBalanceDetail_Dtl = String.Empty Then SQLStr2 = SQLStr2 & " NULL " Else SQLStr2 = SQLStr2 & " " & iManager.FmtStr(c.uoid_OpeningBalanceDetail_Dtl) & " " End If

If IsNothing(c.uoid_OpeningBalance_Dtl) = True Or c.uoid_OpeningBalance_Dtl = String.Empty Then SQLStr2 = SQLStr2 & " , NULL " Else SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(c.uoid_OpeningBalance_Dtl) & " " End If If IsNothing(c.uoid_AnalysisType) = True Or c.uoid_AnalysisType = String.Empty Then SQLStr2 = SQLStr2 & " , NULL " Else SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(c.uoid_AnalysisType) & " " End If If IsNothing(c.uoid_AnalysisCode) = True Or c.uoid_AnalysisCode = String.Empty Then

21 | P a g e

SQLStr2 = SQLStr2 & " , NULL" Else SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(c.uoid_AnalysisCode) & " " End If SQLStr2 = SQLStr2 & " , " & iManager.FmtStr(c.isBlock) & " " SQLStr2 = SQLStr2 & " , " & c.amount & " " SQLStr2 = SQLStr2 & " , " & c.rate & " " SQLStr2 = SQLStr2 & " , " & c.homeCurrencyAmount & " )" Next End If

For i As Integer = 0 To properties.Length - 1 Dim value As Object = propertiesEntity(i).GetValue(strObj, Nothing) If properties(i).Name = "IsPosted" Then If properties(i).Name = "IsPosted" And value = 1 Then Select Case obj.ToString.ToLower Case "generalledger_master_opening_balance_hdr" SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " INSERT INTO [GENERALLEDGER_SUMMARY_Journal_Hdr]" & vbCrLf SQLStr2 = SQLStr2 & " ([uoid_Summary_Hdr]" & vbCrLf SQLStr2 = SQLStr2 & " ,[voucherNumber]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_JournalEntity]" & vbCrLf SQLStr2 = SQLStr2 & " ,[Uoid_AdministrativeUnit]" & vbCrLf SQLStr2 = SQLStr2 & " ,[JournalDate]" & vbCrLf SQLStr2 = SQLStr2 & " ,[referenceNumber]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_book]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_AccountingPeriod]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_Currency]" & vbCrLf SQLStr2 = SQLStr2 & " ,[voucherTotal]" & vbCrLf SQLStr2 = SQLStr2 & " ,[month_year]" & vbCrLf SQLStr2 = SQLStr2 & " ,[seqNo], Type)" & vbCrLf SQLStr2 = SQLStr2 & " VALUES (" & vbCrLf SQLStr2 = SQLStr2 & " " & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.uoid_Summary_Hdr) & " " & vbCrLf If IsNothing(OpeningBalanceService.detailSaveJurnalHdr.voucherNumber) = False Then SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.voucherNumber) & " " & vbCrLf Else

SQLStr2 = SQLStr2 & " ,NULL" & vbCrLf End If

If IsNothing(OpeningBalanceService.detailSaveJurnalHdr.uoid_JournalEntity) = True Then SQLStr2 = SQLStr2 & " , NULL " & vbCrLf Else SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.uoid_JournalEntity) & " " & vbCrLf End If SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.Uoid_AdministrativeUnit) & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.JournalDate) & " " & vbCrLf If IsNothing(OpeningBalanceService.detailSaveJurnalHdr.referenceNumber) = True Then SQLStr2 = SQLStr2 & " , NULL " & vbCrLf Else SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.referenceNumber) & " " & vbCrLf End If If IsNothing(OpeningBalanceService.detailSaveJurnalHdr.uoid_book) = True Then SQLStr2 = SQLStr2 & " , NULL " & vbCrLf Else SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.uoid_book) & " " & vbCrLf End If SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.uoid_AccountingPeriod) & " " &

22 | P a g e

vbCrLf SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.uoid_Currency) & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.voucherTotal) & " " & vbCrLf If OpeningBalanceService.detailSaveJurnalHdr.month_year <> "0001-01-01" Then SQLStr2 = SQLStr2 & " ," & iManager.FmtDate(OpeningBalanceService.detailSaveJurnalHdr.month_year) & " " & vbCrLf Else SQLStr2 = SQLStr2 & " , NULL " & vbCrLf End If If IsNothing(OpeningBalanceService.detailSaveJurnalHdr.seqNo) = False Then SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.seqNo) & " " & vbCrLf Else SQLStr2 = SQLStr2 & " ,NULL " & vbCrLf End If SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(OpeningBalanceService.detailSaveJurnalHdr.type) & ") " & vbCrLf

For Each d As generalledger_summary_journal_dtl In OpeningBalanceService.detailSaveJurnaldtl SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " INSERT INTO GENERALLEDGER_SUMMARY_Journal_Dtl " & vbCrLf SQLStr2 = SQLStr2 & " ([uoid_Summary_Dtl]" & vbCrLf SQLStr2 = SQLStr2 & " ,[uoid_Summary_Hdr]" & vbCrLf SQLStr2 = SQLStr2 & " ,[Uoid_Account_Hdr]" & vbCrLf SQLStr2 = SQLStr2 & " ,[originalAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[originalDebitAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[originalCreditAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[rate]" & vbCrLf SQLStr2 = SQLStr2 & " ,[homeCurrencyAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[homeAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[homeDebitAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[homeCreditAmount]" & vbCrLf SQLStr2 = SQLStr2 & " ,[Narration])" & vbCrLf SQLStr2 = SQLStr2 & " VALUES (" & vbCrLf SQLStr2 = SQLStr2 & " '" & generateUUID() & "' " & vbCrLf SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(d.uoid_Summary_Hdr) & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(d.Uoid_Account_Hdr) & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.originalAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.originalDebitAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.originalCreditAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.rate & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.homeCurrencyAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.homeAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.homeDebitAmount & " " & vbCrLf SQLStr2 = SQLStr2 & " ," & d.homeCreditAmount & " " & vbCrLf If IsNothing(d.Narration) = True Then SQLStr2 = SQLStr2 & " , NULL) " & vbCrLf Else SQLStr2 = SQLStr2 & " ," & iManager.FmtStr(d.Narration) & " ) "

23 | P a g e

End If

Next End Select End If End If Next End Select Else Select Case obj.ToString.ToLower 'Master Account Case "generalledger_master_account_hdr" SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " DELETE FROM [GENERALLEDGER_MASTER_Account_Dtl] " SQLStr2 = SQLStr2 & " WHERE " + strWhereValue + " "

'Master Opening Balance Case "generalledger_master_opening_balance_hdr"

'SQLStr2 = SQLStr2 & " " & vbCrLf 'SQLStr2 = SQLStr2 & " DELETE FROM GENERALLEDGER_MASTER_Opening_Balance_Dtl" 'SQLStr2 = SQLStr2 & " WHERE " + strWhereValue + " "

'For c = 0 To TableDetailData.Count - 1 ' openDtl = CType(TableDetailData(c), generalledger_master_opening_balance_dtl)

' SQLStr2 = SQLStr2 & " " & vbCrLf ' SQLStr2 = SQLStr2 & " DELETE FROM GENERALLEDGER_MASTER_Opening_Balance_Detail_Dtl" ' SQLStr2 = SQLStr2 & " WHERE [uoid_OpeningBalance_Dtl]= '" + openDtl.uoid_OpeningBalance_Dtl + "' " 'Next

Dim sSQLStr As String Dim rd As DbDataReader

sSQLStr = "SELECT * FROM GENERALLEDGER_MASTER_Opening_Balance_Dtl" sSQLStr &= " WHERE " + strWhereValue + " " rd = iManager.ExecuteDataReader(sSQLStr) If rd.HasRows Then While rd.Read() 'sUoidAccountingPeriode = rd.Item("uoid_AccountingPeriod").ToString 'isStatrusPeriode = rd.Item("status").ToString SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " DELETE FROM GENERALLEDGER_MASTER_Opening_Balance_Detail_Dtl" SQLStr2 = SQLStr2 & " WHERE [uoid_OpeningBalance_Dtl]= '" + rd.Item("uoid_OpeningBalance_Dtl").ToString + "' " End While End If rd.Close() rd = Nothing

'For c = 0 To TableDetailData.Count - 1 ' openDtl = CType(TableDetailData(c), generalledger_master_opening_balance_dtl) ' SQLStr2 = SQLStr2 & " " & vbCrLf ' SQLStr2 = SQLStr2 & " DELETE FROM GENERALLEDGER_MASTER_Opening_Balance_Detail_Dtl" ' SQLStr2 = SQLStr2 & " WHERE [uoid_OpeningBalance_Dtl]= '" + openDtl.uoid_OpeningBalance_Dtl + "' " 'Next

SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " DELETE FROM GENERALLEDGER_MASTER_Opening_Balance_Dtl" SQLStr2 = SQLStr2 & " WHERE " + strWhereValue + " " End Select

End If

ElseIf enumEvent = 3 Then For i As Integer = 0 To properties.Length - 1 Dim value As Object = propertiesEntity(i).GetValue(strObj, Nothing) If IsNothing(value) = False Then

24 | P a g e

' strField = properties(i).Name

If properties(i).Name.ToLower = "group" Then strField += "[" & properties(i).Name & "]" Else strField += properties(i).Name End If

If properties(i).Name.ToLower = sPrimaryKey.ToLower Then strWhereValue &= " " & strField & " = '" & value.ToString & "'" Exit For End If End If Next

'SQLStr = SQLStr & " " & vbCrLf 'SQLStr = SQLStr & " DELETE " + sTable 'SQLStr = SQLStr & " FROM " + sTable 'SQLStr = SQLStr & " WHERE " + strWhereValue + " "

Select Case obj.ToString.ToLower Case "generalledger_master_account_hdr" SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " DELETE FROM [GENERALLEDGER_MASTER_Account_Dtl] " SQLStr2 = SQLStr2 & " WHERE " + strWhereValue + " " Case "generalledger_master_opening_balance_hdr" Dim sSQLStr As String Dim rd As DbDataReader

sSQLStr = "SELECT * FROM GENERALLEDGER_MASTER_Opening_Balance_Dtl" sSQLStr &= " WHERE " + strWhereValue + " " rd = iManager.ExecuteDataReader(sSQLStr) If rd.HasRows Then While rd.Read() 'sUoidAccountingPeriode = rd.Item("uoid_AccountingPeriod").ToString 'isStatrusPeriode = rd.Item("status").ToString SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " DELETE FROM GENERALLEDGER_MASTER_Opening_Balance_Detail_Dtl" SQLStr2 = SQLStr2 & " WHERE [uoid_OpeningBalance_Dtl]= '" + rd.Item("uoid_OpeningBalance_Dtl").ToString + "' " End While End If rd.Close() rd = Nothing

'For c = 0 To TableDetailData.Count - 1 ' openDtl = CType(TableDetailData(c), generalledger_master_opening_balance_dtl) ' SQLStr2 = SQLStr2 & " " & vbCrLf ' SQLStr2 = SQLStr2 & " DELETE FROM GENERALLEDGER_MASTER_Opening_Balance_Detail_Dtl" ' SQLStr2 = SQLStr2 & " WHERE [uoid_OpeningBalance_Dtl]= '" + openDtl.uoid_OpeningBalance_Dtl + "' " 'Next

SQLStr2 = SQLStr2 & " " & vbCrLf SQLStr2 = SQLStr2 & " DELETE FROM GENERALLEDGER_MASTER_Opening_Balance_Dtl" SQLStr2 = SQLStr2 & " WHERE " + strWhereValue + " "

End Select

SQLStrBegin = " SET NOCOUNT ON" SQLStrBegin = SQLStrBegin & " declare @vErr smallint" SQLStrBegin = SQLStrBegin & " declare @SeqNum varchar(100)" SQLStrBegin = SQLStrBegin & " set @vErr = 0" SQLStrBegin = SQLStrBegin & " begin tran " SQLStrEnd = " if (@vErr = 0)" SQLStrEnd = SQLStrEnd & " commit tran" SQLStrEnd = SQLStrEnd & " else" SQLStrEnd = SQLStrEnd & " rollback tran" SQLStrEnd = SQLStrEnd & " select @vErr, @SeqNum " SQLStr2 = SQLStrBegin & SQLStr2 & SQLStrEnd

Dim Cmd As New SqlCommand Dim Rs As SqlDataReader

25 | P a g e

Dim eErr As Integer Try eConn = cs.GetService(datasource) Cmd.Connection = eConn Cmd.CommandTimeout = 1200 Cmd.CommandText = SQLStr2 Rs = Cmd.ExecuteReader If Rs.HasRows Then While Rs.Read() eErr = Rs.Item(0) End While End If Catch ex As Exception Finally

Rs.Close() Cmd.Dispose() Cmd = Nothing

eConn.Close() eConn = Nothing End Try

SQLStr2 = String.Empty SQLStrBegin = String.Empty SQLStrEnd = String.Empty

SQLStr = SQLStr & " DELETE FROM " + sTable SQLStr = SQLStr & " WHERE " + strWhereValue + " "

End If

SQLStr = SQLStr & " if (@@ERROR <> 0) " SQLStr = SQLStr & " set @vErr = @vErr + 1 "

SQLStrBegin = " SET NOCOUNT ON" SQLStrBegin = SQLStrBegin & " declare @vErr smallint" SQLStrBegin = SQLStrBegin & " declare @SeqNum varchar(100)" SQLStrBegin = SQLStrBegin & " set @vErr = 0" SQLStrBegin = SQLStrBegin & " begin tran " SQLStrEnd = " if (@vErr = 0)" SQLStrEnd = SQLStrEnd & " commit tran" SQLStrEnd = SQLStrEnd & " else" SQLStrEnd = SQLStrEnd & " rollback tran" SQLStrEnd = SQLStrEnd & " select @vErr, @SeqNum " If SQLStr2 <> String.Empty Then SQLStr = SQLStrBegin & SQLStr & SQLStr2 & SQLStrEnd 'SQLStr = SQLStrBegin & SQLStr & SQLStrEnd Else SQLStr = SQLStrBegin & SQLStr & SQLStrEnd End If

Return SQLStr End Function

c. StringSavingSQL (yang digunakan sekarang)

Public Function stringSavingSQL(ByVal strObj As T, ByVal sTable As String, ByVal enumEvent As Integer, ByVal sPrimaryKey As String) As String Implements IGenericADOImpl(Of T).stringSavingSQL Dim SQLStr As String = "" Dim SQLStrBegin As String = "" Dim SQLStrEnd As String = ""

'Keterangan enumEvent ' 1 = Insert ' 2 = Update ' 3 = Delete

Dim obj As Type = GetType(T) Dim cls As Type = GetType(T) Dim strField As String = String.Empty Dim strValue As String = String.Empty Dim strWhere As String = String.Empty Dim strWhereValue As String = String.Empty Dim instance As T = DirectCast(Activator.CreateInstance(obj, True), T)

26 | P a g e

'Type cls = instance.GetType();

Dim propertiesEntity As PropertyInfo() = cls.GetProperties(BindingFlags.Public Or BindingFlags.Instance) Dim properties As PropertyInfo() = obj.GetProperties(BindingFlags.Public Or BindingFlags.Instance) SQLStr = "" SQLStr = SQLStr & " SET @SeqNum = NEWID() " If enumEvent = 1 Then For i As Integer = 0 To properties.Length - 1 Dim value As Object = propertiesEntity(i).GetValue(strObj, Nothing) If i = 0 Then

If properties(i).Name.ToLower = sPrimaryKey.ToLower Then 'strValue &= " @SeqNum " If i = 0 Then strValue = " '" & generateUUID() & "' " Else strValue &= " '" & generateUUID() & "' " End If

Else If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then If IsNothing(value) = True OrElse value = String.Empty Then If Mid(properties(i).Name.ToLower, 1, 4) = "uoid" Then strValue &= " NULL" ElseIf properties(i).Name.ToLower = "transaction_state" Then strValue &= " NULL" ElseIf properties(i).Name.ToLower = "voucherNumber" Then strValue &= " NULL" Else strValue &= " ''" End If Else strValue &= " '" & value & "'" End If

ElseIf properties(i).PropertyType = GetType(DateTime) Then If value = "0001-01-01" Then strValue &= " NULL" Else 'strValue &= " " & iManager.FmtDateTime(value) & " " If (properties(i).Name.ToLower = "dtlastmodified") Or ((properties(i).Name.ToLower) = "lastmodified") Then strValue &= " " & iManager.FmtDateTime(DateTime.Now) & " " Else strValue &= " " & iManager.FmtDateTime(value) & " " End If End If

Else strValue &= " " & value & " " End If End If If properties(i).Name.ToLower = "group" Then strField += "[" & properties(i).Name & "]" Else strField += properties(i).Name End If

Else If properties(i).Name.ToLower = sPrimaryKey.ToLower Then strValue &= ",'" + generateUUID() + "' " Else If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then If IsNothing(value) = True OrElse value = String.Empty Then If Mid(properties(i).Name.ToLower, 1, 4) = "uoid" Then strValue &= ", NULL" ElseIf properties(i).Name.ToLower = "transaction_state" Then strValue &= ", NULL" ElseIf properties(i).Name.ToLower = "voucherNumber" Then strValue &= ", NULL" Else strValue &= ", ''" End If

27 | P a g e

Else strValue &= ", '" & value & "'" End If

ElseIf properties(i).PropertyType = GetType(DateTime) Then If value = "0001-01-01" Then strValue &= ", NULL" Else 'strValue &= ", " & iManager.FmtDateTime(value) & " " If (properties(i).Name.ToLower = "dtlastmodified") Or ((properties(i).Name.ToLower) = "lastmodified") Then strValue &= ", " & iManager.FmtDateTime(DateTime.Now) & " " Else strValue &= ", " & iManager.FmtDateTime(value) & " " End If End If Else strValue &= ", " & value & " " End If End If If properties(i).Name.ToLower = "group" Then strField += ",[" & properties(i).Name & "]" Else strField += "," + properties(i).Name End If End If Next

SQLStr = SQLStr & " INSERT INTO " + sTable SQLStr = SQLStr & " ( " + strField + " )" SQLStr = SQLStr & " VALUES(" + strValue + " )"

ElseIf enumEvent = 2 Then For i As Integer = 0 To properties.Length - 1 Dim value As Object = propertiesEntity(i).GetValue(strObj, Nothing) If IsNothing(value) = False Then ' strField = properties(i).Name If properties(i).Name.ToLower = "group" Then strField = "[" & properties(i).Name & "]" Else strField = properties(i).Name End If If i = 0 Then If properties(i).Name.ToLower = sPrimaryKey.ToLower Then strWhereValue &= " " & strField & " = '" & value.ToString & "'" Else If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then If IsNothing(value) = True OrElse value = String.Empty Then strWhere = " " & strField & " = NULL" Else strWhere = " " & strField & " = '" & value & "'" End If

ElseIf properties(i).PropertyType = GetType(DateTime) Then

If value = "0001-01-01" Then strValue &= " NULL" Else 'strValue &= " " & iManager.FmtDateTime(value) & " " If (properties(i).Name.ToLower = "dtlastmodified") Or ((properties(i).Name.ToLower) = "lastmodified") Then strWhere &= " " & strField & " = " & iManager.FmtDateTime(DateTime.Now) & " " Else strWhere &= " " & strField & " = " & iManager.FmtDateTime(value) & " " End If End If Else

strWhere = " " & strField & " = " & value & "" End If End If

Else If properties(i).Name.ToLower = sPrimaryKey.ToLower Then

28 | P a g e

strWhereValue &= " " & strField & " = '" & value.ToString & "'"

Else

If strWhereValue <> String.Empty Then If strWhere <> String.Empty Then

If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then If IsNothing(value) = True OrElse value = String.Empty Then

strWhere &= ", " & strField & " = NULL " Else

strWhere &= ", " & strField & " = '" & value & "'" End If

ElseIf properties(i).PropertyType = GetType(DateTime) Then

If value = "0001-01-01" Then strValue &= ", NULL" Else If (properties(i).Name.ToLower = "dtlastmodified") Or ((properties(i).Name.ToLower) = "lastmodified") Then strWhere &= " ," & strField & " = " & iManager.FmtDateTime(DateTime.Now) & " " Else strWhere &= " , " & strField & " = " & iManager.FmtDateTime(value) & " " End If

End If Else

strWhere &= ", " & strField & " = " & value & "" End If Else

If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then If IsNothing(value) = True OrElse value = String.Empty Then

strWhere &= " " & strField & " = NULL " Else

strWhere &= " " & strField & " = '" & value & "'" End If

ElseIf properties(i).PropertyType = GetType(DateTime) Then If value = "0001-01-01" Then strValue &= ", NULL" Else 'strValue &= ", " & iManager.FmtDateTime(value) & " " If (properties(i).Name.ToLower = "dtlastmodified") Or ((properties(i).Name.ToLower) = "lastmodified") Then strWhere &= " ," & strField & " = " & iManager.FmtDateTime(DateTime.Now) & " " Else strWhere &= " ," & strField & " = " & iManager.FmtDateTime(value) & " " End If End If Else strWhere &= " " & strField & " = " & value & "" End If

End If Else

If properties(i).PropertyType = GetType(String) OrElse properties(i).PropertyType = GetType(Char) Then

29 | P a g e

If IsNothing(value) = True OrElse value = String.Empty Then strWhere &= ", " & strField & " = NULL " Else strWhere &= ", " & strField & " = '" & value & "'" End If

ElseIf properties(i).PropertyType = GetType(DateTime) Then If value = "0001-01-01" Then strValue &= ", NULL" Else 'strValue &= ", " & iManager.FmtDateTime(value) & " " If (properties(i).Name.ToLower = "dtlastmodified") Or ((properties(i).Name.ToLower) = "lastmodified") Then strWhere &= " ," & strField & " = " & iManager.FmtDateTime(DateTime.Now) & " " Else strWhere &= " ," & strField & " = " & iManager.FmtDateTime(value) & " " End If

End If

Else If strWhere.ToString = String.Empty Then strWhere &= " " & strField & " = " & value & "" Else strWhere &= ", " & strField & " = " & value & "" End If

End If End If

End If End If End If Next

SQLStr = SQLStr & " UPDATE " + sTable SQLStr = SQLStr & " SET " + strWhere + " " SQLStr = SQLStr & " FROM " + sTable SQLStr = SQLStr & " WHERE " + strWhereValue + " " ElseIf enumEvent = 3 Then

For i As Integer = 0 To properties.Length - 1 Dim value As Object = propertiesEntity(i).GetValue(strObj, Nothing) If IsNothing(value) = False Then ' strField = properties(i).Name strField = String.Empty If properties(i).Name.ToLower = "group" Then strField += "[" & properties(i).Name & "]" Else strField += properties(i).Name End If

If properties(i).Name.ToLower = sPrimaryKey.ToLower Then strWhereValue &= " " & strField & " = '" & value.ToString & "'" Exit For End If End If Next SQLStr = SQLStr & " DELETE FROM " + sTable SQLStr = SQLStr & " WHERE " + strWhereValue + " " End If Return SQLStr End Function

d. Perbedaan dari ketiga Function tersebutPerbedaan dari ketiga function tersebut pada penempatan pernyataan roolback and commit sql.

3. Menjalankan serviceDengan cara tekan f5 di class Entity Service dan akan nampil seperti dibawah ini.

30 | P a g e

4. Compile servicea. Langkah pertama untuk mengcompile service adalah build project dengan cara klik

kanan project pilih build web site. Jika ada kata Build succeeded di pojok kiri bawah berarti build berhasil dilaksanakan.

b. Langkah kedua adalah publish web site dengan cara klik kanan project pilih publish web site.

31 | P a g e

c. Akan muncul dialog publish web site seperti gambar berikut :

d. Folder penempatan hasil compile yang dilakukan diatas berada di alamat folder yang berada di target location. Peletakan hasil compile bisa dirubah sesuai keinginan user yang mengcompile dengan memlih lokasi hasil compile di btn browse target location

e. Setelah yakin memilih lokasi folder langkah selanjutnya pilih OK.f. Jika muncul dialog seperti gambar dibawah ini, menandakan bahwa user pernah

melakukan compile dan akan didelete digantikan hasil compile yang terbaru. Pilih Yes.

32 | P a g e

g. Jika dilayar visual studio 2010 pojok kiri bawah keluar publish succeded maka publish web site berhasil dilakukan dan siap untuk di upload di server

h. Compile service finish.

5. Install servicea. Jika aspnet belum di isntal, terlebih dahulu install aspnet framework v.4 dengan

menggunakan console seperti berikut:

b. Hasil console jika telah succes di install

33 | P a g e

c. Copikan hasil compile service yang telah dilakukan tadi letakan di folder wwroot. Wwroot sendiri biasanya terletak di Local Disk(c) dengan alamat folder C:\inetpub\wwwroot pastekan hasil compile tadi di folder tersebut.

d. Buka IIS Manager yang berada di Control Panel dengan cara buka Administrative Tools pilih Internet Information Services (IIS) Manager

34 | P a g e

e. Muncul dialog IIS Manager seperti dibawah ini

f. Setting application pool dengan cara klik kanan application pool add application pool

35 | P a g e

g. Muncul dialog add application pool, isi Name : Bis pilih net framework version : net framework v4 pilih ok

h. Jika setting pool berhasil maka pool yang dibuat tadi akan muncul di list application pool, seperti gambar berikut :

i. Setelah itu pilih folder default web site kilik kanan folder bis pilih convert to application, dan akan muncul dialog seperti dibawah ini.

36 | P a g e

j. Selanjutnya pilih setingan pool yang telah dibuat tadi pilih OK, seperti gambar berikut :

k. Setelah memilih application pool lalu pilih OK, tampilan dialog Add Aplication akan seperti gambar berikut,

37 | P a g e

l. Folder yang telah di convert application tadi akan berubah bentuk dari bentuk Folder menjadi Simbol Web Service

m. Uploading service in server done.n. Keep Spirit guys.

38 | P a g e

LEMBAR SERAH TERIMA DOCUMENTASI

1. Riset & Devopment

Tanggal : ……………………………………….. (Hadi Budiman)

2. Supervisor Riset & Devopment

Tanggal : ……………………………………….. (Wawan Dharmawan.)

3. Pimpinan Departemen IT

Tanggal : ……………………………………….. (Bambang Eko)

39 | P a g e