update nach Bedingt Retournierbar

This commit is contained in:
2023-06-16 07:28:30 +02:00
parent 1f4e3a6a57
commit 584a947572
382 changed files with 2593860 additions and 21657 deletions

View File

@@ -0,0 +1,16 @@
Imports System.Collections.Generic
Public Class OnBaseDokument
Public Property dokumentTyp As String
Public Property dokumentDatum As String
Public Property dateiTyp As String
Public Property bpNummer As String
Public Property personNummer As String
Public Property dokumentDatei As String
Public Property attributes As List(Of attribute)
End Class
Public Class attribute
Public Property fieldname As String
Public Property fieldvalue As String
End Class

209
Klassen/clsParams.vb Normal file
View File

@@ -0,0 +1,209 @@
Public Class clsParams
Dim mConnectionstring_EDOKA As String
Property Connectionstring_EDOKA As String
Get
Return mConnectionstring_EDOKA
End Get
Set(value As String)
mConnectionstring_EDOKA = value
End Set
End Property
Dim mConnectionstring_DokTypMapping As String
Property Connectionstring_DokTypMapping As String
Get
Return mConnectionstring_DokTypMapping
End Get
Set(value As String)
mConnectionstring_DokTypMapping = value
End Set
End Property
Dim mconnectionstring_Journale As String
Property Connectionstring_Journale As String
Get
Return mconnectionstring_Journale
End Get
Set(value As String)
mconnectionstring_Journale = value
End Set
End Property
Dim mEntrypPoint_IL As String
Property EntryPoint_IL As String
Get
Return mEntrypPoint_IL
End Get
Set(value As String)
mEntrypPoint_IL = value
End Set
End Property
Dim mBCK_TimerInterval As Integer
Property BCK_TimerInterval As Integer
Get
Return mBCK_TimerInterval
End Get
Set(value As Integer)
mBCK_TimerInterval = value
End Set
End Property
Dim mDocument_TimerInterval As Integer
Property Document_Timerinterval As Integer
Get
Return mDocument_TimerInterval
End Get
Set(value As Integer)
mDocument_TimerInterval = value
End Set
End Property
Dim mWachDir As String
Property WachDir As String
Get
Return mWachDir
End Get
Set(value As String)
mWachDir = value
End Set
End Property
Dim mmTempDir As String
Property TempDir As String
Get
Return mmTempDir
End Get
Set(value As String)
mmTempDir = value
End Set
End Property
Dim mTempDirOffice As String
Property TempDirOffice As String
Get
Return mTempDirOffice
End Get
Set(value As String)
mTempDirOffice = value
End Set
End Property
Dim mAsOffice As String
Property AsOffice As String
Get
Return mAsOffice
End Get
Set(value As String)
mAsOffice = value
End Set
End Property
Dim mdebug As String
Property Debug As String
Get
Return mdebug
End Get
Set(value As String)
mdebug = value
End Set
End Property
Dim msendtoonbase As String
Property SendToOnBase As String
Get
Return msendtoonbase
End Get
Set(value As String)
msendtoonbase = value
End Set
End Property
Dim mupdateedoka As String
Property updateedoka As String
Get
Return mupdateedoka
End Get
Set(value As String)
mupdateedoka = value
End Set
End Property
Dim mlogfilename As String
Property LogFilename As String
Get
Return mlogfilename
End Get
Set(value As String)
mlogfilename = value
End Set
End Property
Dim mexcelcsv As String
Property ExcelCSV As String
Get
Return mexcelcsv
End Get
Set(value As String)
mexcelcsv = value
End Set
End Property
Dim mexceldoktyp As String
Property ExcelDokTyp As String
Get
Return mexceldoktyp
End Get
Set(value As String)
mexceldoktyp = value
End Set
End Property
Dim mdeletetempfiles As Boolean = False
Property DeleteTempFiles As Boolean
Get
Return mdeletetempfiles
End Get
Set(value As Boolean)
mdeletetempfiles = value
End Set
End Property
Dim mloglevel As Integer
Property Loglevel As Integer
Get
Return mloglevel
End Get
Set(value As Integer)
mloglevel = value
End Set
End Property
Dim mkillcmd As String
Property KillCmd As String
Get
Return mkillcmd
End Get
Set(value As String)
mkillcmd = value
End Set
End Property
Public Sub get_params()
Me.Connectionstring_EDOKA = My.Settings.Connectionstring_EDOKA
Me.Connectionstring_Journale = My.Settings.Connectionstring_Journale
Me.EntryPoint_IL = My.Settings.Entrypoint_IL
Me.BCK_TimerInterval = My.Settings.BCK_Intervall
Me.Document_Timerinterval = My.Settings.Dokument_Intervall
Me.WachDir = My.Settings.Watch_Dir
Me.TempDir = My.Settings.TempDir
Me.TempDirOffice = My.Settings.TempDirOffice
Me.AsOffice = My.Settings.OfficeFormat
Me.Debug = My.Settings.Debug
Me.SendToOnBase = My.Settings.SendOnBase
Me.updateedoka = My.Settings.UpdateEDOKA
Me.LogFilename = My.Settings.Logfile
Me.ExcelCSV = My.Settings.ExcelCSV
Me.ExcelDokTyp = My.Settings.ExcelDokType
Me.DeleteTempFiles = My.Settings.DeleteTempFiles = "1"
Me.Connectionstring_DokTypMapping = My.Settings.ConnectionString_DokTypMapping
Me.Loglevel = My.Settings.LogLevel
Me.KillCmd = My.Settings.Killcmd
End Sub
End Class

