Imports C1.Win.C1TrueDBGrid Imports System Imports System.Data Imports System.Data.SqlTypes Imports System.Data.SqlClient Namespace TKB.VV.Applikation Public Class clsApplikation Inherits TKB.VV.DB.clsApplikation #Region "Deklarationen" Private Stammdaten As New TKB.VV.Stammdaten.clsStammdaten '2012-04-11 - Erweiterung ITSP-Produktmapping Public ITSPPordukte As New DataTable '----------------------------------- Public kategorien As New DataTable Public Applikation As TKB.VV.DB.clsApplikation Public daten As New DataTable Public Parentelemente As New TKB.VV.Vertrag.clsParentelemente Dim WithEvents evh As MyGenericEventHandler = Globals.MyEventHanlder 'Private Verantwortung As New TKB.VV.DB.clsApplikationVerantwortung Public Verantwortungen As New DataTable Public FachlicheOE As New DataTable 'Private Kategorie As New TKB.VV.DB.clsApplikationKategorie 'Public Kategorien As New DataTable 'Private Marktbereich As New TKB.VV.DB.clsMarktbereich Public Marktbereiche As New DataTable 'Private Kritikalitaet As New TKB.VV.DB.clsApplikationKritikalitaetTyp Public Kritikalitaeten As New DataTable 'Private SLM As New TKB.VV.DB.clsApplikationSLMTyp Public SLMs As New DataTable Public RFCBoards As New DataTable Private Installiert_auf As New TKB.VV.DB.clsInstallationTyp Public Installiertauf As New DataTable Private Installiert_als As New TKB.VV.DB.clsInstallationAlsTyp Public Installiertals As New DataTable Private Installation_Standard As New TKB.VV.DB.clsApplikationStandardTyp Public InstallationStandard As New DataTable Public AbhaengigkeitsTyp As New DataTable Public Applikation_Installationtyp As New TKB.VV.DB.clsApplikationInstallationTyp Public ApplikationInstallationTyp As New DataTable Public Applikation_Installationals As New TKB.VV.DB.clsApplikationInstallationAls Public ApplikationInstallationals As New DataTable Public Applikation_InstallationFuer As New TKB.VV.DB.clsApplikationInstallationFuer Public ApplikationInstallationFuer As New DataTable Public Applikation_ApplikationAbhaengigkeit As New TKB.VV.DB.clsApplikationApplikationAbhaengigkeit Public ApplikationApplikationAbhaengigkeit As New DataTable Public Vertragselement As New TKB.VV.Vertrag.clsVertragselement Private Testaufwand As New TKB.VV.DB.clsApplikationTestAZ Public TestAufwendungen As New DataTable Public Teams As New DataTable Public Periodizitäten As New DataTable Public SDAdministratoren As New DataTable Public Applikationabhaengigkeit As New TKB.VV.Applikation.clsApplikationsabhaengigkeit Public Applikationabhaengigkeiten As TKB.VV.Sysadmin.DomainTable Public Lizenzkauf As New DataTable Public Lizenzschluessel As New DataTable Public IKVGeschaeftsrelevanz As New DataTable Public IKVMaximaleAusfalldauer As New DataTable Public IKVVereinbarteAusfalldauer As New DataTable Public IKVArt As New DataTable Dim mMutierer As String Property MutiererText() As String Get Return mMutierer End Get Set(ByVal value As String) mMutierer = value End Set End Property #End Region Sub New() Me.cpMainConnectionProvider = Globals.conn 'Verantwortung.cpMainConnectionProvider = Globals.conn 'Verantwortungen = Verantwortung.SelectAll 'Verantwortungen = Stammdaten.Get_Stammdaten("ApplikationVerantwortung", "Bezeichnung") Verantwortungen = Stammdaten.Get_Gremium(1, 0) FachlicheOE = Stammdaten.Get_Gremium(1, 0) RFCBoards = Stammdaten.Get_Gremium(4, 0) 'Kategorie.cpMainConnectionProvider = Globals.conn 'Kategorien = Kategorie.SelectAll kategorien = stammdaten.Get_Stammdaten("Applikationkategorie", "Bezeichnung") 'Marktbereich.cpMainConnectionProvider = Globals.conn 'Marktbereiche = Marktbereich.SelectAll Marktbereiche = Stammdaten.Get_Stammdaten("Marktbereich", "Bezeichnung") Marktbereiche = Stammdaten.Get_Gremium(3, 0) 'Kritikalitaet.cpMainConnectionProvider = Globals.conn 'Kritikalitaeten = Kritikalitaet.SelectAll Kritikalitaeten = stammdaten.Get_Stammdaten("ApplikationKritikalitaetTyp", "Bezeichnung") 'SLM.cpMainConnectionProvider = Globals.conn 'SLMs = SLM.SelectAll SLMs = stammdaten.Get_Stammdaten("ApplikationSLMTyp", "Bezeichnung") Installiert_auf.cpMainConnectionProvider = Globals.conn Installiertauf = Stammdaten.Get_Stammdaten("InstallationTyp", "Bezeichnung") Installiert_als.cpMainConnectionProvider = Globals.conn Installiertals = Stammdaten.Get_Stammdaten("InstallationAlsTyp", "Bezeichnung") Installation_Standard.cpMainConnectionProvider = Globals.conn InstallationStandard = Stammdaten.Get_Stammdaten("ApplikationStandardTyp", "Bezeichnung") AbhaengigkeitsTyp = Stammdaten.Get_Stammdaten("ApplikationAbhaengigkeitTyp", "Bezeichnung") Testaufwand.cpMainConnectionProvider = Globals.conn TestAufwendungen = Testaufwand.SelectAll Teams = Stammdaten.Get_Stammdaten("ApplikationTeam", "Bezeichnung") Periodizitäten = Stammdaten.Get_Stammdaten("Periodizitaet", "Sort") SDAdministratoren = Stammdaten.Get_Stammdaten("SDAdministrator", "Bezeichnung") IKVGeschaeftsrelevanz = Stammdaten.Get_Stammdaten("Applikation_IKV_Relevanztyp", "Bezeichnung") IKVMaximaleAusfalldauer = Stammdaten.Get_Stammdaten("Applikation_IKV_Ausfalldauer", "Reihenfolge") IKVVereinbarteAusfalldauer = Stammdaten.Get_Stammdaten("Applikation_IKV_VereinbarteAusfalldauer", "Reihenfolge") IKVArt = Stammdaten.Get_Stammdaten("Applikation_IKV_LoesungTyp", "Bezeichnung") '2012-04-11 Erweiterung ITSP-Proudktmapping ITSPPordukte = Stammdaten.Get_Stammdaten("ITSPProdukt", "Bezeichnung") End Sub Public Overloads Sub dispose() MyBase.Dispose() Try Applikation.Dispose() Verantwortungen.Dispose() 'Verantwortung.Dispose() Kategorien.Dispose() 'Kategorie.Dispose() Marktbereiche.Dispose() 'Marktbereich.Dispose() Kritikalitaeten.Dispose() 'Kritikalitaet.Dispose() SLMs.Dispose() 'SLM.Dispose() Installiert_auf.Dispose() AbhaengigkeitsTyp.Dispose() Installiertauf.Dispose() Installiert_als.Dispose() Installiertals.Dispose() Installation_Standard.Dispose() InstallationStandard.Dispose() Applikation_Installationtyp.Dispose() ApplikationInstallationTyp.Dispose() Applikation_Installationals.Dispose() ApplikationInstallationals.Dispose() Applikation_InstallationFuer.Dispose() Applikation_ApplikationAbhaengigkeit.Dispose() ApplikationInstallationFuer.Dispose() Vertragselement.dispose() TestAufwendungen.Dispose() Testaufwand.Dispose() Dokument.Dispose() dokumente.Dispose() RFCBoards.Dispose() Teams.Dispose() Periodizitäten.Dispose() SDAdministratoren.Dispose() Me.Applikationabhaengigkeit.dispose() Me.Applikationabhaengigkeiten.dispose() Me.Lizenzkauf.Dispose() Me.Lizenzschluessel.Dispose() Applikation = Nothing IKVGeschaeftsrelevanz.Dispose() IKVMaximaleAusfalldauer.Dispose() IKVVereinbarteAusfalldauer.Dispose() IKVArt.Dispose() '2012-04-11 Erweiterung ITSP-Proudktmapping ITSPPordukte.Dispose() Catch End Try End Sub ''' ''' Mutierer auslesen ''' ''' ''' Public Function Get_Mutierer(ByVal nr As Integer) As String Dim ma As New TKB.VV.DB.clsMitarbeiter Dim dt As New DataTable Dim Retvalue As String ma.cpMainConnectionProvider = Globals.conn ma.iMitarbeiternr = New SqlInt32(CType(nr, Int32)) dt = ma.SelectOne() If dt.Rows.Count = 0 Then Retvalue = ("{" + nr.ToString + "}") Else Retvalue = ma.sName.ToString + " " + ma.sVorname.ToString + ", " + ma.sTgnummer.ToString End If ma.Dispose() dt.Dispose() Return Retvalue End Function ''' ''' Applikation lesen ''' ''' ''' Public Sub Get_Applikation(ByVal nr As Integer) Me.cpMainConnectionProvider = Globals.conn Me.iApplikationNr = New SqlInt32(CType(nr, Int32)) Globals.conn.OpenConnection() Me.daten = Me.SelectOne() Applikation_Installationtyp.cpMainConnectionProvider = Globals.conn Applikation_Installationtyp.iApplikationNr = New SqlInt32(CType(nr, Int32)) ApplikationInstallationTyp = Applikation_Installationtyp.SelectAllWApplikationNrLogic Applikation_Installationals.cpMainConnectionProvider = Globals.conn Applikation_Installationals.iApplikationNr = New SqlInt32(CType(nr, Int32)) ApplikationInstallationals = Applikation_Installationals.SelectAllWApplikationNrLogic 'Applikation_InstallationFuer.cpMainConnectionProvider = Globals.conn 'Applikation_InstallationFuer.iApplikationNr = New SqlInt32(CType(nr, Int32)) 'applikationinstallationfuer = Applikation_InstallationFuer.SelectAllWApplikationNrLogic Applikation_ApplikationAbhaengigkeit.cpMainConnectionProvider = Globals.conn Applikation_ApplikationAbhaengigkeit.iApplikationNr = New SqlInt32(CType(nr, Int32)) ApplikationApplikationAbhaengigkeit = Applikation_ApplikationAbhaengigkeit.SelectAllWApplikationNrLogic Globals.conn.CloseConnection(True) Me.Mutierertext = Get_Mutierer(Me.iMutierer.Value) End Sub ''' ''' Neue Applikation einfügen ''' ''' ''' Public Function Add_New() As Integer Dim db As New TKB.VV.DB.clsMyKey_Tabelle db.cpMainConnectionProvider = Globals.conn Dim newkey = db.get_dbkey("Applikation") db.Dispose() Me.iApplikationNr = New SqlInt32(CType(newkey, Int32)) Me.iApplikationKategorieNr = New SqlInt32(CType(1, Int32)) Me.sBezeichnung = New SqlString(CType("", String)) Me.sKurzbeschreibung = New SqlString(CType("", String)) Me.sDatenbankname = New SqlString(CType("", String)) Me.sAnzahl_Installationen = New SqlString(CType("", String)) Me.iApplikationVerantwortungNr = New SqlInt32(CType(0, Int32)) Me.iApplikationTeamNr = New SqlInt32(CType(0, Int32)) Me.iMarktbereichnr = New SqlInt32(CType(0, Int32)) Me.iParentID = New SqlInt32(CType(0, Int32)) Me.iSecurityLevelNr = New SqlInt32(CType(0, Int32)) Me.iTicketXPert_ApplikationKritikalitaetTypNr = New SqlInt32(CType(0, Int32)) Me.iTicketXPert_ApplikationSMLTypNr = New SqlInt32(CType(0, Int32)) Me.sVersion = New SqlString(CType("", String)) Me.bAlsProdukt = New SqlBoolean(CType(False, Boolean)) Me.bNurLizenz = New SqlBoolean(CType(False, Boolean)) Me.bRAS = New SqlBoolean(CType(False, Boolean)) Me.bTicketXPert_AMAnzeigen = New SqlBoolean(CType(False, Boolean)) Me.bTicketXPert_WPIAnzeigen = New SqlBoolean(CType(False, Boolean)) Me.sKurzbeschreibung = New SqlString(CType("", String)) Me.sPrioWiederanlauf = New SqlString(CType("", String)) Me.sTest_Abhaengigkeiten = New SqlString(CType("", String)) Me.sTest_Arbeitsplaetze = New SqlString(CType("", String)) Me.sTest_Aufwand = New SqlString(CType("0", String)) Me.sTest_Bemerkung = New SqlString(CType("", String)) Me.sTest_Bemerkung = New SqlString(CType("", String)) Me.bTicketXPertVerwendung = New SqlBoolean(CType(False, Boolean)) Me.sTicketXPert_Preis = New SqlString(CType("", String)) Me.sTicketXPert_Preis_Einmalig = New SqlString(CType("", String)) Me.bAktiv = New SqlBoolean(CType(True, Boolean)) Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Me.iRfcBoardNr = New SqlInt32(CType(0, Int32)) Me.bSensitiveDaten = New SqlBoolean(CType(False, Boolean)) Me.sSensitiveDatenBemerkung = New SqlString(CType("", String)) Me.iSensitiveDatenAdministriertdurch = New SqlInt32(CType(0, Int32)) Me.sSensitiveDatenUeberwachungBemerkung = New SqlString(CType("", String)) Me.iSensitiveDatenUeberwachungPeriodizitaet = New SqlInt32(CType(0, Int32)) Me.sSensitiveDatenUserBemerkung = New SqlString(CType("", String)) Me.iSensitiveDatenAnzahlComit = New SqlInt32(CType(0, Int32)) Me.iSensitiveDatenAnzahlExterne = New SqlInt32(CType(0, Int32)) Me.bVerwendungIntragnet = New SqlBoolean(CType(False, Boolean)) Me.bIntranetObligatorisch = New SqlBoolean(CType(False, Boolean)) Me.sIntranetBezeichnung = New SqlString(CType("", String)) Me.bErstloesungsquote = New SqlBoolean(CType(False, Boolean)) Me.iSecurityLevelNr = New SqlInt32(CType(0, Int32)) Me.iIKVBizAusfalldauerNr = New SqlInt32(CType(0, Int32)) Me.iIKVBizRelevanzNr = New SqlInt32(CType(0, Int32)) Me.iIKVLoesungNr = New SqlInt32(CType(0, Int32)) Me.iIKVProviderAussfalldauerNr = New SqlInt32(CType(0, Int32)) Me.sIKVBIZBemerkung = New SqlString(CType("", String)) Me.sIKVLoesungBemerkung = New SqlString(CType("", String)) Me.sIKVProviderBemerkung = New SqlString(CType("", String)) Me.bIKVProviderVereinbart = New SqlBoolean(CType(False, Boolean)) Me.cpMainConnectionProvider = Globals.conn Globals.conn.OpenConnection() Me.Insert() Globals.conn.CloseConnection(True) Return newkey End Function ''' ''' Applikation sichern ''' ''' ''' Public Function Save_Data() As Integer Me.cpMainConnectionProvider = Globals.conn Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) End Function ''' ''' Kopie eines Datensatzes erstellen. ''' ''' Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen ''' ''' Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer If Basenr <> 0 Then Get_Applikation(Basenr) End If Dim db As New TKB.VV.DB.clsMyKey_Tabelle db.cpMainConnectionProvider = Globals.conn Dim newkey = db.get_dbkey("Applikation") db.Dispose() Me.cpMainConnectionProvider = Globals.conn Me.iApplikationNr = New SqlInt32(CType(newkey, Int32)) Me.sBezeichnung = New SqlString(CType("Kopie - " + Me.sBezeichnung.Value.ToString, String)) Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Insert() Globals.conn.CloseConnection(True) Return newkey End Function ''' ''' Löschen eines Datensatzes ''' ''' Ursprungs-Applikatoin: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen ''' ''' Public Function Delete_Applikation(Optional ByVal Basenr As Integer = 0) As Integer If Basenr <> 0 Then Get_Applikation(Basenr) End If Me.cpMainConnectionProvider = Globals.conn Me.bAktiv = New SqlBoolean(CType(False, Boolean)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.daInaktivseit = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) End Function Public Sub Save_CheckedData(ByRef clb As CheckedListBox, ByVal typ As Integer) Dim i As Integer Dim oc As CheckedListBox.ObjectCollection = clb.Items For i = 0 To oc.Count - 1 Update_Data(oc.Item(i).item(0), clb.GetItemChecked(i), typ) Next End Sub Public Sub Update_Data(ByVal Key As Integer, ByVal checked As Boolean, ByVal typ 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 If checked Then CheckState = 1 Else CheckState = 0 scmCmdToExecute.CommandText = "dbo.sp_update_CheckedListBoxData" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) scmCmdToExecute.Parameters.Add(New SqlParameter("@key", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Key)) scmCmdToExecute.Parameters.Add(New SqlParameter("@Applikationsnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.iApplikationNr.Value)) scmCmdToExecute.Parameters.Add(New SqlParameter("@Typ", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, typ)) scmCmdToExecute.Parameters.Add(New SqlParameter("@Checked", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, CheckState)) conn.OpenConnection() scmCmdToExecute.ExecuteNonQuery() conn.CloseConnection(True) Catch ex As Exception Throw New Exception("clsApplikation::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Sub #Region "Dokumente" Public dokumente As New DataTable Public Dokument As New TKB.VV.DMS.clsDok ''' ''' Dokumente lesen und dem Grid übergeben ''' ''' C1TrueDBGrid mit Dokumente ''' ''' Public Function Get_Dokumente(ByRef c1data As C1TrueDBGrid, Optional ByVal ImgList As ImageList = Nothing) Try dokumente.dispose() dokumente = Nothing Catch ex As Exception End Try dokumente = Dokument.Get_Dokumente(Me.iApplikationNr.Value, 3) c1data.DataSource = dokumente c1data.DataMember = dokumente.TableName If Not ImgList Is Nothing Then Set_Imagevalues(c1data, ImgList) End If End Function ''' ''' Dokumente lesen und dem Grid übergeben ''' ''' C1TrueDBGrid mit Dokumente ''' ''' Public Function Get_Drehbuecker(ByRef c1data As C1TrueDBGrid, Optional ByVal ImgList As ImageList = Nothing) Try dokumente.Dispose() dokumente = Nothing Catch ex As Exception End Try dokumente = Dokument.Get_Dokumente(Me.iApplikationNr.Value, 2) c1data.DataSource = dokumente c1data.DataMember = dokumente.TableName If Not ImgList Is Nothing Then Set_Imagevalues(c1data, ImgList) End If End Function Private Sub Set_Imagevalues(ByRef c1data As C1TrueDBGrid, ByRef imglist As ImageList) Dim i As Integer Dim s As String For i = 0 To dokumente.Rows.Count - 1 s = dokumente.Rows(i).Item("Filename") If Len(s) < 4 Then s = ".div" Select Case UCase(s.Substring(Len(s) - 4, 4)) Case ".PDF" dokumente.Rows(i).Item("DokIcon") = 0 Case ".DOC" dokumente.Rows(i).Item("DokIcon") = 1 Case ".XLS" dokumente.Rows(i).Item("DokIcon") = 2 Case ".PPT" dokumente.Rows(i).Item("DokIcon") = 3 Case ".HTM", "TML", "XML" dokumente.Rows(i).Item("DokIcon") = 4 Case ".MSG" dokumente.Rows(i).Item("DokIcon") = 5 Case Else dokumente.Rows(i).Item("DokIcon") = 6 End Select Next Dim bmp0 As New Bitmap(imglist.Images(0)) Dim bmp1 As New Bitmap(imglist.Images(1)) Dim bmp2 As New Bitmap(imglist.Images(2)) Dim bmp3 As New Bitmap(imglist.Images(3)) Dim bmp4 As New Bitmap(imglist.Images(4)) Dim bmp5 As New Bitmap(imglist.Images(5)) Dim bmp6 As New Bitmap(imglist.Images(6)) Dim v0 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v1 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v2 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v3 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v4 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v5 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v6 As New C1.Win.C1TrueDBGrid.ValueItem() v0.DisplayValue = bmp0 v0.Value = 0 v1.DisplayValue = bmp1 v1.Value = 1 v2.DisplayValue = bmp2 v2.Value = 2 v3.DisplayValue = bmp3 v3.Value = 3 v4.DisplayValue = bmp4 v4.Value = 4 v5.DisplayValue = bmp5 v5.Value = 5 v6.DisplayValue = bmp6 v6.Value = 6 c1data.Columns("dokicon").ValueItems.Values.Add(v0) c1data.Columns("dokicon").ValueItems.Values.Add(v1) c1data.Columns("dokicon").ValueItems.Values.Add(v2) c1data.Columns("dokicon").ValueItems.Values.Add(v3) c1data.Columns("dokicon").ValueItems.Values.Add(v4) c1data.Columns("dokicon").ValueItems.Values.Add(v5) c1data.Columns("dokicon").ValueItems.Values.Add(v6) c1data.Columns("dokicon").ValueItems.Translate = True End Sub ''' ''' Kontakte auslesen und dem Truedbgrid übergeben ''' ''' TruedbGrid ''' Vertragselement, für welches die Dokumente ausgelesen werden ''' ''' Public Function Get_Dokumente(ByRef c1data As C1TrueDBGrid, ByVal Applikationnr As Integer, Optional ByVal ImgList As ImageList = Nothing) Me.Get_Applikation(Applikationnr) dokumente = Dokument.Get_Dokumente(Me.iApplikationNr.Value, 3) c1data.DataSource = dokumente c1data.DataMember = dokumente.TableName If Not ImgList Is Nothing Then Me.Set_Imagevalues(c1data, ImgList) End If End Function #Region "Applikationskontakt" #Region "Deklarationen" Public Applikationskontakte As TKB.VV.Sysadmin.DomainTable Public Applikationskontakt As New TKB.VV.Applikation.clsKontakt #End Region ''' ''' Kontakte auslesen und dem TrueDBGrid übergeben ''' ''' C1TrueDBGrid ''' ''' Public Function Get_Applikationskontakte(ByRef c1data As C1TrueDBGrid) Try Applikationskontakte.dispose() Applikationskontakte = Nothing Catch ex As Exception End Try Applikationskontakte = New TKB.VV.Sysadmin.DomainTable("Applikationkontakt", Me.iApplikationNr.ToString, Globals.clsmitarbeiter.iMitarbeiternr.Value) c1data.DataSource = Applikationskontakte.Tabledata c1data.DataMember = Applikationskontakte.Tabledata.Tables(0).TableName End Function ''' ''' Kontakte auslesen und dem TrueDBGrid übergeben ''' ''' C1TrueDBGrid ''' Vertragselement, für welches die Kontakte ausgelesen werden ''' ''' Public Function Get_Applikationskontakte(ByRef c1data As C1TrueDBGrid, ByVal Applikationnr As Integer) Me.Get_Applikation(Applikationnr) Applikationskontakte = New TKB.VV.Sysadmin.DomainTable("Vertragskontakt", Me.iApplikationNr.ToString, Globals.clsmitarbeiter.iMitarbeiternr.Value) c1data.DataSource = Applikationskontakte.Tabledata c1data.DataMember = Applikationskontakte.Tabledata.Tables(0).TableName End Function #End Region #Region "ReleaseLogbuch" #Region "Deklarationen" Public ReleaseLogbooks As TKB.VV.Sysadmin.DomainTable #End Region Public Function Get_ReleaseLogbuch(ByRef c1data As C1TrueDBGrid, ByVal applikationnr As Integer) Application.DoEvents() Try ReleaseLogbooks.dispose() ReleaseLogbooks = Nothing Catch ex As Exception End Try ReleaseLogbooks = New TKB.VV.Sysadmin.DomainTable("ApplikationLogbuch", applikationnr.ToString, Globals.clsmitarbeiter.iMitarbeiternr.Value) c1data.DataSource = ReleaseLogbooks.Tabledata c1data.DataMember = ReleaseLogbooks.Tabledata.Tables(0).TableName End Function #End Region #End Region #Region "Lizenzen" Public Lizenzen As New DataTable Public Sub Get_Vertragslizenzen(ByRef c1data As C1TrueDBGrid, ByVal applikationnr As Integer) Try Lizenzen.Rows.Clear() Catch ex As Exception End Try Lizenzen = Read_Lizenzen(applikationnr) c1data.DataSource = Lizenzen c1data.DataMember = Lizenzen.TableName End Sub Public Function Read_Lizenzen(ByVal applikationnr As Integer) As DataTable 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 = "dbo.sp_applikation_get_vertragselemente" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@applikationnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, applikationnr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) conn.OpenConnection() sdaAdapter.Fill(dtToReturn) conn.CloseConnection(True) Return dtToReturn Catch ex As Exception Throw New Exception("clsApplikation::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function Public Function Get_Lizenzkauf(ByVal vertragselementnr As Integer, ByVal Applikationnr As Integer) Me.Lizenzkauf.Rows.Clear() Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.CommandText = "dbo.sp_get_lizenzkauf" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@Vertragselementnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, vertragselementnr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@Applikationnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Applikationnr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) conn.OpenConnection() sdaAdapter.Fill(Me.Lizenzkauf) conn.CloseConnection(True) Catch ex As Exception Throw New Exception("clsApplikation::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function Public Function Get_Lizenzen(ByVal vertragselementnr As Integer, ByVal Applikationnr As Integer) Me.Lizenzkauf.Rows.Clear() Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.CommandText = "dbo.sp_vertragsuebersicht_get_lizenzen" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@Vertragselementnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, vertragselementnr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@Applikationnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Applikationnr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) conn.OpenConnection() sdaAdapter.Fill(Me.Lizenzkauf) conn.CloseConnection(True) Catch ex As Exception Throw New Exception("clsApplikation::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function Public Function Get_Lizenzschluessel(ByVal LizenzkaufNr As Integer) Me.Lizenzschluessel.Rows.Clear() Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.CommandText = "dbo.sp_get_lizenzschluessel" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@Lizenzkaufnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, LizenzkaufNr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) conn.OpenConnection() sdaAdapter.Fill(Me.Lizenzschluessel) conn.CloseConnection(True) Catch ex As Exception Throw New Exception("clsApplikation::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function #End Region #Region "Vertragselemente" Public VertragselementApplikationen As TKB.VV.Sysadmin.DomainTable Public VertragselementApplikation As New TKB.VV.Vertrag.clsVertragselementApplikation ''' ''' Applikationen lesen und dem Grid übergeben ''' ''' C1TrueDBGrid mit Dokumente ''' ''' Public Function Get_Vertragselemente(ByRef c1data As C1TrueDBGrid) Try VertragselementApplikationen.dispose() VertragselementApplikationen = Nothing Catch ex As Exception End Try VertragselementApplikationen = New TKB.VV.Sysadmin.DomainTable("VertragselementApplikation", 1, Me.iApplikationNr.ToString, Globals.clsmitarbeiter.iMitarbeiternr.Value) c1data.DataSource = VertragselementApplikationen.Tabledata c1data.DataMember = VertragselementApplikationen.Tabledata.Tables(0).TableName End Function ''' ''' Applikationen auslesen und dem Truedbgrid übergeben. ''' ''' TruedbGrid ''' Vertragselement, für welches die Dokumente ausgelesen werden ''' ''' ''' gaga Public Function Get_Vertragselemente(ByVal Applikationnr As Integer) Me.Get_Applikation(Applikationnr) Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.CommandText = "dbo.sp_get_vertragselement_applikation" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@keyvalue", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.iApplikationNr.Value)) scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) conn.OpenConnection() sdaAdapter.Fill(dtToReturn) conn.CloseConnection(True) Return dtToReturn Catch ex As Exception Throw New Exception("clsApplikation::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try ' VertragselementApplikationen = New TKB.VV.Sysadmin.DomainTable("VertragselementApplikation", 1, Me.iApplikationNr.ToString, Globals.clsmitarbeiter.iMitarbeiternr.Value) ' Dim i As Integer = 0 ' c1data.DataSource = VertragselementApplikationen.Tabledata ' c1data.DataMember = VertragselementApplikationen.Tabledata.Tables(0).TableName End Function Public Function Refresh_Teams(ByVal Verantwortungnr As Integer) Me.Teams = Me.Stammdaten.Get_Gremium(2, Verantwortungnr) End Function #End Region #Region "Applikationsreferenzen" ''' ''' Pendenzen auslesen und dem Truedbgrid übergeben. ''' Ist im Feld Termin der Wert "01.01.1900" wird dieser durch NULL ersetzt ''' ''' TruedbGrid ''' Vertragselement, für welches die Dokumente ausgelesen werden ''' ''' Public Function Get_Applikationsabhaengigkeiten(ByRef c1data As C1TrueDBGrid, ByVal Applikationnr As Integer) Me.Get_Applikation(Applikationnr) Me.Applikationabhaengigkeiten = New TKB.VV.Sysadmin.DomainTable("ApplikationAbhaengigkeit", Me.iApplikationNr.ToString, Globals.clsmitarbeiter.iMitarbeiternr.Value) Dim i As Integer = 0 c1data.DataSource = Applikationabhaengigkeiten.Tabledata c1data.DataMember = Applikationabhaengigkeiten.Tabledata.Tables(0).TableName End Function #End Region #Region "ReleaseLogbuch" #Region "Deklarationen" Public Versionen As TKB.VV.Sysadmin.DomainTable #End Region Public Function Get_ApplikationVersionen(ByRef c1data As C1TrueDBGrid, ByVal applikationnr As Integer) Application.DoEvents() Try Versionen.dispose() Versionen = Nothing Catch ex As Exception End Try Versionen = New TKB.VV.Sysadmin.DomainTable("ApplikationVersion", applikationnr.ToString, Globals.clsmitarbeiter.iMitarbeiternr.Value) c1data.DataSource = Versionen.Tabledata c1data.DataMember = Versionen.Tabledata.Tables(0).TableName End Function #End Region #Region "IKV" #Region "Deklarationen" Public IKVTests As TKB.VV.Sysadmin.DomainTable #End Region Public Function Get_IKVTests(ByRef c1data As C1TrueDBGrid, ByVal applikationnr As Integer) Application.DoEvents() Try IKVTests.dispose() IKVTests = Nothing Catch ex As Exception End Try IKVTests = New TKB.VV.Sysadmin.DomainTable("Applikation_IKV_Test", applikationnr.ToString, Globals.clsmitarbeiter.iMitarbeiternr.Value) c1data.DataSource = IKVTests.Tabledata c1data.DataMember = IKVTests.Tabledata.Tables(0).TableName End Function #End Region End Class Public Class clsApplikationTree Public MaxSuchTreffer As Integer Dim Treedata As New DataSet ''' ''' Laden der Treedaten und Tree aufbauen ''' ''' ''' ''' Public Function Load_Tree(ByRef tree As TreeView, Optional ByVal Insert_Initial_Entry As Boolean = False, Optional ByVal suchstring As String = "", Optional ByVal status As Integer = 2, Optional ByVal Archivobjekte As Boolean = False, Optional ByVal alphasort As Boolean = False, Optional ByVal suche As Boolean = False) tree.Enabled = False tree.BeginUpdate() If suchstring <> "" Then Load_Treedata(suchstring, status, Archivobjekte, alphasort, suche) Else Load_Treedata(status, alphasort) End If tree.Nodes.Clear() If Insert_Initial_Entry Then Dim tn As TreeNode = tree.Nodes.Add("--- Keine ---") tn.Tag = 0 End If Load_Treeview(Treedata, tree, suche) Me.MaxSuchTreffer = Me.TreeaufbauNr tree.ExpandAll() tree.EndUpdate() tree.Enabled = True End Function ''' ''' Treedaten ab Datenbank laden ''' ''' ''' Private Function Load_Treedata(ByVal status As Integer, ByVal alphasort As Boolean) As DataTable Treedata.Tables.Clear() Dim selectcommand As New SqlCommand Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("", connection) selectcommand.CommandText = "sp_get_applstruktur" selectcommand.Parameters.Add("@Mitarbeiternr", SqlDbType.Int, 4) selectcommand.Parameters.Add("@NurAktive", SqlDbType.Int, 4) selectcommand.Parameters.Add("@Alphasort", SqlDbType.Int, 4) selectcommand.Parameters(0).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value selectcommand.Parameters(1).Value = status If alphasort = True Then selectcommand.Parameters(2).Value = 1 Else selectcommand.Parameters(2).Value = 0 'If nuraktive = True Then ' selectcommand.Parameters(1).Value = 1 'Else ' selectcommand.Parameters(1).Value = 0 'End If selectcommand.CommandType = CommandType.StoredProcedure selectcommand.Connection = connection Try connection.ConnectionString = Globals.sConnectionString connection.Open() da.SelectCommand = selectcommand da.Fill(Treedata, "Tree") Catch ex As Exception Finally connection.Close() da.Dispose() selectcommand.Dispose() End Try End Function Private Function Load_Treedata(ByVal Suchstring As String, ByVal status As Integer, ByVal Archivobjekte As Boolean, ByVal alphasort As Boolean, Optional ByVal suche As Boolean = False) As DataTable Treedata.Tables.Clear() Dim selectcommand As New SqlCommand Dim connection As New SqlConnection() Dim da As New SqlDataAdapter("", connection) selectcommand.CommandText = "sp_get_applstruktur_suche" selectcommand.Parameters.Add("@Mitarbeiternr", SqlDbType.Int, 4) selectcommand.Parameters.Add("@suchstring", SqlDbType.VarChar, 255) selectcommand.Parameters.Add("@nuraktive", SqlDbType.Int, 4) selectcommand.Parameters.Add("@arcobject", SqlDbType.Int, 4) selectcommand.Parameters.Add("@alphasort", SqlDbType.Int, 4) selectcommand.Parameters.Add("@suche", SqlDbType.Int, 4) selectcommand.Parameters(0).Value = Globals.clsmitarbeiter.iMitarbeiternr.Value selectcommand.Parameters(1).Value = Suchstring selectcommand.Parameters(2).Value = status If Archivobjekte = True Then selectcommand.Parameters(3).Value = 1 End If If alphasort = True Then selectcommand.Parameters(4).Value = 1 Else selectcommand.Parameters(4).Value = 0 If suche = True Then selectcommand.Parameters(5).Value = 1 Else selectcommand.Parameters(5).Value = 0 selectcommand.CommandType = CommandType.StoredProcedure selectcommand.Connection = connection Try connection.ConnectionString = Globals.sConnectionString connection.Open() da.SelectCommand = selectcommand da.Fill(Treedata, "Tree") Catch ex As Exception Finally connection.Close() da.Dispose() selectcommand.Dispose() End Try End Function ''' ''' Interne Relation aufbauen und Tree aufbauen ''' ''' ''' ''' Dim TreeaufbauSuche As Boolean = False Dim TreeaufbauNr As Integer = 0 Private Sub Load_Treeview(ByVal oSourceData As DataSet, ByRef tree As TreeView, ByVal suche As Boolean) TreeaufbauSuche = suche TreeaufbauNr = -1 If Not (oSourceData Is Nothing) Then Dim oView As DataView = oSourceData.Tables(0).DefaultView Dim oTable As DataTable = oView.Table Dim oDS As DataSet = New DataSet() oDS.Tables.Add(oTable.Copy()) If oDS.Relations.Contains("SelfRefenceRelation") = False Then oDS.Relations.Add("SelfRefenceRelation", _ oDS.Tables(0).Columns("applikationsnr"), _ oDS.Tables(0).Columns("Parentid")) End If oTable.Dispose() oTable = Nothing LoadTreeView(oDS, tree) oDS.Dispose() oDS = Nothing End If End Sub ''' ''' Tree aufbauen ''' ''' ''' ''' Private Sub LoadTreeView(ByVal oDS As DataSet, ByRef oTreeview As TreeView) 'Dim oTreeView As TreeView = New TreeView() Dim oDataRow As DataRow For Each oDataRow In oDS.Tables(0).Rows If Not oDataRow.IsNull("Parentid") Then If oDataRow.Item("Parentid") = 0 Then 'If oDataRow.IsNull("Parentid") Then Dim oNode As New TreeNode() oNode.Text = oDataRow("Bezeichnung").ToString() oNode.Tag = oDataRow("applikationsnr").ToString If Me.TreeaufbauSuche = True Then If oDataRow("Treffer").ToString = "*" Then Me.TreeaufbauNr = Me.TreeaufbauNr + 1 oNode.Tag = "*** " + Trim(Str(Me.TreeaufbauNr)) End If End If If Me.TreeaufbauSuche = False Then If oNode.Tag < 0 Then oNode.ImageIndex = 0 oNode.SelectedImageIndex = 0 oNode.StateImageIndex = 0 Else If oDataRow.Item("Aktiv") = 0 Then oNode.ImageIndex = 2 oNode.SelectedImageIndex = 2 oNode.StateImageIndex = 2 If oDataRow.Item("Lic") = True Then oNode.ImageIndex = 4 oNode.SelectedImageIndex = 4 oNode.StateImageIndex = 4 End If If oDataRow.Item("Strukturelement") = True Then oNode.ImageIndex = 6 oNode.SelectedImageIndex = 6 oNode.StateImageIndex = 6 End If Else oNode.ImageIndex = 1 oNode.SelectedImageIndex = 1 oNode.StateImageIndex = 1 If oDataRow.Item("Lic") = True Then oNode.ImageIndex = 3 oNode.SelectedImageIndex = 3 oNode.StateImageIndex = 3 End If If oDataRow.Item("Strukturelement") = True Then oNode.ImageIndex = 5 oNode.SelectedImageIndex = 5 oNode.StateImageIndex = 5 End If 'If oDataRow.Item("Lic") = True Then ' oNode.ImageIndex = 3 ' oNode.SelectedImageIndex = 3 ' oNode.StateImageIndex = 3 'End If End If End If End If oTreeview.Nodes.Add(oNode) RecursivelyLoadTree(oDataRow, oNode) End If End If Next oDataRow oDS.Dispose() oDS = Nothing End Sub ''' ''' Child-Nodes hinzufügen ''' ''' ''' ''' Private Sub RecursivelyLoadTree(ByVal oDataRow As DataRow, ByRef oNode As TreeNode) Dim oChildRow As DataRow For Each oChildRow In oDataRow.GetChildRows("SelfRefenceRelation") Dim oChildNode As New TreeNode() oChildNode.Text = oChildRow("Bezeichnung").ToString() oChildNode.Tag = oChildRow("applikationsnr").ToString() If Me.TreeaufbauSuche = True Then If oChildRow("Treffer").ToString = "*" Then Me.TreeaufbauNr = Me.TreeaufbauNr + 1 oChildNode.Tag = "*** " + Trim(Str(Me.TreeaufbauNr)) End If End If If oChildRow.Item("Aktiv") = False Then oChildNode.ImageIndex = 2 oChildNode.SelectedImageIndex = 2 oChildNode.StateImageIndex = 2 If oChildRow.Item("Lic") = True Then oChildNode.ImageIndex = 4 oChildNode.SelectedImageIndex = 4 oChildNode.StateImageIndex = 4 End If If oChildRow.Item("Strukturelement") = True Then oChildNode.ImageIndex = 6 oChildNode.SelectedImageIndex = 6 oChildNode.StateImageIndex = 6 End If Else oChildNode.ImageIndex = 1 oChildNode.SelectedImageIndex = 1 oChildNode.StateImageIndex = 1 If oChildRow.Item("Lic") = True Then oChildNode.ImageIndex = 3 oChildNode.SelectedImageIndex = 3 oChildNode.StateImageIndex = 3 End If If oChildRow.Item("Strukturelement") = True Then oChildNode.ImageIndex = 5 oChildNode.SelectedImageIndex = 5 oChildNode.StateImageIndex = 5 End If End If oNode.Nodes.Add(oChildNode) RecursivelyLoadTree(oChildRow, oChildNode) Next oChildRow End Sub Public Function FindNode(ByVal _nodeCollection As TreeNodeCollection, ByVal SearchVal As Integer, ByVal SearchString As String) As TreeNode Dim tmpNode As TreeNode For Each _child As TreeNode In _nodeCollection If _child.Tag = SearchVal Then Return _child End If tmpNode = FindNode(_child.Nodes, SearchVal, SearchString) If Not tmpNode Is Nothing Then Return tmpNode End If Next Return Nothing End Function End Class Public Class clsApplikationsuebersicht Public Function Get_Applikationsdetails(ByVal EntryRoot As Integer, ByVal Suchstring As String) As DataTable Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.CommandText = "dbo.sp_applikationsuebersicht_get_details" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@EntryRoot", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, EntryRoot)) scmCmdToExecute.Parameters.Add(New SqlParameter("@suchstring", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Suchstring)) scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.clsmitarbeiter.iMitarbeiternr.Value)) sdaAdapter.Fill(dtToReturn) Return dtToReturn Catch ex As Exception Throw New Exception("clsApplikationsuebersicht::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try End Function End Class Public Class clsApplikationLogbuch Inherits TKB.VV.DB.clsApplikationLogbuch #Region "Deklarationen" Public Neuer_Datensatz As Boolean = False 'Private vertragstyp As New TKB.VV.DB.clsVertragstyp Public Releasearten As New DataTable 'Private Applikation As New TKB.VV.DB.clsApplikation Public Personen As New DataTable Public Personen1 As New DataTable Public Personen2 As New DataTable Private Stammdaten As New TKB.VV.Stammdaten.clsStammdaten #End Region Sub New() Releasearten = Stammdaten.Get_Stammdaten("Releaseart", "Bezeichnung") Personen = Stammdaten.Get_Stammdaten("Person", "Name") Personen1 = Stammdaten.Get_Stammdaten("Person1", "Name") Personen2 = Stammdaten.Get_Stammdaten("Person2", "Name") End Sub Public Overloads Sub dispose() MyBase.Dispose() Try 'vertragstyp.Dispose() Releasearten.Dispose() 'Applikation.Dispose() Personen.Dispose() Personen1.Dispose() Personen2.Dispose() 'Lizenztyp.Dispose() Catch End Try End Sub ''' ''' Kuendigungsfrist lesen ''' ''' ''' ''' Public Function Get_ApplikationLogbuch(ByVal Nr As Integer) Me.cpMainConnectionProvider = Globals.conn Me.iApplikationLogbuchNr = New SqlInt32(CType(Nr, Int32)) Globals.conn.OpenConnection() Me.SelectOne() Globals.conn.CloseConnection(True) End Function ''' ''' Daten sichern ''' ''' ''' Public Function Save_Data() As Integer Me.cpMainConnectionProvider = Globals.conn Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = False Return Me.iApplikationLogbuchNr.Value End Function ''' ''' Neue Kuendigungsfrist einfügen ''' ''' ''' Public Function Add_New(ByVal Applikationnr As Integer) As Integer Dim db As New TKB.VV.DB.clsMyKey_Tabelle db.cpMainConnectionProvider = Globals.conn Dim newkey = db.get_dbkey("ApplikationLogbuch") db.Dispose() Me.iApplikationLogbuchNr = New SqlInt32(CType(newkey, Int32)) Me.iApplikationNr = New SqlInt32(CType(Applikationnr, Int32)) Me.daFreigabeDatum = New SqlDateTime(CType("01.01.1900", SqlDateTime)) Me.daReleasedatum = New SqlDateTime(CType("01.01.1900", SqlDateTime)) Me.daAbnahmeTecDatum = New SqlDateTime(CType("01.01.1900", SqlDateTime)) Me.iReleaseartnr = New SqlInt32(CType(0, Int32)) Me.daAbnahmeFBDatum = New SqlDateTime(CType("01.01.1900", SqlDateTime)) Me.iFreigabedurch = New SqlInt32(CType(0, Int32)) Me.iAbnahmeFBPerson = New SqlInt32(CType(0, Int32)) Me.iAbnahmeTecPerson = New SqlInt32(CType(0, Int32)) Me.sBemerkung = New SqlString(CType("", String)) Me.sBezeichnung = New SqlString(CType("", String)) Me.bAktiv = New SqlBoolean(CType(True, Boolean)) Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Me.cpMainConnectionProvider = Globals.conn Globals.conn.OpenConnection() Me.Insert() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = True Return newkey End Function ''' ''' Kopie eines Datensatzes erstellen. ''' ''' ''' ''' Public Function Delete_ApplikationLogubuch(Optional ByVal Basenr As Integer = 0) As Integer If Basenr <> 0 Then Me.Get_ApplikationLogbuch(Basenr) End If Me.cpMainConnectionProvider = Globals.conn Me.bAktiv = New SqlBoolean(CType(False, Boolean)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Me.Neuer_Datensatz = False Globals.conn.CloseConnection(True) End Function ''' ''' Physisches Löschen eines Datensatzes erstellen. ''' ''' ''' ''' Public Overloads Function Delete(ByVal Basenr As Integer) As Integer If Basenr <> 0 Then Me.Get_ApplikationLogbuch(Basenr) End If Globals.conn.OpenConnection() MyBase.Delete() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = False End Function #Region "Dokumente" Public dokumente As New DataTable Public Dokument As New TKB.VV.DMS.clsDok ''' ''' Dokumente lesen und dem Grid übergeben ''' ''' C1TrueDBGrid mit Dokumente ''' ''' Public Function Get_Dokumente(ByRef c1data As C1TrueDBGrid, Optional ByVal ImgList As ImageList = Nothing) Try dokumente.Dispose() dokumente = Nothing Catch ex As Exception End Try dokumente = Dokument.Get_Dokumente(Me.iApplikationLogbuchNr.Value, 4) c1data.DataSource = dokumente c1data.DataMember = dokumente.TableName If Not ImgList Is Nothing Then Set_Imagevalues(c1data, ImgList) End If End Function Private Sub Set_Imagevalues(ByRef c1data As C1TrueDBGrid, ByRef imglist As ImageList) Dim i As Integer Dim s As String For i = 0 To dokumente.Rows.Count - 1 s = dokumente.Rows(i).Item("Filename") If Len(s) < 4 Then s = ".div" Select Case UCase(s.Substring(Len(s) - 4, 4)) Case ".PDF" dokumente.Rows(i).Item("DokIcon") = 0 Case ".DOC" dokumente.Rows(i).Item("DokIcon") = 1 Case ".XLS" dokumente.Rows(i).Item("DokIcon") = 2 Case ".PPT" dokumente.Rows(i).Item("DokIcon") = 3 Case ".HTM", "TML", "XML" dokumente.Rows(i).Item("DokIcon") = 4 Case ".MSG" dokumente.Rows(i).Item("DokIcon") = 5 Case Else dokumente.Rows(i).Item("DokIcon") = 6 End Select Next Dim bmp0 As New Bitmap(imglist.Images(0)) Dim bmp1 As New Bitmap(imglist.Images(1)) Dim bmp2 As New Bitmap(imglist.Images(2)) Dim bmp3 As New Bitmap(imglist.Images(3)) Dim bmp4 As New Bitmap(imglist.Images(4)) Dim bmp5 As New Bitmap(imglist.Images(5)) Dim bmp6 As New Bitmap(imglist.Images(6)) Dim v0 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v1 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v2 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v3 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v4 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v5 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v6 As New C1.Win.C1TrueDBGrid.ValueItem() v0.DisplayValue = bmp0 v0.Value = 0 v1.DisplayValue = bmp1 v1.Value = 1 v2.DisplayValue = bmp2 v2.Value = 2 v3.DisplayValue = bmp3 v3.Value = 3 v4.DisplayValue = bmp4 v4.Value = 4 v5.DisplayValue = bmp5 v5.Value = 5 v6.DisplayValue = bmp6 v6.Value = 6 c1data.Columns("dokicon").ValueItems.Values.Add(v0) c1data.Columns("dokicon").ValueItems.Values.Add(v1) c1data.Columns("dokicon").ValueItems.Values.Add(v2) c1data.Columns("dokicon").ValueItems.Values.Add(v3) c1data.Columns("dokicon").ValueItems.Values.Add(v4) c1data.Columns("dokicon").ValueItems.Values.Add(v5) c1data.Columns("dokicon").ValueItems.Values.Add(v6) c1data.Columns("dokicon").ValueItems.Translate = True End Sub #End Region End Class Public Class clsApplikationVersion Inherits TKB.VV.DB.clsApplikationVersion #Region "Deklarationen" Public Neuer_Datensatz As Boolean = False #End Region Sub New() End Sub Public Overloads Sub dispose() MyBase.Dispose() Try Catch End Try End Sub ''' ''' Kuendigungsfrist lesen ''' ''' ''' ''' Public Function Get_ApplikationVersion(ByVal Nr As Integer) Me.cpMainConnectionProvider = Globals.conn Me.iApplikationVersionNr = New SqlInt32(CType(Nr, Int32)) Globals.conn.OpenConnection() Me.SelectOne() Globals.conn.CloseConnection(True) End Function ''' ''' Daten sichern ''' ''' ''' Public Function Save_Data() As Integer Me.cpMainConnectionProvider = Globals.conn Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = False Return Me.iApplikationVersionNr.Value End Function ''' ''' Neue Kuendigungsfrist einfügen ''' ''' ''' Public Function Add_New(ByVal Applikationnr As Integer) As Integer Dim db As New TKB.VV.DB.clsMyKey_Tabelle db.cpMainConnectionProvider = Globals.conn Dim newkey = db.get_dbkey("ApplikationVersion") db.Dispose() Me.iApplikationVersionNr = New SqlInt32(CType(newkey, Int32)) Me.sVersion = New SqlString(CType("", String)) Me.sBemerkung = New SqlString(CType("", String)) Me.iApplikationNr = New SqlInt32(CType(Applikationnr, Int32)) Me.bAktiv = New SqlBoolean(CType(True, Boolean)) Me.bEingesetzt = New SqlBoolean(CType(False, Boolean)) Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Me.cpMainConnectionProvider = Globals.conn Globals.conn.OpenConnection() Me.Insert() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = True Return newkey End Function ''' ''' Kopie eines Datensatzes erstellen. ''' ''' ''' ''' Public Function Delete_ApplikationVersion(Optional ByVal Basenr As Integer = 0) As Integer If Basenr <> 0 Then Me.Get_ApplikationVersion(Basenr) End If Me.cpMainConnectionProvider = Globals.conn Me.bAktiv = New SqlBoolean(CType(False, Boolean)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Me.Neuer_Datensatz = False Globals.conn.CloseConnection(True) End Function Public Function Check_Version(ByVal Versionnr As Integer) As Boolean Dim scmCmdToExecute As SqlCommand = New SqlCommand() Dim dtToReturn As DataTable = New DataTable() Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute) scmCmdToExecute.CommandText = "dbo.sp_check_version" scmCmdToExecute.CommandType = CommandType.StoredProcedure scmCmdToExecute.Connection = conn.scoDBConnection Try scmCmdToExecute.Parameters.Add(New SqlParameter("@versionnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Versionnr)) scmCmdToExecute.Parameters.Add(New SqlParameter("@Returnvalue", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0)) conn.OpenConnection() scmCmdToExecute.ExecuteNonQuery() conn.CloseConnection(True) If scmCmdToExecute.Parameters("@returnvalue").Value = 1 Then Return False Else Return True End If Catch ex As Exception Throw New Exception("clsApplikation::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex) Finally scmCmdToExecute.Dispose() sdaAdapter.Dispose() End Try ' VertragselementApplikationen = New TKB.VV.Sysadmin.DomainTable("VertragselementApplikation", 1, Me.iApplikationNr.ToString, Globals.clsmitarbeiter.iMitarbeiternr.Value) ' Dim i As Integer = 0 ' c1data.DataSource = VertragselementApplikationen.Tabledata ' c1data.DataMember = VertragselementApplikationen.Tabledata.Tables(0).TableName End Function ''' ''' Physisches Löschen eines Datensatzes erstellen. ''' ''' ''' ''' Public Overloads Function Delete(ByVal Basenr As Integer) As Integer If Basenr <> 0 Then Me.Get_ApplikationVersion(Basenr) End If Globals.conn.OpenConnection() MyBase.Delete() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = False End Function End Class Public Class clsApplikationIKVTest Inherits TKB.VV.DB.clsApplikation_IKV_Test Public Neuer_Datensatz As Boolean = False Private Stammdaten As New TKB.VV.Stammdaten.clsStammdaten Public IKVTestresultate As New DataTable Sub New() Me.cpMainConnectionProvider = Globals.conn IKVTestresultate = Stammdaten.Get_Stammdaten("Applikation_IKV_TestResultat", "Reihenfolge") End Sub Public Overloads Sub dispose() MyBase.Dispose() IKVTestresultate.Dispose() End Sub ''' ''' Kuendigungsfrist lesen ''' ''' ''' ''' Public Function Get_ApplikationIKVTest(ByVal Nr As Integer) Me.cpMainConnectionProvider = Globals.conn Me.iApplikation_IKV_TestNr = New SqlInt32(CType(Nr, Int32)) Globals.conn.OpenConnection() Me.SelectOne() Globals.conn.CloseConnection(True) End Function ''' ''' Daten sichern ''' ''' ''' Public Function Save_Data() As Integer Me.cpMainConnectionProvider = Globals.conn Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = False Return Me.iApplikation_IKV_TestNr.Value End Function Public Function Add_New(ByVal Applikationnr As Integer) As Integer Dim db As New TKB.VV.DB.clsMyKey_Tabelle db.cpMainConnectionProvider = Globals.conn Dim newkey = db.get_dbkey("Applikation_IKV_Test") db.Dispose() Me.iApplikation_IKV_TestNr = New SqlInt32(CType(newkey, Int32)) Me.iApplikationNr = New SqlInt32(CType(Applikationnr, Int32)) Me.daDurchgeführt = New SqlDateTime(CType("01.01.1900", SqlDateTime)) Me.daGeplant = New SqlDateTime(CType("01.01.1900", SqlDateTime)) Me.iJahr = New SqlInt32(CType(Year(Now), Int32)) Me.iApplikation_IKV_TestResultatNr = New SqlInt32(CType(-1, Int32)) Me.sBemerkung = New SqlString(CType("", String)) Me.bAktiv = New SqlBoolean(CType(True, Boolean)) Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Me.cpMainConnectionProvider = Globals.conn Globals.conn.OpenConnection() Me.Insert() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = True Return newkey End Function Public Function Delete_ApplikationIKVTest(Optional ByVal Basenr As Integer = 0) As Integer If Basenr <> 0 Then Me.Get_ApplikationIKVTest(Basenr) End If Me.cpMainConnectionProvider = Globals.conn Me.bAktiv = New SqlBoolean(CType(False, Boolean)) Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime)) Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32)) Globals.conn.OpenConnection() Me.Update() Me.Neuer_Datensatz = False Globals.conn.CloseConnection(True) End Function Public Overloads Function Delete(ByVal Basenr As Integer) As Integer If Basenr <> 0 Then Me.Get_ApplikationIKVTest(Basenr) End If Globals.conn.OpenConnection() MyBase.Delete() Globals.conn.CloseConnection(True) Me.Neuer_Datensatz = False End Function #Region "Dokumente" Public dokumente As New DataTable Public Dokument As New TKB.VV.DMS.clsDok ''' ''' Dokumente lesen und dem Grid übergeben ''' ''' C1TrueDBGrid mit Dokumente ''' ''' Public Function Get_Dokumente(ByRef c1data As C1TrueDBGrid, Optional ByVal ImgList As ImageList = Nothing) Try dokumente.Dispose() dokumente = Nothing Catch ex As Exception End Try dokumente = Dokument.Get_Dokumente(Me.iApplikation_IKV_TestNr.Value, 5) c1data.DataSource = dokumente c1data.DataMember = dokumente.TableName If Not ImgList Is Nothing Then Set_Imagevalues(c1data, ImgList) End If End Function Private Sub Set_Imagevalues(ByRef c1data As C1TrueDBGrid, ByRef imglist As ImageList) Dim i As Integer Dim s As String For i = 0 To dokumente.Rows.Count - 1 s = dokumente.Rows(i).Item("Filename") If Len(s) < 4 Then s = ".div" Select Case UCase(s.Substring(Len(s) - 4, 4)) Case ".PDF" dokumente.Rows(i).Item("DokIcon") = 0 Case ".DOC" dokumente.Rows(i).Item("DokIcon") = 1 Case ".XLS" dokumente.Rows(i).Item("DokIcon") = 2 Case ".PPT" dokumente.Rows(i).Item("DokIcon") = 3 Case ".HTM", "TML", "XML" dokumente.Rows(i).Item("DokIcon") = 4 Case ".MSG" dokumente.Rows(i).Item("DokIcon") = 5 Case Else dokumente.Rows(i).Item("DokIcon") = 6 End Select Next Dim bmp0 As New Bitmap(imglist.Images(0)) Dim bmp1 As New Bitmap(imglist.Images(1)) Dim bmp2 As New Bitmap(imglist.Images(2)) Dim bmp3 As New Bitmap(imglist.Images(3)) Dim bmp4 As New Bitmap(imglist.Images(4)) Dim bmp5 As New Bitmap(imglist.Images(5)) Dim bmp6 As New Bitmap(imglist.Images(6)) Dim v0 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v1 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v2 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v3 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v4 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v5 As New C1.Win.C1TrueDBGrid.ValueItem() Dim v6 As New C1.Win.C1TrueDBGrid.ValueItem() v0.DisplayValue = bmp0 v0.Value = 0 v1.DisplayValue = bmp1 v1.Value = 1 v2.DisplayValue = bmp2 v2.Value = 2 v3.DisplayValue = bmp3 v3.Value = 3 v4.DisplayValue = bmp4 v4.Value = 4 v5.DisplayValue = bmp5 v5.Value = 5 v6.DisplayValue = bmp6 v6.Value = 6 c1data.Columns("dokicon").ValueItems.Values.Add(v0) c1data.Columns("dokicon").ValueItems.Values.Add(v1) c1data.Columns("dokicon").ValueItems.Values.Add(v2) c1data.Columns("dokicon").ValueItems.Values.Add(v3) c1data.Columns("dokicon").ValueItems.Values.Add(v4) c1data.Columns("dokicon").ValueItems.Values.Add(v5) c1data.Columns("dokicon").ValueItems.Values.Add(v6) c1data.Columns("dokicon").ValueItems.Translate = True End Sub #End Region End Class End Namespace