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.

595 lines
28 KiB

Imports System.Data
Imports System.Data.SqlTypes
Imports System.Data.SqlClient
Imports System.ComponentModel
Imports UtilityLibrary.Win32
Public Class Statushandling
#Region "Deklarationen"
Dim m_aktuellerstatus As Integer
Dim m_neuerstatus As Integer
Dim m_abgeschlossen As Boolean
Dim m_ausgangsarchivierung As Boolean
Dim m_eingangsarchivierung As Boolean
Dim m_folgestatus As Boolean
Dim m_dokumentid As String
Dim m_bemerkungverantwortlicher As String
Property BemerkungVerantwortlicher() As String
Get
Return m_bemerkungverantwortlicher
End Get
Set(ByVal Value As String)
m_bemerkungverantwortlicher = Value
End Set
End Property
Property Dokumentid() As String
Get
Return m_dokumentid
End Get
Set(ByVal Value As String)
m_dokumentid = Value
End Set
End Property
Property AktullerStatus() As Integer
Get
Return m_aktuellerstatus
End Get
Set(ByVal Value As Integer)
m_aktuellerstatus = Value
End Set
End Property
Property NeuerStatus() As Integer
Get
Return m_neuerstatus
End Get
Set(ByVal Value As Integer)
m_neuerstatus = Value
End Set
End Property
Property Ablgeschossen() As Boolean
Get
Return m_abgeschlossen
End Get
Set(ByVal Value As Boolean)
m_abgeschlossen = Value
End Set
End Property
Property Ausgangsarchivierung() As Boolean
Get
Return m_ausgangsarchivierung
End Get
Set(ByVal Value As Boolean)
m_ausgangsarchivierung = Value
End Set
End Property
Property Eingangsarchivierung() As Boolean
Get
Return m_eingangsarchivierung
End Get
Set(ByVal Value As Boolean)
m_eingangsarchivierung = Value
End Set
End Property
Property Folgestatus() As Boolean
Get
Return m_folgestatus
End Get
Set(ByVal Value As Boolean)
m_folgestatus = Value
End Set
End Property
#End Region
Dim dokumentwerte As DataTable
#Region "Meldungen"
Public Function Meldung_Verantwortlicher(ByVal dokumentid As String, ByVal verantwortlicher As Integer)
Try
dokumentwerte = GetDokumentwerte(dokumentid, 100, 0)
insert_Message(1, dokumentid, Meldungstext_aufbereiten, parstext(dokumentwerte.Rows(0).Item("betreff")), Globals.MitarbeiterNr, verantwortlicher, 0)
Catch
End Try
End Function
Public Function Meldung_Status(ByVal dokumentid As String, ByVal status As String)
Try
dokumentwerte = GetDokumentwerte(dokumentid, 102, status)
insert_Message(0, dokumentid, Meldungstext_aufbereiten, parstext(dokumentwerte.Rows(0).Item("betreff")), Globals.MitarbeiterNr, 0, status)
Catch
End Try
End Function
Public Function Meldung_Aufhebung(ByVal dokumentid As String, ByVal verantwortlicher As Integer)
dokumentwerte = GetDokumentwerte(dokumentid, 110, 0)
insert_Message(0, dokumentid, Meldungstext_aufbereiten, parstext(dokumentwerte.Rows(0).Item("betreff")), Globals.MitarbeiterNr, 0, 0)
End Function
Public Function Meldungstext_aufbereiten() As String
Dim s As String
s = ""
Try
s = dokumentwerte.Rows(0).Item("meldung") + vbCrLf + dokumentwerte.Rows(0).Item("idvmeldung") + vbCrLf + dokumentwerte.Rows(0).Item("footer")
If Me.BemerkungVerantwortlicher <> "" Then
s = Me.BemerkungVerantwortlicher + vbCrLf + "------------------------" + vbCrLf + s
' s = s + vbCrLf + vbCrLf + Me.BemerkungVerantwortlicher
Me.BemerkungVerantwortlicher = ""
End If
s = parstext(s)
Catch
End Try
Meldungstext_aufbereiten = s
End Function
Public Function parstext(ByVal s As String) As String
s = s.Replace("&dokumentid&", dokumentwerte.Rows(0).Item("dokumentid"))
s = s.Replace("&nrpar00&", dokumentwerte.Rows(0).Item("nrpar00"))
s = s.Replace("&bkpar00&", dokumentwerte.Rows(0).Item("bkpar00"))
s = s.Replace("&dokumenttyp&", dokumentwerte.Rows(0).Item("bezeichnung"))
s = s.Replace("&status&", dokumentwerte.Rows(0).Item("status"))
s = s.Replace("&statusdatum&", Today)
s = s.Replace("&verantwortlich&", dokumentwerte.Rows(0).Item("verantwortlich"))
s = s.Replace("&absender&", dokumentwerte.Rows(0).Item("absender"))
s = s.Replace("&empfaenger&", dokumentwerte.Rows(0).Item("empfaenger"))
Return s
End Function
Public Function GetDokumentwerte(ByVal Dokumentid As String, ByVal typ As Integer, ByVal status As Integer) 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_message_getdokumentwerte"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn.scoDBConnection
Try
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("@typ", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, typ))
scmCmdToExecute.Parameters.Add(New SqlParameter("@status", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, status))
sdaAdapter.Fill(dtToReturn)
Return dtToReturn
Catch ex As Exception
MsgBox(ex.Message)
' // 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.Dispose()
sdaAdapter.Dispose()
End Try
End Function
Public Function insert_Message(ByVal typ As Integer, ByVal Dokumentid As String, ByVal message As String, ByVal betreff As String, _
ByVal absender As Integer, ByVal empfaenger As Integer, ByVal status As Integer)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.SP_message_insert"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn.scoDBConnection
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@absender", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, absender))
scmCmdToExecute.Parameters.Add(New SqlParameter("@empfaenger", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, empfaenger))
scmCmdToExecute.Parameters.Add(New SqlParameter("@betreff", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, betreff))
scmCmdToExecute.Parameters.Add(New SqlParameter("@meldung", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, message))
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Dokumentid))
scmCmdToExecute.Parameters.Add(New SqlParameter("@status", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, status))
scmCmdToExecute.Parameters.Add(New SqlParameter("@weiterleiten", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
scmCmdToExecute.Parameters.Add(New SqlParameter("@typ", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, typ))
sdaAdapter.Fill(dtToReturn)
Return dtToReturn
Catch ex As Exception
MsgBox(ex.Message)
' // 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.Dispose()
sdaAdapter.Dispose()
End Try
End Function
#End Region
#Region "Datenzugriffe"
Private Function Generic_Select(ByVal typ As Integer) As DataTable
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Select Case typ
Case 1
scmCmdToExecute.CommandText = "dbo.SP_Dokumentstatus_statushandling_Select"
Case Else
End Select
scmCmdToExecute.CommandType = CommandType.StoredProcedure
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.Connection = conn.scoDBConnection
Try
Select Case typ
Case 1
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Me.Dokumentid))
Case Else
End Select
If typ = 1 Then
End If
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()
sdaAdapter.Dispose()
End Try
End Function
#End Region
#Region "Archivierung"
Public Function Set_Ausgangsarchiviert(ByVal dokumentid As String) As Integer
Dim da As DataTable
Dim currentstatus As Integer
Dim i, i1 As Integer
Me.Dokumentid = dokumentid
da = Generic_Select(1)
currentstatus = da.Rows(0).Item("dokument_statusnr")
For i = 0 To da.Rows.Count - 1
If da.Rows(i).Item("status_bezeichnungnr") = 3 Then
For i1 = 0 To da.Rows.Count - 1
If da.Rows(i1).Item("status_bezeichnungnr") = 4 Or _
da.Rows(i1).Item("status_bezeichnungnr") = 5 Then
Me.insert_history_status(da.Rows(i1).Item("dokument_statusnr"), dokumentid, Globals.MitarbeiterNr)
Return da.Rows(i1).Item("dokument_statusnr")
End If
Next
End If
Next
da.Dispose()
End Function
Public Function Set_Eingangsarchiviert(ByVal dokumentid As String) As Integer
Dim da As DataTable
Dim currentstatus As Integer
Dim i, i1 As Integer
Me.Dokumentid = dokumentid
da = Generic_Select(1)
currentstatus = da.Rows(0).Item("dokument_statusnr")
For i1 = 0 To da.Rows.Count - 1
If da.Rows(i1).Item("status_bezeichnungnr") = 6 Or _
da.Rows(i1).Item("status_bezeichnungnr") = 7 Or _
da.Rows(i1).Item("status_bezeichnungnr") = 11 Then
Me.insert_history_status(da.Rows(i1).Item("dokument_statusnr"), dokumentid, Globals.MitarbeiterNr)
MsgBox(da.Rows(i1).Item("dokument_statusnr"))
Return da.Rows(i1).Item("dokument_statusnr")
End If
Next
da.Dispose()
End Function
#End Region
Dim ds As New edokadb.clsDokument_status()
Public Sub Dispose()
ds.Dispose()
End Sub
Public Function Check_Neuer_Status()
ds.cpMainConnectionProvider = conn
ds.iDokument_statusnr = New SqlInt32(CType(Me.NeuerStatus, Int32))
ds.SelectOne()
If ds.bFolgestatus_durch_anderen_verantwortlichen.Value = True Then
Me.Folgestatus = True
End If
Me.Ausgangsarchivierung = False
If ds.iStatus_bezeichnungnr.Value = 3 Or ds.bDokument_ausgangsarchivierung.Value = True Then
Me.Ausgangsarchivierung = True
End If
If ds.bDokument_bearbeitung_abgeschlossen.Value = True Then
Me.Ablgeschossen = True
End If
End Function
Public Function insert_history_status(ByVal statusnr As Integer, ByVal dokumentid As String, ByVal Verantwortlicher As Integer)
Dim sh As New edokadb.clsStatushistory()
sh.cpMainConnectionProvider = conn
Dim dbkey As New edokadb.clsMyKey_Tabelle()
Dim key As Long
dbkey.cpMainConnectionProvider = conn
conn.OpenConnection()
key = dbkey.get_dbkey("statushistory")
sh.iStatushistorynr = New SqlInt32(CType(key, Int32))
sh.iStatus = New SqlInt32(CType(statusnr, Int32))
sh.iMandantnr = New SqlInt32(CType(Globals.MandantNr, Int32))
sh.iMutierer = New SqlInt32(CType(Globals.MitarbeiterNr, Int32))
sh.bAktiv = New SqlBoolean(True)
sh.daErstellt_am = New SqlDateTime(CType(Now, DateTime))
sh.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
sh.sDokumentid = New SqlString(CType(dokumentid, String))
sh.iVerantwortlich = New SqlInt32(CType(Verantwortlicher, Int32))
conn.OpenConnection()
sh.Insert()
conn.CloseConnection(True)
dbkey.Dispose()
sh.Dispose()
End Function
Public Function insert_history_status_abschluss(ByVal statusnr As Integer, ByVal dokumentid As String, ByVal Verantwortlicher As Integer)
Dim sh As New edokadb.clsStatushistory()
sh.cpMainConnectionProvider = conn
Dim dbkey As New edokadb.clsMyKey_Tabelle()
Dim key As Long
dbkey.cpMainConnectionProvider = conn
conn.OpenConnection()
key = dbkey.get_dbkey("statushistory")
sh.iStatushistorynr = New SqlInt32(CType(key, Int32))
sh.iStatus = New SqlInt32(CType(statusnr, Int32))
sh.iMandantnr = New SqlInt32(CType(Globals.MandantNr, Int32))
sh.iMutierer = New SqlInt32(CType(9998, Int32))
sh.bAktiv = New SqlBoolean(True)
sh.daErstellt_am = New SqlDateTime(CType(Now, DateTime))
sh.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
sh.sDokumentid = New SqlString(CType(dokumentid, String))
sh.iVerantwortlich = New SqlInt32(CType(Verantwortlicher, Int32))
conn.OpenConnection()
sh.Insert()
conn.CloseConnection(True)
dbkey.Dispose()
sh.Dispose()
End Function
Public Function Alle_Status(ByVal Dokumentid 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_Trefferliste_Select_Status"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn.scoDBConnection
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
sdaAdapter.Fill(dtToReturn)
Return dtToReturn
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.Dispose()
sdaAdapter.Dispose()
End Try
End Function
Public Function Status_Erstellen(ByVal dokumentid As String, ByVal blsequenz 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_dokumentberabeigung_status_erstellen"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn.scoDBConnection
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid))
If Globals.bckdokument = False Then
scmCmdToExecute.Parameters.Add(New SqlParameter("@bck", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
Else
scmCmdToExecute.Parameters.Add(New SqlParameter("@bck", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
End If
If blsequenz = False Then
scmCmdToExecute.Parameters.Add(New SqlParameter("@blsequenz", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
Else
scmCmdToExecute.Parameters.Add(New SqlParameter("@blsequenz", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
End If
sdaAdapter.Fill(dtToReturn)
Return dtToReturn
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.Dispose()
sdaAdapter.Dispose()
End Try
End Function
Public Function check_abschluss(ByVal dokumentid As String, ByVal mitarbeiternr As Integer)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim i As Integer
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_dokumentberarbeitung_abschluss"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn.scoDBConnection
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid))
scmCmdToExecute.Parameters.Add(New SqlParameter("@abschlussstatus", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0))
sdaAdapter.Fill(dtToReturn)
i = scmCmdToExecute.Parameters.Item("@abschlussstatus").Value
If i <> 0 Then
insert_history_status_abschluss(i, dokumentid, 9998)
Dokument_Abschliessen(dokumentid, i)
End If
Return dtToReturn
Catch ex As Exception
MsgBox(ex.Message)
' // 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.Dispose()
sdaAdapter.Dispose()
End Try
End Function
Public Function Dokument_Abschliessen(ByVal dokumentid As String, ByVal status As Integer)
Dim dok As New edokadb.clsDokument()
Dim dt As New edokadb.clsDokumenttyp()
Dim par As New edokadb.clsPartner()
Dim loeschung As Boolean = False
dok.cpMainConnectionProvider = conn
par.cpMainConnectionProvider = conn
dt.cpMainConnectionProvider = conn
dok.sDokumentid = New SqlString(CType(dokumentid, String))
Try
dok.SelectOne()
conn.OpenConnection()
'Pr<50>fung auf saldierten Partner und ggf. Dokument l<>schen bzw. aufheben
par.iNRPAR00 = New SqlInt32(CType(dok.iNrpar00.Value, Int32))
par.SelectOne()
If par.bSaldiert.Value = True Then
loeschung = True
End If
dok.iStatusnr = New SqlInt32(CType(status, Integer))
dok.iVerantwortlich = New SqlInt32(CType(9998, Integer))
dok.Update()
conn.CloseConnection(True)
Meldung_Status(dokumentid, status)
dt.iDokumenttypnr = New SqlInt32(CType(dok.iDokumenttypnr.Value, Int32))
dt.SelectOne()
If dt.bVertrag.Value = True Then
If loeschung Then
If loeschart(dok.sDokumentid.Value) = 1 Then
MyMsg.show_standardmessage(232, MsgBoxStyle.Information)
Insert_Note(dok.sDokumentid.Value, MyTxt.gettext(237))
set_aufgehoben(dok.sDokumentid.Value)
Else
MyMsg.show_standardmessage(231, MsgBoxStyle.Information)
Insert_Note(dok.sDokumentid.Value, MyTxt.gettext(236))
set_geloescht(dok.sDokumentid.Value)
End If
End If
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Function
Private Sub Insert_Note(ByVal dokumentid As String, ByVal meldung As String)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.SP_Dokument_Notizen"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn.scoDBConnection
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("@notiznr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 0))
scmCmdToExecute.Parameters.Add(New SqlParameter("@betreff", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, meldung))
scmCmdToExecute.Parameters.Add(New SqlParameter("@value", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, meldung))
scmCmdToExecute.Parameters.Add(New SqlParameter("@aktiv", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, 1))
scmCmdToExecute.Parameters.Add(New SqlParameter("@mutierer", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MitarbeiterNr))
scmCmdToExecute.ExecuteNonQuery()
Catch ex As Exception
'MsgBox(ex.Message)
' // 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()
End Try
End Sub
Private Function loeschart(ByVal dokid As String)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.SP_check_aufhebung_loeschung"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn.scoDBConnection
conn.OpenConnection()
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokid))
scmCmdToExecute.Parameters.Add(New SqlParameter("@res", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0))
scmCmdToExecute.ExecuteNonQuery()
Return scmCmdToExecute.Parameters("@res").Value
Catch ex As Exception
Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
Finally
scmCmdToExecute.Dispose()
conn.CloseConnection(True)
End Try
End Function
Private Sub set_geloescht(ByVal dokid As String)
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
scmCmdToExecute.CommandText = "dbo.SP_Dokument_delete"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn.scoDBConnection
conn.OpenConnection()
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokid))
scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiter", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MitarbeiterNr))
scmCmdToExecute.Parameters.Add(New SqlParameter("@loeschgrund", SqlDbType.VarChar, 1024, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, "Gel<EFBFBD>scht, da Partner saldiert ist"))
scmCmdToExecute.ExecuteNonQuery()
Catch ex As Exception
Throw New Exception("Dokument_Information_Wert::" & scmCmdToExecute.CommandText & "::Error occured." & ex.Message, ex)
Finally
scmCmdToExecute.Dispose()
conn.CloseConnection(True)
Dim dt As DataTable
dt = get_coldindex_and_statusnr(dokid, False, False)
Archivfnkt.insert_coldupdate_status(dt, dokid, "Alt")
End Try
End Sub
Public Function set_aufgehoben(ByVal dokumentid As String)
Dim dt As DataTable
dt = get_coldindex_and_statusnr(dokumentid, True, False)
Archivfnkt.insert_coldupdate_status(dt, dokumentid, "Alt")
End Function
Public Function get_coldindex_and_statusnr(ByVal dokumentid As String, ByVal aufheben As Boolean, ByVal reaktivieren As Boolean) As DataTable
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
Dim i As Integer
Dim dtToReturn As DataTable = New DataTable()
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
scmCmdToExecute.CommandText = "dbo.sp_get_coldindex_and_aufhebungsstatus"
scmCmdToExecute.CommandType = CommandType.StoredProcedure
scmCmdToExecute.Connection = conn.scoDBConnection
Try
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid))
scmCmdToExecute.Parameters.Add(New SqlParameter("@reaktivieren", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, reaktivieren))
scmCmdToExecute.Parameters.Add(New SqlParameter("@aufhebungsstatus", SqlDbType.Int, 4, ParameterDirection.Output, True, 10, 0, "", DataRowVersion.Proposed, 0))
sdaAdapter.Fill(dtToReturn)
i = scmCmdToExecute.Parameters.Item("@aufhebungsstatus").Value
If (i <> 0 And aufheben) Or (i <> 0 And reaktivieren) Then
insert_history_status(i, dokumentid, MitarbeiterNr)
Dim d As New edokadb.clsDokument()
d.cpMainConnectionProvider = conn
d.sDokumentid = New SqlString(CType(dokumentid, String))
d.SelectOne()
d.iStatusnr = New SqlInt32(CType(i, Int32))
'Rel. 3.6
d.daMutiertam = New SqlDateTime(CType(Now(), DateTime))
d.iMutierer = New SqlInt32(CType(Globals.MitarbeiterNr, Int32))
conn.OpenConnection()
d.Update()
conn.CloseConnection(True)
d.Dispose()
End If
Return dtToReturn
Catch ex As Exception
MsgBox(ex.Message)
' // 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.Dispose()
sdaAdapter.Dispose()
End Try
End Function
End Class