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.
214 lines
9.2 KiB
214 lines
9.2 KiB
Imports System.Data.SqlClient
|
|
|
|
Public Class frmMultiDelete
|
|
|
|
Dim dt As New DataTable
|
|
Dim returnstring As String = ""
|
|
|
|
Dim m_dlist As C1.Win.C1TrueDBGrid.C1TrueDBGrid
|
|
Property dlist As C1.Win.C1TrueDBGrid.C1TrueDBGrid
|
|
Get
|
|
Return m_dlist
|
|
End Get
|
|
Set(value As C1.Win.C1TrueDBGrid.C1TrueDBGrid)
|
|
m_dlist = value
|
|
End Set
|
|
End Property
|
|
Dim m_colrows As C1.Win.C1TrueDBGrid.SelectedRowCollection
|
|
|
|
Property ColRows As C1.Win.C1TrueDBGrid.SelectedRowCollection
|
|
Get
|
|
Return m_colrows
|
|
End Get
|
|
Set(value As C1.Win.C1TrueDBGrid.SelectedRowCollection)
|
|
m_colrows = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
|
|
If Trim(Me.txtGrund.Text) = "" Then
|
|
MsgBox("Bitte Lösch-/Aufhebungsgrund eingeben.")
|
|
Exit Sub
|
|
End If
|
|
|
|
For Each r As DataRow In dt.Rows
|
|
If r(0) = "Aufhebung" Then
|
|
DivFnkt.Insert_Notiz(r("dokumentid"), Me.txtGrund.Text)
|
|
Dim sth As New Statushandling()
|
|
sth.set_aufgehoben(r("dokumentid"))
|
|
sth.Dispose()
|
|
End If
|
|
If r(0) = "Löschung" Then
|
|
deletedok(r("dokumentid"))
|
|
End If
|
|
If r(0) = "Löschen" Then
|
|
deletedok(r("dokumentid"))
|
|
End If
|
|
Next
|
|
Me.Close()
|
|
|
|
End Sub
|
|
|
|
Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click
|
|
Me.Close()
|
|
End Sub
|
|
|
|
Private Sub frmMultiDelete_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
dt.Rows.Clear()
|
|
dt.Columns.Clear()
|
|
|
|
dt.TableName = "DoksToDelete"
|
|
dt.Columns.Add("Funktion")
|
|
dt.Columns.Add("Dokumentid")
|
|
dt.Columns.Add("Dokumenttypnr")
|
|
dt.Columns.Add("Partnernr")
|
|
dt.Columns.Add("Vertraulich")
|
|
dt.Columns.Add("Bezeichnung")
|
|
dt.Columns.Add("verantwortlich")
|
|
dt.Columns.Add("AktivesDokument")
|
|
For i As Integer = 0 To ColRows.Count - 1
|
|
Dim r As DataRow = dt.NewRow
|
|
r(1) = dlist.Columns("dokumentid").CellValue(ColRows(i))
|
|
r(2) = dlist.Columns("dokumenttypnr").CellValue(ColRows(i))
|
|
r(3) = dlist.Columns("partnernr").CellValue(ColRows(i))
|
|
r(4) = dlist.Columns("vertraulich").CellValue(ColRows(i))
|
|
r(5) = dlist.Columns("bezeichnung").CellValue(ColRows(i))
|
|
r(6) = dlist.Columns("aktivesdokument").CellValue(ColRows(i))
|
|
|
|
r(0) = check_dok(dlist.Columns("dokumenttypnr").CellValue(ColRows(i)), dlist.Columns("partnernr").CellValue(ColRows(i)), dlist.Columns("dokumentid").CellValue(ColRows(i)), dlist.Columns("vertraulich").CellValue(ColRows(i)), dlist.Columns("verantwortlich").CellValue(ColRows(i)), dlist.Columns("aktivesdokument").CellValue(ColRows(i)))
|
|
|
|
dt.Rows.Add(r)
|
|
Next
|
|
Me.DokList.FetchRowStyles = True
|
|
Me.DokList.DataSource = dt
|
|
Me.DokList.DataMember = dt.TableName
|
|
Me.DokList.Splits(0).DisplayColumns(0).Width = 0
|
|
Me.DokList.Splits(0).DisplayColumns(1).AutoSize()
|
|
Me.DokList.Splits(0).DisplayColumns(2).Width = 0
|
|
Me.DokList.Splits(0).DisplayColumns(3).AutoSize()
|
|
Me.DokList.Splits(0).DisplayColumns(4).Width = 0
|
|
Me.DokList.Splits(0).DisplayColumns(5).AutoSize()
|
|
Me.DokList.Splits(0).DisplayColumns(6).Width = 0
|
|
Me.DokList.Splits(0).DisplayColumns(7).Width = 0
|
|
|
|
Label1.BackColor = Color.GreenYellow
|
|
Label5.Text = "Nicht abgeschlossenes Dokument löschen"
|
|
Label4.BackColor = Color.LightPink
|
|
Label8.Text = "Fehlende Berechtigungen um das Dokument zu löschen/aufheben"
|
|
Label2.BackColor = Color.LightGreen
|
|
Label6.Text = "Abgeschlossenes Dokument löschen"
|
|
Label3.BackColor = Color.LightSeaGreen
|
|
Label7.Text = "Abgeschlossenes Dokument aufheben"
|
|
End Sub
|
|
|
|
Private Function check_dok(ByVal dokumenttypnr As String, partnernr As String, dokumentid As String, vertraulich As Integer, ByVal verantwortlich As Integer, aktivesdokument As Integer) As String
|
|
Dim d As New DataTable
|
|
Dim dtctm As New DataTable
|
|
Try
|
|
d = DivFnkt.Berechtigte_Mitarbeiter(dokumenttypnr, Globals.MitarbeiterNr, partnernr, dokumentid, 0, 0, 0, vertraulich, "")
|
|
returnstring = ""
|
|
If d.Rows(0).Item("loeschen") = 1 Then
|
|
If verantwortlich = Globals.MitarbeiterNr Then returnstring = "Löschen"
|
|
End If
|
|
dtctm = get_contextmenu_ber(dokumentid)
|
|
If dtctm.Rows(0).Item("abschlussstatus") <> 0 Then
|
|
set_abgeschlossen_menu(vertraulich, dtctm, aktivesdokument)
|
|
End If
|
|
|
|
Return returnstring
|
|
Catch ex As Exception
|
|
Return "Fehler"
|
|
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Private Function set_abgeschlossen_menu(ByVal bDokIstVertraulich As Boolean, ByVal dtCTM As DataTable, aktivesdokument As Integer) As String
|
|
|
|
Try
|
|
If dtCTM.Rows(0).Item("aufhebung") <> 0 Then
|
|
If bDokIstVertraulich = False Then
|
|
returnstring = "Aufhebung"
|
|
End If
|
|
End If
|
|
If dtCTM.Rows(0).Item("loeschung") <> 0 Then
|
|
If aktivesdokument = -1 Then
|
|
returnstring = "Löschung"
|
|
End If
|
|
'Me.MenuItem21.Enabled = True
|
|
End If
|
|
Catch ex As Exception
|
|
' // some error occured. Bubble it to caller and encapsulate Exception object
|
|
Return ""
|
|
Finally
|
|
|
|
End Try
|
|
End Function
|
|
|
|
Private Function get_contextmenu_ber(ByVal dokumentid As String) As DataTable
|
|
Dim scmCmdToExecute As SqlCommand = New SqlCommand()
|
|
scmCmdToExecute.CommandText = "dbo.sp_contextmenu"
|
|
scmCmdToExecute.CommandType = CommandType.StoredProcedure
|
|
Dim dtToReturn As DataTable = New DataTable()
|
|
Dim sdaAdapter As SqlDataAdapter = New SqlDataAdapter(scmCmdToExecute)
|
|
Try
|
|
scmCmdToExecute.Connection = conn.scoDBConnection
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiternr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MitarbeiterNr))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, dokumentid))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@fanummer3", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, ""))
|
|
sdaAdapter.Fill(dtToReturn)
|
|
Return dtToReturn
|
|
Catch ex As Exception
|
|
Finally
|
|
scmCmdToExecute.Dispose()
|
|
sdaAdapter.Dispose()
|
|
dtToReturn.Dispose()
|
|
End Try
|
|
End Function
|
|
|
|
Private Sub deletedok(ByVal DOkumentid 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
|
|
Dim loeschgrund As String = Me.txtGrund.Text
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@dokumentid", SqlDbType.VarChar, 22, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, DOkumentid))
|
|
scmCmdToExecute.Parameters.Add(New SqlParameter("@mitarbeiter", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Globals.MitarbeiterNr))
|
|
scmCmdToExecute.Parameters.Add("@loeschgrund", loeschgrund)
|
|
scmCmdToExecute.ExecuteNonQuery()
|
|
Dim dt As DataTable
|
|
Dim sth As New Statushandling()
|
|
dt = sth.get_coldindex_and_statusnr(Me.DokList.Columns("dokumentid").Text, False, False)
|
|
Archivfnkt.insert_coldupdate_status(dt, Me.DokList.Columns("dokumentid").Text, "Alt")
|
|
sth.Dispose()
|
|
|
|
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 Sub
|
|
|
|
Private Sub DokList_FetchRowStyle(sender As Object, e As C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) Handles DokList.FetchRowStyle
|
|
Try
|
|
If Me.DokList.Columns(0).CellValue(e.Row).ToString = "Fehler" Or Me.DokList.Columns(0).CellValue(e.Row).ToString = "" Then
|
|
e.CellStyle.BackColor = Color.LightPink
|
|
End If
|
|
If Me.DokList.Columns(0).CellValue(e.Row).ToString = "Löschen" Then
|
|
e.CellStyle.BackColor = Color.GreenYellow
|
|
End If
|
|
If Me.DokList.Columns(0).CellValue(e.Row).ToString = "Löschung" Then
|
|
e.CellStyle.BackColor = Color.LightGreen
|
|
End If
|
|
If Me.DokList.Columns(0).CellValue(e.Row).ToString = "Aufhebung" Then
|
|
e.CellStyle.BackColor = Color.LightSeaGreen
|
|
End If
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
End Class |