Imports System.Xml Imports System.Data.SqlClient Imports System.Data.SqlTypes Imports System.IO Imports System.Reflection Module Module1 Dim Connectionstring As String Dim Journalfile As String Dim Sim As Boolean Dim MainQuery1 As String Dim MainQuery2 As String Dim MainQuery3 As String Dim MainQuery4 As String Dim MainQuery5 As String Dim SqlConn As New SqlConnection Dim SqlCmd As New SqlCommand Dim Sourcedaten As New DataSet Sub Main() Dim i As Integer Get_Param() FileOpen(1, Journalfile, OpenMode.Output) Printlog("Start: " + Now.ToString) Printlog("SQL-Connection: " + Connectionstring) Printlog("Simulation: " + Sim.ToString) Globals.SimUpdate = Sim Printlog("Devider") SqlConn.ConnectionString = Connectionstring ' 'Start ' Globals.Conn.sConnectionString = Connectionstring For i = 1 To 3 Get_Sourcdata(i) Printlog("Sourcedatensätze: " + Sourcedaten.Tables(0).Rows.Count.ToString) Printlog("Devider") For Each dr As DataRow In Sourcedaten.Tables(0).Rows 'Migrationsart 1 If dr.Item("VTyp") = 12 And dr.Item("NurLizenz") = False Then Migration_1(dr) End If If dr.Item("Vtyp") = 12 And dr.Item("NurLizenz") = True Then Migration_2(dr) End If If dr.Item("VTyp") <> 12 And dr.Item("NurLizenz") = False Then Migration_3(dr) End If If dr.Item("VTyp") <> 12 And dr.Item("NurLizenz") = True Then Migration_4(dr) End If Next Printlog("Devider") Printlog("") Printlog("") Next i i = 4 Get_Sourcdata(i) Printlog("Sourcedatensätze: " + Sourcedaten.Tables(0).Rows.Count.ToString) Printlog("Devider") For Each dr As DataRow In Sourcedaten.Tables(0).Rows Migration_4(dr) Next Printlog("Devider") Printlog("") Printlog("") i = 5 Get_Sourcdata(i) Printlog("Sourcedatensätze: " + Sourcedaten.Tables(0).Rows.Count.ToString) Printlog("Devider") For Each dr As DataRow In Sourcedaten.Tables(0).Rows Migration_5(dr) Next Printlog("Devider") Printlog("") Printlog("") FileClose(1) End Sub #Region "Migration" Dim lizenzkey As Integer Dim Parentkey As Integer Dim LizenzVertragselementApplikationKey As Integer = 0 Dim li As New TKB.VV.Lizenz.clsLizenz Dim vea As New TKB.VV.DB.clsVertragselementApplikation Dim lvea As New TKB.VV.Lizenz.clsLizenzVertragselementApplikation Dim appl As New TKB.VV.DB.clsApplikation Dim likauf As New TKB.VV.DB.clsLizenzkauf Dim Vertragselementapplikationnr As Integer Sub Update_Lizenzkauf(ByVal veapplnr As Integer, ByVal veapplnralt As Integer, ByVal lizenznr As Integer) Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) Dim CheckState As Integer scmCmdToExecute.CommandText = "update lizenzkauf set lizenznr=" + lizenznr.ToString + ", Vertragselementapplikationnr=" + veapplnr.ToString + " where Vertragselementapplikationnr=" + veapplnralt.ToString scmCmdToExecute.CommandType = CommandType.Text scmCmdToExecute.Connection = Conn.scoDBConnection Try Conn.OpenConnection() scmCmdToExecute.ExecuteNonQuery() Conn.CloseConnection(True) Catch ex As Exception MsgBox(ex.Message) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Sub Function Get_VertragselementApplikation_from_Parent(ByVal ID As Integer) As Integer Dim DA As New SqlDataAdapter("Select * from vertragselementapplikation where vertragselementnr<>0 and applikationnr=" + ID.ToString, Connectionstring) Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) Dim ds As New DataSet Try SqlConn.Open() DA.Fill(ds, "Sourcedaten") SqlConn.Close() If ds.Tables(0).Rows.Count > 0 Then Return ds.Tables(0).Rows(0).Item(0) Else Return 0 Return True Catch ex As Exception Return 0 Finally DA.Dispose() cb.Dispose() ds.Dispose() End Try End Function Function Get_Lizenz(ByVal applikationname As String) As Integer Dim DA As New SqlDataAdapter("Select * from lizenz where bezeichnung='" + applikationname + "'", Connectionstring) Dim cb As SqlCommandBuilder = New SqlCommandBuilder(DA) Dim ds As New DataSet Try SqlConn.Open() DA.Fill(ds, "Sourcedaten") SqlConn.Close() If ds.Tables(0).Rows.Count > 0 Then Return ds.Tables(0).Rows(0).Item(0) Else Return 0 Return True Catch ex As Exception Return 0 Finally DA.Dispose() cb.Dispose() ds.Dispose() End Try End Function Sub Migration_1(ByRef dr As DataRow) Printlog("Typ 1") Create_Lizenzelement(dr.Item("applikation").ToString) vea.cpMainConnectionProvider = Globals.Conn vea.iVertragselementApplikationnr = New SqlInt32(CType(dr.Item("ve_applnr"), Int32)) vea.SelectOne() lvea.cpMainConnectionProvider = Globals.Conn LizenzVertragselementApplikationKey = lvea.Add_New(lizenzkey, vea.iVertragselementApplikationnr.Value) Printlog("--> Beziehung Lizenz Applikation erstellt: " + lvea.iVertragselementApplikationNr.Value.ToString) If vea.bAktiv.Value = False Then lvea.bAktiv = New SqlBoolean(CType(False, Boolean)) Globals.Conn.OpenConnection() lvea.Update() Printlog("--> Beziehung Lizenz Applikation inaktiviert: " + vea.iVertragselementApplikationnr.Value.ToString) Globals.Conn.CloseConnection(True) End If vea.iVertragselementnr = New SqlInt32(CType(-99, Int32)) Globals.Conn.OpenConnection() vea.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) vea.Update() Globals.Conn.CloseConnection(True) Printlog("--> VertragselementApplikation Verbindung aufgehoben: " + vea.iVertragselementApplikationnr.Value.ToString) Update_Lizenzkauf(LizenzVertragselementApplikationKey, vea.iVertragselementApplikationnr.Value, lizenzkey) Printlog("--> Lizenzschlüssel migriert: " + vea.iVertragselementApplikationnr.Value.ToString) Dim ve As New TKB.VV.DB.clsVertragselement ve.cpMainConnectionProvider = Globals.Conn ve.iVertragselementnr = New SqlInt32(CType(dr.Item("venr"), Int32)) Globals.Conn.OpenConnection() ve.SelectOne() ve.bAktiv = New SqlBoolean(CType(False, Boolean)) ve.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) ve.Update() lvea.sBemerkung = New SqlString(CType(ve.sBezeichnung.Value.ToString, String)) lvea.Update() Globals.Conn.CloseConnection(True) Printlog("--> Vertragselement gelöscht: " + vea.iVertragselementApplikationnr.Value.ToString) End Sub Sub Migration_2(ByRef dr As DataRow) Printlog("Typ 2") Create_Lizenzelement(dr.Item("applikation").ToString) vea.cpMainConnectionProvider = Globals.Conn vea.iVertragselementApplikationnr = New SqlInt32(CType(dr.Item("ve_applnr"), Int32)) vea.SelectOne() lvea.cpMainConnectionProvider = Globals.Conn LizenzVertragselementApplikationKey = lvea.Add_New(lizenzkey, vea.iVertragselementApplikationnr.Value) Printlog("--> Beziehung Lizenz Applikation erstellt: " + lvea.iVertragselementApplikationNr.Value.ToString) If vea.bAktiv.Value = False Then lvea.bAktiv = New SqlBoolean(CType(False, Boolean)) Globals.Conn.OpenConnection() lvea.Update() Printlog("--> Beziehung Lizenz Applikation inaktiviert: " + vea.iVertragselementApplikationnr.Value.ToString) Globals.Conn.CloseConnection(True) End If vea.iVertragselementnr = New SqlInt32(CType(-99, Int32)) vea.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Globals.Conn.OpenConnection() vea.Update() Globals.Conn.CloseConnection(True) Printlog("--> VertragselementApplikation Verbindung aufgehoben: " + vea.iVertragselementApplikationnr.Value.ToString) If vea.bAktiv.Value = False Then lvea.bAktiv = New SqlBoolean(CType(False, Boolean)) Globals.Conn.OpenConnection() lvea.Update() Globals.Conn.CloseConnection(True) End If Update_Lizenzkauf(LizenzVertragselementApplikationKey, vea.iVertragselementApplikationnr.Value, lizenzkey) Printlog("--> Lizenzschlüssel migriert: " + vea.iVertragselementApplikationnr.Value.ToString) appl.cpMainConnectionProvider = Globals.Conn appl.iApplikationNr = New SqlInt32(CType(dr.Item("applnr"), Int32)) appl.SelectOne() appl.bNurLizenz = New SqlBoolean(CType(False, Boolean)) appl.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Globals.Conn.OpenConnection() appl.Update() Globals.Conn.CloseConnection(True) Printlog("--> Applikation Nur Lizenbz entfernt: " + appl.sBezeichnung.ToString) Dim ve As New TKB.VV.DB.clsVertragselement ve.cpMainConnectionProvider = Globals.Conn ve.iVertragselementnr = New SqlInt32(CType(dr.Item("venr"), Int32)) Globals.Conn.OpenConnection() ve.SelectOne() ve.bAktiv = New SqlBoolean(CType(False, Boolean)) ve.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) ve.Update() lvea.sBemerkung = New SqlString(CType(ve.sBezeichnung.Value.ToString, String)) lvea.Update() Globals.Conn.CloseConnection(True) Printlog("--> Vertragselement gelöscht: " + vea.iVertragselementApplikationnr.Value.ToString) End Sub Sub Migration_3(ByRef dr As DataRow) Printlog("Typ 3") Create_Lizenzelement(dr.Item("applikation").ToString) vea.cpMainConnectionProvider = Globals.Conn vea.iVertragselementApplikationnr = New SqlInt32(CType(dr.Item("ve_applnr"), Int32)) vea.SelectOne() lvea.cpMainConnectionProvider = Globals.Conn LizenzVertragselementApplikationKey = lvea.Add_New(lizenzkey, vea.iVertragselementApplikationnr.Value) Printlog("--> Beziehung Lizenz Applikation erstellt: " + lvea.iVertragselementApplikationNr.Value.ToString) If vea.bAktiv.Value = False Then lvea.bAktiv = New SqlBoolean(CType(False, Boolean)) Globals.Conn.OpenConnection() lvea.Update() Printlog("--> Beziehung Lizenz Applikation inaktiviert: " + vea.iVertragselementApplikationnr.Value.ToString) Globals.Conn.CloseConnection(True) End If Update_Lizenzkauf(LizenzVertragselementApplikationKey, vea.iVertragselementApplikationnr.Value, lizenzkey) Printlog("--> Lizenzschlüssel migriert: " + vea.iVertragselementApplikationnr.Value.ToString) End Sub Sub Migration_4(ByRef dr As DataRow) If dr.Item("venr") = 1323 Then Dim a As Integer = 1 End If Printlog("Typ 4") Try Parentkey = Get_VertragselementApplikation_from_Parent(dr.Item("appl_parent_id")) If Parentkey = 0 Then Dim vea1 As New TKB.VV.Vertrag.clsVertragselementApplikation vea1.Add_New(dr.Item("VEnr")) vea1.iApplikationnr = New SqlInt32(CType(dr.Item("appl_parent_id"), Int32)) vea1.sBemerkung = New SqlString(CType("Datansatz aus Lizenzmigration", String)) vea1.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Conn.OpenConnection() vea1.Update() Vertragselementapplikationnr = vea1.iVertragselementApplikationnr.Value Parentkey = Vertragselementapplikationnr Conn.CloseConnection(True) Else Vertragselementapplikationnr = Parentkey End If Catch Parentkey = 0 End Try 'Create_Parent(dr.Item("appl_parent").ToString) 'If Parentkey <> 0 Then ' Vertragselementapplikationnr = Get_VertragselementApplikation_from_Parent(dr.Item("Appl_Parent_ID")) ' If Vertragselementapplikationnr = 0 Then ' Dim vea1 As New TKB.VV.Vertrag.clsVertragselementApplikation ' vea1.Add_New(dr.Item("VEnr")) ' vea1.iApplikationnr = New SqlInt32(CType(dr.Item("appl_parent_id"), Int32)) ' vea1.sBemerkung = New SqlString(CType("Datansatz aus Lizenzmigration", String)) ' vea1.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) ' Conn.OpenConnection() ' vea1.Update() ' Vertragselementapplikationnr = vea1.iVertragselementApplikationnr.Value ' Conn.CloseConnection(True) ' End If 'End If Create_Lizenzelement(dr.Item("applikation").ToString, 0) If Parentkey = 0 Then vea.cpMainConnectionProvider = Globals.Conn vea.iVertragselementApplikationnr = New SqlInt32(CType(dr.Item("ve_applnr"), Int32)) vea.SelectOne() Else vea.cpMainConnectionProvider = Globals.Conn vea.iVertragselementApplikationnr = New SqlInt32(CType(Vertragselementapplikationnr, Int32)) vea.SelectOne() End If lvea.cpMainConnectionProvider = Globals.Conn LizenzVertragselementApplikationKey = lvea.Add_New(lizenzkey, vea.iVertragselementApplikationnr.Value) Printlog("--> Beziehung Lizenz Applikation erstellt: " + lvea.iVertragselementApplikationNr.Value.ToString) If vea.bAktiv.Value = False Then lvea.bAktiv = New SqlBoolean(CType(False, Boolean)) Globals.Conn.OpenConnection() lvea.Update() Printlog("--> Beziehung Lizenz Applikation inaktiviert: " + vea.iVertragselementApplikationnr.Value.ToString) Globals.Conn.CloseConnection(True) End If If Parentkey <> 0 Then vea.cpMainConnectionProvider = Globals.Conn vea.iVertragselementApplikationnr = New SqlInt32(CType(dr.Item("ve_applnr"), Int32)) vea.SelectOne() vea.bAktiv = New SqlBoolean(CType(False, Boolean)) End If Update_Lizenzkauf(LizenzVertragselementApplikationKey, vea.iVertragselementApplikationnr.Value, lizenzkey) Printlog("--> Lizenzschlüssel migriert: " + vea.iVertragselementApplikationnr.Value.ToString) ' vea.iApplikationnr = New SqlInt32(CType(dr.Item("appl_parent_id"), Int32)) Globals.Conn.OpenConnection() vea.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) vea.Update() Globals.Conn.CloseConnection(True) Printlog("--> VertragselementApplikation Verbindung aufgehoben: " + vea.iVertragselementApplikationnr.Value.ToString) If Parentkey = 0 Then appl.cpMainConnectionProvider = Globals.Conn appl.iApplikationNr = New SqlInt32(CType(dr.Item("applnr"), Int32)) appl.SelectOne() appl.bNurLizenz = New SqlBoolean(CType(False, Boolean)) appl.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Globals.Conn.OpenConnection() appl.Update() Globals.Conn.CloseConnection(True) Printlog("--> Applikation NurLizenz entfernt: " + appl.sBezeichnung.ToString) Else appl.cpMainConnectionProvider = Globals.Conn appl.iApplikationNr = New SqlInt32(CType(dr.Item("applnr"), Int32)) appl.SelectOne() appl.bAktiv = New SqlBoolean(CType(False, Boolean)) appl.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Globals.Conn.OpenConnection() appl.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) appl.Update() Globals.Conn.CloseConnection(True) Printlog("--> Applikation gelöscht " + appl.sBezeichnung.ToString) End If End Sub Sub Migration_5(ByRef dr As DataRow) Printlog("Typ 5") Try Parentkey = Get_VertragselementApplikation_from_Parent(dr.Item("appl_parent_id")) If Parentkey = 0 Then Dim vea1 As New TKB.VV.Vertrag.clsVertragselementApplikation vea1.Add_New(dr.Item("VEnr")) vea1.iApplikationnr = New SqlInt32(CType(dr.Item("appl_parent_id"), Int32)) vea1.sBemerkung = New SqlString(CType("Datansatz aus Lizenzmigration", String)) vea1.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Conn.OpenConnection() vea1.Update() Vertragselementapplikationnr = vea1.iVertragselementApplikationnr.Value Parentkey = Vertragselementapplikationnr Conn.CloseConnection(True) Else Vertragselementapplikationnr = Parentkey End If Catch Parentkey = 0 End Try 'Create_Parent(dr.Item("appl_parent").ToString) 'If Parentkey <> 0 Then ' Vertragselementapplikationnr = Get_VertragselementApplikation_from_Parent(dr.Item("Appl_Parent_ID")) ' If Vertragselementapplikationnr = 0 Then ' Dim vea1 As New TKB.VV.Vertrag.clsVertragselementApplikation ' vea1.Add_New(dr.Item("VEnr")) ' vea1.iApplikationnr = New SqlInt32(CType(dr.Item("appl_parent_id"), Int32)) ' vea1.sBemerkung = New SqlString(CType("Datansatz aus Lizenzmigration", String)) ' vea1.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) ' Conn.OpenConnection() ' vea1.Update() ' Vertragselementapplikationnr = vea1.iVertragselementApplikationnr.Value ' Conn.CloseConnection(True) ' End If 'End If Create_Lizenzelement(dr.Item("applikation").ToString, 0) If Parentkey = 0 Then vea.cpMainConnectionProvider = Globals.Conn vea.iVertragselementApplikationnr = New SqlInt32(CType(dr.Item("ve_applnr"), Int32)) vea.SelectOne() Else vea.cpMainConnectionProvider = Globals.Conn vea.iVertragselementApplikationnr = New SqlInt32(CType(Vertragselementapplikationnr, Int32)) vea.SelectOne() End If lvea.cpMainConnectionProvider = Globals.Conn LizenzVertragselementApplikationKey = lvea.Add_New(lizenzkey, vea.iVertragselementApplikationnr.Value) Printlog("--> Beziehung Lizenz Applikation erstellt: " + lvea.iVertragselementApplikationNr.Value.ToString) If vea.bAktiv.Value = False Then lvea.bAktiv = New SqlBoolean(CType(False, Boolean)) Globals.Conn.OpenConnection() lvea.Update() Printlog("--> Beziehung Lizenz Applikation inaktiviert: " + vea.iVertragselementApplikationnr.Value.ToString) Globals.Conn.CloseConnection(True) End If If Parentkey <> 0 Then vea.cpMainConnectionProvider = Globals.Conn vea.iVertragselementApplikationnr = New SqlInt32(CType(dr.Item("ve_applnr"), Int32)) vea.SelectOne() vea.bAktiv = New SqlBoolean(CType(False, Boolean)) End If Update_Lizenzkauf(LizenzVertragselementApplikationKey, vea.iVertragselementApplikationnr.Value, lizenzkey) Printlog("--> Lizenzschlüssel migriert: " + vea.iVertragselementApplikationnr.Value.ToString) ' vea.iApplikationnr = New SqlInt32(CType(dr.Item("appl_parent_id"), Int32)) Globals.Conn.OpenConnection() vea.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) vea.Update() Globals.Conn.CloseConnection(True) Printlog("--> VertragselementApplikation Verbindung aufgehoben: " + vea.iVertragselementApplikationnr.Value.ToString) If Parentkey = 0 Then appl.cpMainConnectionProvider = Globals.Conn appl.iApplikationNr = New SqlInt32(CType(dr.Item("applnr"), Int32)) appl.SelectOne() 'appl.bAktiv = New SqlBoolean(CType(False, Boolean)) appl.bNurLizenz = New SqlBoolean(CType(False, Boolean)) appl.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Globals.Conn.OpenConnection() appl.Update() Globals.Conn.CloseConnection(True) Printlog("--> Applikation NurLizenz entfernt: " + appl.sBezeichnung.ToString) Else appl.cpMainConnectionProvider = Globals.Conn appl.iApplikationNr = New SqlInt32(CType(dr.Item("applnr"), Int32)) appl.SelectOne() appl.bAktiv = New SqlBoolean(CType(False, Boolean)) appl.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Globals.Conn.OpenConnection() appl.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) appl.Update() Globals.Conn.CloseConnection(True) Printlog("--> Applikation gelöscht " + appl.sBezeichnung.ToString) End If End Sub 'Sub Migration_5(ByRef dr As DataRow) ' Printlog("Typ 5") ' Create_Parent(dr.Item("appl_parent").ToString) ' Create_Lizenzelement(dr.Item("applikation").ToString, Parentkey) ' vea.cpMainConnectionProvider = Globals.Conn ' vea.iVertragselementApplikationnr = New SqlInt32(CType(dr.Item("ve_applnr"), Int32)) ' vea.SelectOne() ' lvea.cpMainConnectionProvider = Globals.Conn ' LizenzVertragselementApplikationKey = lvea.Add_New(lizenzkey, vea.iVertragselementApplikationnr.Value) ' Printlog("--> Beziehung Lizenz Applikation erstellt: " + lvea.iVertragselementApplikationNr.Value.ToString) ' Update_Lizenzkauf(LizenzVertragselementApplikationKey, vea.iVertragselementApplikationnr.Value, lizenzkey) ' Printlog("--> Lizenzschlüssel migriert: " + vea.iVertragselementApplikationnr.Value.ToString) ' 'vea.iVertragselementnr = New SqlInt32(CType(-99, Int32)) ' If Parentkey <> 0 Then vea.iApplikationnr = New SqlInt32(CType(dr.Item("appl_parent_id"), Int32)) ' Globals.Conn.OpenConnection() ' vea.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) ' vea.Update() ' Globals.Conn.CloseConnection(True) ' Printlog("--> VertragselementApplikation Verbindung aufgehoben: " + vea.iVertragselementApplikationnr.Value.ToString) ' appl.cpMainConnectionProvider = Globals.Conn ' appl.iApplikationNr = New SqlInt32(CType(dr.Item("applnr"), Int32)) ' appl.SelectOne() ' appl.bNurLizenz = New SqlBoolean(CType(False, Boolean)) ' Globals.Conn.OpenConnection() ' appl.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) ' appl.Update() ' Globals.Conn.CloseConnection(True) ' Printlog("--> Applikation NurLizenz entfernt: " + appl.sBezeichnung.ToString) 'End Sub #End Region #Region "Datahandling" Function Get_Sourcdata(ByVal type As Integer) As Boolean Dim da As New SqlDataAdapter(MainQuery1, Connectionstring) If type = 2 Then da.SelectCommand.CommandText = MainQuery2 If type = 3 Then da.SelectCommand.CommandText = MainQuery3 If type = 4 Then da.SelectCommand.CommandText = MainQuery4 If type = 5 Then da.SelectCommand.CommandText = MainQuery5 Sourcedaten.Tables.Clear() Dim cb As SqlCommandBuilder = New SqlCommandBuilder(da) Try SqlConn.Open() da.Fill(Sourcedaten, "Sourcedaten") SqlConn.Close() Printlog("Sourcedaten gelesen.") Return True Catch ex As Exception Printlog("Sourcedaten konnten nicht gelesen werden:" + ex.Message) Return False Finally da.Dispose() cb.Dispose() End Try End Function Function Create_Lizenzelement(ByVal Bezeichnung As String, Optional ByVal Parentid As Integer = 0) lizenzkey = Get_Lizenz(Bezeichnung) If lizenzkey = 0 Then li.cpMainConnectionProvider = Conn lizenzkey = li.Add_New(Bezeichnung, Parentid) Printlog("--> Lizenzelement erstellt: " + lizenzkey.ToString + " " + Bezeichnung) Else Printlog("--> Lizenzelement bestehend: " + lizenzkey.ToString + " " + Bezeichnung) End If End Function Function Create_Parent(ByVal Bezeichnung As String) If Bezeichnung.ToString = "NULL" Or Bezeichnung.ToString = "" Then Parentkey = 0 Exit Function End If Parentkey = Get_Lizenz(Bezeichnung) If Parentkey = 0 Then li.cpMainConnectionProvider = Conn Parentkey = li.Add_New(Bezeichnung, 0, True) Printlog("--> Parentelement erstellt: " + Parentkey.ToString + " " + Bezeichnung) Else Printlog("--> Parent bestehend: " + Parentkey.ToString + " " + Bezeichnung) End If End Function #End Region #Region "Utils" Public Function ApplicationPath() As String Return Path.GetDirectoryName([Assembly].GetEntryAssembly().Location) + "\" End Function Public Sub Get_Param() Dim xmldoc As New XmlDocument xmldoc.Load(ApplicationPath() & "Params.XML") Connectionstring = xmldoc.SelectSingleNode("/Configuration/SQLConnectionString").InnerText Journalfile = xmldoc.SelectSingleNode("/Configuration/Journalfile").InnerText Sim = xmldoc.SelectSingleNode("/Configuration/Sim").InnerText = "True" MainQuery1 = xmldoc.SelectSingleNode("/Configuration/MainQuery_Typ1").InnerText MainQuery2 = xmldoc.SelectSingleNode("/Configuration/MainQuery_Typ2").InnerText MainQuery3 = xmldoc.SelectSingleNode("/Configuration/MainQuery_Typ3").InnerText MainQuery4 = xmldoc.SelectSingleNode("/Configuration/MainQuery_Typ4").InnerText MainQuery5 = xmldoc.SelectSingleNode("/Configuration/MainQuery_Typ5").InnerText End Sub #End Region End Module