355
Klassen/clsdb.vb Normal file
View File

@@ -0,0 +1,355 @@
Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.SqlDbType
Imports System.IO
Public Class clsdb
Dim mdebug As Boolean = False
Property Debug As Boolean
Get
Return mdebug
End Get
Set(value As Boolean)
mdebug = value
End Set
End Property
Dim mlogfile As String = ""
Property Logfile As String
Get
Return mlogfile
End Get
Set(value As String)
mlogfile = value
End Set
End Property
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
Dim m_connectionstring_DokTypMapping As String
Property Connectionstring_DokTypMapping As String
Get
Return m_connectionstring_DokTypMapping
End Get
Set(value As String)
m_connectionstring_DokTypMapping = value
End Set
End Property
Public Sub PDebug(ByVal istring As String)
Dim s As String
s = Now.ToString("u")
istring = s + " - " + istring
If Debug = True Then
Console.WriteLine(istring)
If Logfile <> "" Then
Try
FileOpen(1, Logfile, OpenMode.Append)
WriteLine(1, istring)
FileClose(1)
Catch
End Try
End If
End If
End Sub
Public Function Get_Pendente_BCK() As DataTable
Dim connection As New SqlConnection(Connectionstring)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim dtToReturn As DataTable = New DataTable()
Dim ds As New DataSet
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_edoka_onbase"
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, 1))
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, ""))
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = connection
Try
sdaAdapter.Fill(ds)
Return ds.Tables(0)
Catch ex As Exception
PDebug(ex.Message)
End Try
End Function
Public Function Get_DokType(ByVal dokumentid As String) As String
Dim connection As New SqlConnection(Connectionstring)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim dtToReturn As DataTable = New DataTable()
Dim ds As New DataSet
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_edoka_onbase"
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, 8))
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, dokumentid))
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = connection
Try
sdaAdapter.Fill(ds)
If ds.Tables(0).Rows.Count > 0 Then
Return ds.Tables(0).Rows(0).Item(0)
Else
Return ""
End If
Catch ex As Exception
'pdebug("Fehler:Get_OnBase_Datastream: "+ex.Message)
End Try
End Function
Public Function Get_DokTyp_Mapping(ByVal Dokumentid As String) As DataSet
Dim doktyp As String
doktyp = Get_DokType(Dokumentid)
If doktyp = "" Then
PDebug("Dokumenttyp zu Dokumentid: " + Dokumentid + " nicht vorhanden")
Exit Function
End If
Dim connection As New SqlConnection(Me.Connectionstring_DokTypMapping)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim dtToReturn As DataTable = New DataTable()
Dim ds As New DataSet
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "select * from havi_lookup_Dokumenttyp_Mapping where edoka_dokumenttypnr=" + doktyp
scmCmdToExecute.CommandType = CommandType.Text
scmCmdToExecute.Connection = connection
Try
sdaAdapter.Fill(ds)
Return ds
Catch ex As Exception
PDebug("Fehler:Get_OnBase_Datastream: " + ex.Message)
End Try
End Function
Public Function Get_OnBase_Datastream(ByVal dokumentid As String) As DataSet
'Dim dsdoktyp As New DataSet
'dsdoktyp = Get_DokTyp_Mapping(dokumentid)
'Try
' If dsdoktyp.Tables(0).Rows.Count < 1 Then
' PDebug("EDOKA-OnBase-Mapping für " + dokumentid + " nicht möglich")
' Exit Function
' End If
'Catch
' PDebug("EDOKA-OnBase-Mapping für " + dokumentid + " nicht möglcih")
' Exit Function
'End Try
Dim connection As New SqlConnection(Connectionstring)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim dtToReturn As DataTable = New DataTable()
Dim ds As New DataSet
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_edoka_onbase"
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, 2))
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, dokumentid))
scmCmdToExecute.Parameters.Add(New SqlParameter("@value1", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, ""))
scmCmdToExecute.Parameters.Add(New SqlParameter("@value2", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, ""))
scmCmdToExecute.Parameters.Add(New SqlParameter("@value3", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, ""))
scmCmdToExecute.Parameters.Add(New SqlParameter("@value4", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, ""))
scmCmdToExecute.Parameters.Add(New SqlParameter("@value5", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, ""))
scmCmdToExecute.Parameters.Add(New SqlParameter("@value6", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, ""))
'scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, dokumentid))
'scmCmdToExecute.Parameters.Add(New SqlParameter("@value1", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, dsdoktyp.Tables(0).Rows(0).Item(0)))
'scmCmdToExecute.Parameters.Add(New SqlParameter("@value2", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, dsdoktyp.Tables(0).Rows(0).Item(1)))
'scmCmdToExecute.Parameters.Add(New SqlParameter("@value3", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, dsdoktyp.Tables(0).Rows(0).Item(2)))
'scmCmdToExecute.Parameters.Add(New SqlParameter("@value4", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, dsdoktyp.Tables(0).Rows(0).Item(3)))
'scmCmdToExecute.Parameters.Add(New SqlParameter("@value5", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, dsdoktyp.Tables(0).Rows(0).Item(4)))
'scmCmdToExecute.Parameters.Add(New SqlParameter("@value6", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, dsdoktyp.Tables(0).Rows(0).Item(5)))
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = connection
Try
sdaAdapter.Fill(ds)
Return ds
Catch ex As Exception
PDebug("Fehler:Get_OnBase_Datastream: " + ex.Message)
End Try
End Function
Public Function Get_Status(ByVal Dokumentid As String)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.SP_Dokumentstatus_statushandling_Select"
Try
scmCmdToExecute.CommandType = CommandType.StoredProcedure
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
Dim connection As New SqlConnection(Connectionstring)
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Dokumentid))
scmCmdToExecute.Connection = connection
sdaAdapter.Fill(dtToReturn)
Return dtToReturn
Catch ex As Exception
' // some error occured. Bubble it to caller and encapsulate Exception object
Throw New Exception("Dokumenterstellung::Generic_Select::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
Finally
scmCmdToExecute.Dispose()
End Try
End Function
Public Sub insert_history_status(ByVal statusnr As Integer, ByVal dokumentid As String)
Try
Dim connection As New SqlConnection(Connectionstring)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim dtToReturn As DataTable = New DataTable()
Dim ds As New DataSet
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_edoka_onbase"
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, 3))
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, dokumentid))
scmCmdToExecute.Parameters.Add(New SqlParameter("@value1", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, statusnr.ToString))
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = connection
Try
sdaAdapter.Fill(ds)
Catch ex As Exception
' MsgBox(ex.Message)
End Try
Catch ex As Exception
Threading.Thread.Sleep(1000)
'MsgBox(ex.Message)
End Try
End Sub
Public Sub update_dokument(ByVal statusnr As Integer, ByVal dokumentid As String)
Try
Dim connection As New SqlConnection(Connectionstring)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim dtToReturn As DataTable = New DataTable()
Dim ds As New DataSet
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_edoka_onbase"
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, 4))
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, dokumentid))
scmCmdToExecute.Parameters.Add(New SqlParameter("@value1", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, statusnr.ToString))
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = connection
Try
sdaAdapter.Fill(ds)
Catch ex As Exception
' MsgBox(ex.Message)
End Try
Catch ex As Exception
Threading.Thread.Sleep(1000)
'MsgBox(ex.Message)
End Try
End Sub
Public Function Get_Archivdokumente() As DataTable
Try
Dim connection As New SqlConnection(Connectionstring)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim dtToReturn As DataTable = New DataTable()
Dim ds As New DataSet
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_edoka_onbase"
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, 5))
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, ""))
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = connection
Try
sdaAdapter.Fill(ds)
Return ds.Tables(0)
Catch ex As Exception
' MsgBox(ex.Message)
End Try
Catch ex As Exception
Threading.Thread.Sleep(1000)
'MsgBox(ex.Message)
End Try
End Function
Public Function Get_Dokument(ByVal dokumentid As String) As DataTable
Try
Dim connection As New SqlConnection(Connectionstring)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim dtToReturn As DataTable = New DataTable()
Dim ds As New DataSet
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_edoka_onbase"
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, 6))
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, dokumentid))
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = connection
Try
sdaAdapter.Fill(ds)
Return ds.Tables(0)
Catch ex As Exception
' MsgBox(ex.Message)
End Try
Catch ex As Exception
Threading.Thread.Sleep(1000)
'MsgBox(ex.Message)
End Try
End Function
Public Function Get_From_DB(ByVal sDokumentID As String, ByVal sDokumentName As String) As Boolean
Dim connection As New SqlConnection()
Dim da As New SqlDataAdapter("Select * From doks where DokumentID='" + sDokumentID + "'", connection)
Dim CB As SqlCommandBuilder = New SqlCommandBuilder(da)
Dim ds As New DataSet()
Try
'Connectionstring zur Datenbank
connection.ConnectionString = Connectionstring
connection.Open()
da.Fill(ds, "docs")
Dim myRow As DataRow
myRow = ds.Tables(0).Rows(0)
Dim MyData() As Byte
MyData = myRow.Item(1)
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 Update_EDOKA_IL_Status(ByVal Dokumentid As String, ByVal response As String, status As String)
Try
Dim connection As New SqlConnection(Connectionstring)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim dtToReturn As DataTable = New DataTable()
Dim ds As New DataSet
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_edoka_onbase"
scmCmdToExecute.Parameters.Add(New SqlParameter("@fnkt", SqlDbType.Int, 4, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, 7))
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, Dokumentid))
scmCmdToExecute.Parameters.Add(New SqlParameter("@value1", SqlDbType.VarChar, 4096, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, response))
scmCmdToExecute.Parameters.Add(New SqlParameter("@value2", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 0, 0, "", DataRowVersion.Proposed, status))
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = connection
Try
sdaAdapter.Fill(ds)
Return ds.Tables(0)
Catch ex As Exception
' MsgBox(ex.Message)
End Try
Catch ex As Exception
Threading.Thread.Sleep(1000)
'MsgBox(ex.Message)
End Try
End Function
End Class

