You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
233 lines
13 KiB
233 lines
13 KiB
Imports System.Data.SqlClient
|
|
Imports System.Data.SqlDbType
|
|
Imports System.IO
|
|
Public Class clsdb
|
|
Dim m_connectionstring As String
|
|
Property Connectionstring As String
|
|
Get
|
|
Return m_connectionstring
|
|
End Get
|
|
Set(value As String)
|
|
m_connectionstring = value
|
|
End Set
|
|
End Property
|
|
|
|
Public dsdaten As New DataSet
|
|
Public dadaten As SqlDataAdapter
|
|
Dim sql As String
|
|
Sub New()
|
|
Dim ConnectionFilename As String = "edokaconn.cfg"
|
|
Dim path As String = ""
|
|
Dim fc As Integer = 0
|
|
|
|
Dim ofile As System.IO.File
|
|
Dim oread As System.IO.StreamReader
|
|
Dim sConnectionstring As String
|
|
oread = ofile.OpenText(ApplicationPath() + "\" + ConnectionFilename)
|
|
sConnectionstring = oread.ReadLine
|
|
sConnectionstring = Crypto.DecryptText(sConnectionstring, "HutterundMueller")
|
|
sConnectionstring = Left(sConnectionstring, Len(sConnectionstring) - 1)
|
|
sConnectionstring = sConnectionstring
|
|
oread.Close()
|
|
Me.Connectionstring = sConnectionstring
|
|
End Sub
|
|
|
|
Public Function get_dokumente_from_parter(ByVal Partnernr As Integer, ByRef dbgrid As C1.Win.C1TrueDBGrid.C1TrueDBGrid)
|
|
dsdaten.Tables.Clear()
|
|
dbgrid.DataSource = Nothing
|
|
Exec_sp_(1, Partnernr)
|
|
dbgrid.DataSource = dsdaten.Tables(0)
|
|
dbgrid.DataMember = dsdaten.Tables(0).TableName
|
|
For Each c As DataColumn In dsdaten.Tables(0).Columns
|
|
dbgrid.Splits(0).DisplayColumns(c.ColumnName).AutoSize()
|
|
Next
|
|
dbgrid.AllowAddNew = False
|
|
dbgrid.AllowUpdate = False
|
|
End Function
|
|
|
|
Public Function get_dokumente_from_dokumentid(ByVal dokumentid As String, ByRef dbgrid As C1.Win.C1TrueDBGrid.C1TrueDBGrid)
|
|
dsdaten.Tables.Clear()
|
|
dbgrid.DataSource = Nothing
|
|
Exec_sp_(2, dokumentid)
|
|
dbgrid.DataSource = dsdaten.Tables(0)
|
|
dbgrid.DataMember = dsdaten.Tables(0).TableName
|
|
For Each c As DataColumn In dsdaten.Tables(0).Columns
|
|
dbgrid.Splits(0).DisplayColumns(c.ColumnName).AutoSize()
|
|
Next
|
|
dbgrid.AllowAddNew = False
|
|
dbgrid.AllowUpdate = False
|
|
End Function
|
|
|
|
Public Function Get_Dokumenttyp()
|
|
Exec_sp_(3)
|
|
Return dsdaten.Tables(0).Rows(0).Item(0)
|
|
End Function
|
|
|
|
Public Function Update_Email(ByVal Dokumentid As String, ByVal Key As Integer, ByVal manr As Integer, ByVal email As String)
|
|
Exec_sp_(10, Dokumentid, Key, manr, email)
|
|
MsgBox("Daten wurden gespeichernt.", vbInformation)
|
|
End Function
|
|
|
|
Public Function Insert_Email(ByVal Dokumentid As String, ByVal Key As Integer, ByVal manr As Integer, ByVal email As String)
|
|
Exec_sp_(11, Dokumentid, Key, manr, email)
|
|
MsgBox("Neur Datensatz wurden gespeichernt.", vbInformation)
|
|
End Function
|
|
|
|
|
|
Public Function Exec_sp_(fnkt As Integer, Optional param1 As String = "", Optional param2 As String = "", Optional param3 As String = "", Optional param4 As String = "", Optional param5 As String = "", Optional param6 As String = "", Optional param7 As String = "", Optional param8 As String = "", Optional param9 As String = "") As String
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
|
|
Dim conn As New SqlConnection(Connectionstring)
|
|
scmCmdToExecute.CommandText = "dbo.sp_emailerklaerung"
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
Dim dtToReturn As DataTable = New DataTable()
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
scmCmdToExecute.Connection = conn
|
|
Try
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, fnkt))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@param1", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param1))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@param2", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param2))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@param3", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param3))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@param4", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param4))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@param5", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param5))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@param6", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param6))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@param7", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param7))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@param8", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param8))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@param9", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, param9))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@Retvalue", SqlDbType.VarChar, 255, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
conn.Open()
|
|
|
|
Select Case fnkt
|
|
Case 1, 2, 3, 4
|
|
sdaAdapter.Fill(dsdaten, "Jobstatus")
|
|
Return ""
|
|
Case Else
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
End Select
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
MsgBox("EMail-Erklärung_fnkt_1::" & scmCmdToExecute.CommandText + "::" + ex.Message)
|
|
Return ""
|
|
Finally
|
|
conn.Close()
|
|
scmCmdToExecute.Dispose()
|
|
sdaAdapter.Dispose()
|
|
dtToReturn.Dispose()
|
|
End Try
|
|
End Function
|
|
|
|
Public Function get_colddokumentid(ByVal dokumentid As String, ByVal fnkt As Integer) As String
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
Dim conn As New SqlConnection(Connectionstring)
|
|
scmCmdToExecute.CommandText = "dbo.sp_get_colddokumentid"
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
Dim dtToReturn As DataTable = New DataTable()
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
scmCmdToExecute.Connection = conn
|
|
Try
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, fnkt))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@colddokumentid", SqlDbType.VarChar, 255, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@coldpartnernr", SqlDbType.VarChar, 255, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
|
|
sdaAdapter.Fill(dtToReturn)
|
|
get_colddokumentid = scmCmdToExecute.Parameters("@colddokumentid").Value
|
|
Catch ex As Exception
|
|
MsgBox("Status Dokumentbearbeitung::" & scmCmdToExecute.CommandText + "::" + ex.Message)
|
|
Finally
|
|
scmCmdToExecute.Dispose()
|
|
sdaAdapter.Dispose()
|
|
dtToReturn.Dispose()
|
|
End Try
|
|
End Function
|
|
|
|
Public Function Get_From_DB(ByVal sDokumentID As String, ByVal sDokumentName As String, Optional ByRef DokType As String = "") As Boolean
|
|
Dim dokumentid As String
|
|
Dim dokumentname As String
|
|
dokumentid = sDokumentID
|
|
dokumentname = sDokumentName
|
|
|
|
Dim connection As New SqlConnection()
|
|
Dim da As New SqlDataAdapter("Select * From doks where DokumentID='" + dokumentid + "'", connection)
|
|
Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da)
|
|
Dim ds As New DataSet()
|
|
|
|
Try
|
|
'Connectionstring zur Datenbank
|
|
connection.ConnectionString = Me.Connectionstring
|
|
connection.Open()
|
|
da.Fill(ds, "docs")
|
|
|
|
'Versuchen, ob es sich um ein EDKIMP-Dokument handelt - Rel. 3.73 SHU
|
|
|
|
Dim myRow As DataRow
|
|
myRow = ds.Tables(0).Rows(0)
|
|
Dim MyData() As Byte
|
|
MyData = myRow.Item(1)
|
|
'If myRow.Item(2).ToString = "" Then DokType = ".doc" Else DokType = myRow.Item(2)
|
|
Dim K As Long
|
|
K = UBound(MyData)
|
|
Dim fs As New FileStream(sDokumentName, FileMode.OpenOrCreate, FileAccess.Write)
|
|
fs.Write(MyData, 0, K)
|
|
fs.Close()
|
|
fs = Nothing
|
|
Catch ex As Exception
|
|
|
|
Return False
|
|
End Try
|
|
CB = Nothing
|
|
ds = Nothing
|
|
da = Nothing
|
|
connection.Close()
|
|
connection = Nothing
|
|
Return True
|
|
End Function
|
|
|
|
Public Function Journal_Dokumentzugriff(ByVal dokumentid As String, ByVal zugriffsart As String, ByVal host As Integer, ByVal partnernr As Integer, ByVal partner_kurzbezeichnung As String, ByVal dokumenttyp As String)
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
Dim i As Integer
|
|
Dim connopen As Boolean = False
|
|
scmCmdToExecute.CommandText = "dbo.sp_journal_dokzugriffe"
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
Dim conn As New SqlConnection(Connectionstring)
|
|
scmCmdToExecute.Connection = conn
|
|
Try
|
|
If host = 0 Then
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.Mitarbeiternr))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@zugriffsart", SqlDbType.VarChar, 25, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, zugriffsart))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@host", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@partnernr", SqlDbType.VarChar, 10, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@partnerkbez", SqlDbType.VarChar, 35, ParameterDirection.Input, True, 35, 0, "", DataRowVersion.Proposed, ""))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttyp", SqlDbType.VarChar, 128, ParameterDirection.Input, True, 35, 0, "", DataRowVersion.Proposed, ""))
|
|
Else
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.Mitarbeiternr))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@zugriffsart", SqlDbType.VarChar, 25, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, zugriffsart))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@host", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@partnernr", SqlDbType.VarChar, 10, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, partnernr))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@partnerkbez", SqlDbType.VarChar, 35, ParameterDirection.Input, True, 35, 0, "", DataRowVersion.Proposed, partner_kurzbezeichnung))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumenttyp", SqlDbType.VarChar, 128, ParameterDirection.Input, True, 35, 0, "", DataRowVersion.Proposed, dokumenttyp))
|
|
End If
|
|
Try
|
|
scmCmdToExecute.Connection.Open()
|
|
connopen = True
|
|
Catch
|
|
End Try
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
If connopen Then
|
|
Try
|
|
scmCmdToExecute.Connection.Close()
|
|
Catch
|
|
End Try
|
|
End If
|
|
Catch ex As Exception
|
|
|
|
Finally
|
|
scmCmdToExecute.Dispose()
|
|
End Try
|
|
End Function
|
|
End Class
|