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.

259 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_Partnerlist(ByRef List As Windows.Forms.ListBox, ByRef ListboxBPNr As Windows.Forms.ListBox, ByVal sort As Integer)
dsdaten.Tables.Clear()
Exec_sp_(1, sort, My.Settings.Dokumenttypnr)
List.Items.Clear()
ListboxBPNr.Items.Clear()
For Each r As DataRow In dsdaten.Tables(0).Rows
Try
List.Items.Add(r.Item(0))
ListboxBPNr.Items.Add(r.Item("nrpar00"))
Catch ex As Exception
End Try
Next
End Function
Public Function Get_Struktur(ByRef Tree As Windows.Forms.TreeView, ByVal nrpar00 As String)
dsdaten.Tables.Clear()
Exec_sp_(2, nrpar00, My.Settings.Dokumenttypnr)
Dim year As Integer = 0
Tree.Nodes.Clear()
Dim t As Windows.Forms.TreeNode
For Each r As DataRow In dsdaten.Tables(0).Rows
If r("year") <> year Then
t = New Windows.Forms.TreeNode
t.Text = r("year")
t.Tag = r("year")
Tree.Nodes.Add(t)
Dim tn As New Windows.Forms.TreeNode
tn.Text = r("month")
tn.Tag = r("year").ToString + "/" + r("month").ToString
t.Nodes.Add(tn)
year = r("year")
Else
Dim tn As New Windows.Forms.TreeNode
tn.Text = r("month")
tn.Tag = r("year").ToString + "/" + r("month").ToString
t.Nodes.Add(tn)
year = r("year")
End If
Next
Tree.ExpandAll()
Try
Tree.SelectedNode = Tree.Nodes(0)
Catch ex As Exception
End Try
End Function
Public Sub Get_Dokumente(ByRef c1daten As C1.Win.C1TrueDBGrid.C1TrueDBGrid, ByVal nrpar00 As String, ByVal selektion As String)
dsdaten.Tables.Clear()
Exec_sp_(3, nrpar00, selektion, My.Settings.Dokumenttypnr)
c1daten.DataSource = Nothing
c1daten.DataSource = dsdaten.Tables(0)
c1daten.DataMember = dsdaten.Tables(0).TableName
For Each c As DataColumn In dsdaten.Tables(0).Columns
c1daten.Splits(0).DisplayColumns(c.ColumnName).AutoSize()
Next
c1daten.AllowAddNew = False
c1daten.AllowUpdate = False
c1daten.AllowDelete = False
End Sub
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_Boersenabrechnung"
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 ""
End Select
Catch ex As Exception
MsgBox("Insert_job::" & 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