151
Klassen/clsexcel.vb Normal file
View File

@@ -0,0 +1,151 @@
Imports Microsoft.Office.Interop
Imports System.Data.SqlClient
Imports System.Data.SqlTypes
Imports System.IO
Public Class clsexcel
Dim objexcel As Excel.Application 'Seit Office 2003
Dim docexcel As Excel.Workbook
Dim sheetexcel As Excel.Worksheet
Public Excelfile As String = ""
Dim shXL As Excel.Worksheet
Dim ds As New DataSet
Public exceldata As New DataTable
Public dokumenttypnr As Integer
Public CSVPath As String
Public Connectionstring As String
Public Sub New()
Try
Dim csv As New MyNameSpace.CSVDataAdapter(CSVPath, True, ";")
csv.Fill(ds)
exceldata = ds.Tables(0).Copy
Catch
End Try
End Sub
Public Sub New(ByVal csvpath As String)
Try
Dim csv As New MyNameSpace.CSVDataAdapter(csvpath, True, ";")
csv.Fill(ds)
exceldata = ds.Tables(0).Copy
Catch
End Try
End Sub
Public Function Check_Excel(ByVal dokumentid As String) As Boolean
Try
Dim db As New clsdb
db.Connectionstring = Connectionstring
db.Debug = False
db.Logfile = ""
Dim dt As New DataTable
dt = db.Get_Dokument(dokumentid)
For Each r As DataRow In exceldata.Rows
If r("dokumenttypnr") = dt.Rows(0).Item("dokumenttypnr").value Then
dokumenttypnr = dt.Rows(0).Item("dokumenttypnr")
Return True
Exit Function
End If
Next
Return False
Catch ex As Exception
Return False
End Try
End Function
'Public Function Get_Excel(ByVal dokumentid As String) As Boolean
' Try
' Dim dm As New DocMgmt
' Dim doc As New DocMgmt
' Dim tdoctype As New DataTable
' Dim doctype As String
' Dim dokumenttypnr As Integer
' Dim dateiformat As String
' 'BUD - 2006.10.04
' Dim istFarbigArchivieren As Boolean = False
' Dim d As New edokadb.clsDokument
' d.cpMainConnectionProvider = conn_edoka
' d.sDokumentid = New SqlString(CType(dokumentid, String))
' d.SelectOne()
' dokumenttypnr = d.iDokumenttypnr.Value
' doctype = GetDocType(d.sDokumentname.Value)
' dateiformat = doctype
' d.Dispose()
' Select Case UCase(doctype)
' Case "XLS", "XLSX", "XLSM", "XLT", "XLTX", "XLTM"
' Excelfile = Params.ExcelPath + dokumentid + "." + doctype
' End Select
' If File.Exists(Excelfile) Then
' File.Delete(Excelfile)
' End If
' If doc.Get_From_DB(dokumentid, Excelfile) = False Then
' Return True
' End If
' Catch
' Return False
' End Try
'End Function
Public Function Get_Excel_Values(ByVal dokumentid As String)
Try
' dokumenttypnr = 2421
' Excelfile = "k:\edoka\OFFEDK0002019000455228.xlsm"
'Get_Excel(dokumentid)
objexcel = New Excel.Application
sheetexcel = New Excel.Worksheet
objexcel.Workbooks.Open(Excelfile)
For Each r As DataRow In exceldata.Rows
If r("dokumenttypnr") = dokumenttypnr Then
Try
Dim wert As String
Dim sheetno As Integer
Dim rowno As Integer
Dim colno As Integer
rowno = r("rowindex")
colno = r("columnindex")
sheetno = r("sheet")
wert = objexcel.ActiveWorkbook.Sheets(sheetno).Cells(rowno, colno).value().ToString
Dokumentwert_Sichern(r("Bezeichnung") + ";" + wert, r("valuenr"), dokumentid)
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
Next
Catch
Finally
sheetexcel = Nothing
objexcel.ActiveWorkbook.Close(False)
objexcel.Quit()
objexcel = Nothing
End Try
End Function
Public Sub Dokumentwert_Sichern(ByVal wert As String, ByVal feldnr As Integer, ByVal dokumentid As String)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim conn As New SqlConnection(Connectionstring)
scmCmdToExecute.CommandText = "dbo.SP_Dokument_Information_Wert"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn
scmCmdToExecute.Connection.Open()
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid))
scmCmdToExecute.Parameters.Add(New SqlParameter("@vorlagenfeldnr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, feldnr))
scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, wert))
scmCmdToExecute.ExecuteNonQuery()
Catch ex As Exception
' // some error occured. Bubble it to caller and encapsulate Exception object
Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
Finally
scmCmdToExecute.Connection.Close()
scmCmdToExecute.Dispose()
conn.Dispose()
End Try
End Sub
End Class