jj für ms

This commit is contained in:
Digital Data - Marlon Schreiber
2018-12-06 10:57:00 +01:00
parent 609df5b5c5
commit 3f2dfd56d2
22 changed files with 2394 additions and 562 deletions

View File

@@ -2,8 +2,59 @@
Imports System.Text
Imports DD_LIB_Standards
Public Class frmDocRecordLink
Dim ENTITY_LOAD_ACTIVE As Boolean = False
Private Class ClassEntity
Public title As String
Public id As Integer
Public Overrides Function ToString() As String
Return Me.title
End Function
End Class
Private Function GET_CURRENT_ENTITY_DATA()
Dim oDatatabel As DataTable = CURRENT_DT_ENTITY_RECORDS.Copy
Return oDatatabel
End Function
Sub Refresh_Grid_Data(current As Boolean, ENTITY_DATATABLE As DataTable, ENTITY_ID As Integer)
Dim DT_RECORDS As DataTable
If current = True Then
DT_RECORDS = GET_CURRENT_ENTITY_DATA()
Else
DT_RECORDS = ENTITY_DATATABLE
End If
Try
DT_RECORDS.Columns.Add("already linked", Type.GetType("System.Boolean")).SetOrdinal(0)
DT_RECORDS.Columns("already linked").DefaultValue = False
Catch ex As Exception
End Try
Try
For Each row As DataRow In CURRENT_DT_SELECTED_FILES.Rows
Dim DOC_ID = row.Item("DOC_ID")
Dim sel = String.Format("select T.RECORD_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = {0} AND T.DOC_ID = {1}", ENTITY_ID, DOC_ID)
Dim DTRECS_LINKED As DataTable = clsDatabase.Return_Datatable(sel)
For Each recrow As DataRow In DTRECS_LINKED.Rows
For Each rowrecsdisplay As DataRow In DT_RECORDS.Rows
If rowrecsdisplay.Item("Record-ID") = recrow.Item("RECORD_ID") Then
rowrecsdisplay.Item("already linked") = True
End If
Next
Next
Next
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in displaying already linked", ex.Message, ex.StackTrace)
End Try
grvwGrid.Columns.Clear()
dgEntityRecords.DataSource = DT_RECORDS
grvwGrid.Columns.Item("already linked").Fixed = True
grvwGrid.PopulateColumns()
dgEntityRecords.RefreshDataSource()
End Sub
Private Sub frmDocRecordLink_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.txtEntity.Text = CURRENT_ENTITYSTRING
If ClassWindreamDocGrid.DT_RESULTFILES.Rows.Count = 1 Then
txtFileInfo.Text = ClassWindreamDocGrid.DT_RESULTFILES.Rows(0).Item("DOC_PATH")
Else
@@ -13,38 +64,30 @@ Public Class frmDocRecordLink
If IsNothing(CURRENT_DT_ENTITY_RECORDS) Then
Me.Close()
End If
Dim DT_RECORDS As DataTable = CURRENT_DT_ENTITY_RECORDS.Copy
Try
DT_RECORDS.Columns.Add("already linked", Type.GetType("System.Boolean")).SetOrdinal(0)
DT_RECORDS.Columns("already linked").DefaultValue = False
Catch ex As Exception
Refresh_Grid_Data(True, Nothing, CURRENT_ENTITY_ID)
End Try
Dim DT_ENTITIES As DataTable = GetENTITIES()
Dim selected As Integer = 0
Try
For Each row As DataRow In CURRENT_DT_SELECTED_FILES.Rows
Dim DOC_ID = row.Item("DOC_ID")
Dim sel = String.Format("select T.RECORD_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = {0} AND T.DOC_ID = {1}", CURRENT_ENTITY_ID, DOC_ID)
Dim DTRECS_LINKED As DataTable = clsDatabase.Return_Datatable(sel)
For Each recrow As DataRow In DTRECS_LINKED.Rows
For Each rowrecsdisplay As DataRow In DT_RECORDS.Rows
If rowrecsdisplay.Item("Record-ID") = recrow.Item("RECORD_ID") Then
rowrecsdisplay.Item("already linked") = True
End If
Next
Next
Next
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in displaying already linked", ex.Message, ex.StackTrace)
End Try
If DT_ENTITIES.Rows.Count = 0 Then
Exit Sub
End If
dgEntityRecords.DataSource = DT_RECORDS
grvwGrid.Columns.Item("already linked").Fixed = True
grvwGrid.PopulateColumns()
For Each row As DataRow In DT_ENTITIES.Rows
Dim entity As New ClassEntity
entity.title = row.Item("FORM_TITLE")
entity.id = row.Item("FORM_ID")
cmbConstructorForms.Items.Add(entity)
Next
If USER_LANGUAGE = "de-DE" Then
Me.Text = CURRENT_DT_SELECTED_FILES.Rows.Count.ToString & " Datei(en) mit Datensatz verknüpfen:"
Else
Me.Text = "Link " & CURRENT_DT_SELECTED_FILES.Rows.Count.ToString & " files with record:"
End If
' Den index der aktuell geöffneten ConstructorForm setzen
cmbConstructorForms.SelectedIndex = selected
dgEntityRecords.RefreshDataSource()
Catch ex As Exception
ClassHelper.MSGBOX_Handler("ERROR", "Unexpected Error in frmDocRecordLink_Load", ex.Message, ex.StackTrace)
End Try
@@ -53,6 +96,17 @@ Public Class frmDocRecordLink
tsslbl.Text = "Waiting for record-Selection....."
tsslbl.BackColor = Color.Transparent
End Sub
Private Function GetENTITIES() As DataTable
Try
Dim SQL As String = String.Format("SELECT DISTINCT FORM_ID,FORM_TITLE,SEQUENCE FROM VWPMO_CONSTRUCTOR_FORMS where CONSTRUCT_ID in " &
"(SELECT CONSTRUCT_ID FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = {0}) ORDER BY SEQUENCE", USER_GUID)
Dim dt As DataTable = ClassDatabase.Return_Datatable(SQL)
Return dt
Catch ex As Exception
MsgBox("Entities could not be loaded in LinkToRecord: " & vbNewLine & ex.Message)
Return Nothing
End Try
End Function
Private Sub btnLink_Click(sender As Object, e As EventArgs) Handles btnLink.Click
If clsWindream.Create_Session = False Then
@@ -163,6 +217,26 @@ Public Class frmDocRecordLink
Return System.IO.Path.Combine(Application.UserAppDataPath(), Filename)
End Function
Private Sub frmDocRecordLink_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
Save_DocGrid_Layout()
If ENTITY_LOAD_ACTIVE = False Then Save_DocGrid_Layout()
End Sub
Private Sub btnloadData2Entity_Click(sender As Object, e As EventArgs) Handles btnloadData2Entity.Click
Dim entity As ClassEntity = DirectCast(cmbConstructorForms.SelectedItem, ClassEntity)
If cmbConstructorForms.SelectedIndex <> -1 Then
ENTITY_LOAD_ACTIVE = True
Save_DocGrid_Layout()
Dim ResultSQL, ResultViewName As String
If LogErrorsOnly = False Then ClassLogger.Add(" >> GridType = Grid", False)
ResultViewName = $"VWPMO_ENTITY_TABLE{entity.id}"
ResultSQL = $"SELECT T.* FROM {ResultViewName} T"
txtEntity.Text = cmbConstructorForms.Text
Me.Cursor = Cursors.WaitCursor
Dim DT_RESULT = clsDatabase.Return_Datatable(ResultSQL, True)
If Not IsNothing(DT_RESULT) Then
Refresh_Grid_Data(False, DT_RESULT, entity.id)
End If
Me.Cursor = Cursors.Default
End If
End Sub
End Class