This commit is contained in:
SchreiberM
2017-01-04 17:09:26 +01:00
128 changed files with 17813 additions and 20419 deletions

View File

@@ -50,9 +50,9 @@ Public Class ClassControlCommandsUI
Dim sw As New SW("LoadControls")
Dim SQL As String = String.Format("SELECT T.*, dbo.FNPMO_GET_CONTROL_CAPTION ('{2}', {3},T.CONTROL_ID) AS 'CAPTION' FROM VWPMO_CONTROL_SCREEN T WHERE SCREEN_ID = {0} AND FORM_ID = {1} AND CONTROL_VISIBLE = 1", CURRENT_SCREEN_ID, FormId, USER_LANGUAGE, CURRENT_SCREEN_ID)
Dim SQL As String = String.Format("SELECT T.*, dbo.FNPMO_GET_CONTROL_CAPTION ('{2}', {3},T.CONTROL_ID) AS 'CAPTION' FROM VWPMO_CONTROL_SCREEN T WHERE T.SCREEN_ID = {0} AND T.FORM_ID = {1} AND T.CONTROL_VISIBLE = 1", CURRENT_SCREEN_ID, FormId, USER_LANGUAGE, CURRENT_SCREEN_ID)
Dim DT As DataTable = ClassDatabase.Return_Datatable(SQL)
Dim DT As DataTable = ClassDatabase.Return_Datatable(SQL, True)
For Each dr As DataRow In DT.Rows
Dim parent As GroupBox = Nothing
@@ -330,39 +330,9 @@ Public Class ClassControlCommandsUI
Function SaveRecord(RecordID As Integer, FormID As Integer, Optional foreignRecordID As Integer = 0) As String
Try
Dim ADDED_WHO As String = USER_USERNAME
'Dim RECORD_ID As Integer
'If IsInsert Then
' If LogErrorsOnly = False Then ClassLogger.Add(" >> (SaveRecord) Insert", False)
' ' Den Record erstellen
' If CreateRecord(FormID) = False Then
' IsInsert = False
' Return "ERROR - INSERT RECORD NOT SUCCESSFUL"
' End If
' ' Die eben erstellte RecordID holen
' RECORD_ID = GetLastRecord()
' CURRENT_RECORD_ID = RECORD_ID
' ' Wenn gegeben, foreignrecordID mit Record verknüpfen
' If foreignRecordID > 0 Then
' If LogErrorsOnly = False Then ClassLogger.Add(" >> foreignRecordID: " & foreignRecordID & "; Record-ID: " & RECORD_ID, False)
' ConnectRecord(foreignRecordID, RECORD_ID)
' End If
' ' Für angegebene Control Typen den Wert speichern
' InsertAllControls(FormID, RECORD_ID, _CtrlBuilder.AllControls)
' ' Status zurücksetzen
' IsInsert = False
' NEW_RECORD_ID = RECORD_ID
' Return "Neuer Datensatz eingefügt - " & Now
'ElseIf IsInsert = False Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> (SaveRecord) Update RecordID: " & RecordID, False)
UpdateAllControls(FormID, RecordID, _CtrlBuilder.AllControls)
ClassProxy.Refresh_Control_Data()
Return "Datensatz aktualisiert - " & Now
'End If
Catch ex As Exception
@@ -459,8 +429,8 @@ Public Class ClassControlCommandsUI
Else
SQL = String.Format("INSERT INTO TBPMO_CONTROL_VALUE (RECORD_ID, CONTROL_ID, VALUE, ADDED_WHO) VALUES ({0}, {1}, '{2}', '{3}')", RecordID, ControlID, VALUE, USER_USERNAME)
End If
ClassDatabase.Execute_non_Query(SQL, True)
ClassProxy.Refresh_Control_Data()
ClassDatabase.Execute_non_Query(SQL)
Catch ex As Exception
MsgBox("Error in LinkImage: " & vbNewLine & ex.Message)
End Try
@@ -517,7 +487,8 @@ Public Class ClassControlCommandsUI
Dim del = String.Format("DELETE FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE UPPER(ADDED_WHO) = '{0}'", USER_USERNAME.ToUpper)
ClassDatabase.Execute_non_Query(del)
CURRENT_CHANGE_STEP += 1
Dim VALUE_EXISTS_DT As DataTable = ClassDatabase.Return_Datatable(String.Format("SELECT RECORD_ID, CONTROL_ID FROM VWPMO_VALUES WHERE RECORD_ID = {0}", RecordID))
Dim sel = String.Format("SELECT RECORD_ID, CONTROL_ID FROM VWPMO_VALUES WHERE RECORD_ID = {0}", RecordID)
Dim VALUE_EXISTS_DT As DataTable = ClassDatabase.Return_Datatable(sel, True)
For Each ctrl As Control In controls
Console.WriteLine("Updating Control " + ctrl.Name)
@@ -587,8 +558,8 @@ Public Class ClassControlCommandsUI
Public Shared Sub UpdateMultipleValues(ControlId As Integer, RecordId As Integer, value As String)
Try
Dim dt As DataTable = ClassDatabase.Return_Datatable(String.Format("SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = {0} AND RECORD_ID = {1}", ControlId, RecordId))
Dim val = String.Format("SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = {0} AND RECORD_ID = {1}", ControlId, RecordId)
Dim dt As DataTable = ClassDatabase.Return_Datatable(val, True)
If IsNothing(dt) Then
Exit Sub
End If
@@ -609,7 +580,7 @@ Public Class ClassControlCommandsUI
'Dim values As New List(Of String)(value.Split(";"))
Dim AddValues = values.Except(oldValues)
Dim RemoveValues = oldValues.Except(values)
Dim FORMAT_TYPE As String = ClassDatabase.Execute_Scalar("SELECT FORMAT_TYPE FROM TBPMO_CONTROL WHERE GUID = " & ControlId)
Dim FORMAT_TYPE As String = ClassDatabase.Execute_Scalar("SELECT FORMAT_TYPE FROM TBPMO_CONTROL WHERE GUID = " & ControlId, True)
For Each _addValue As String In AddValues
If Not _addValue = "" Then
@@ -626,7 +597,7 @@ Public Class ClassControlCommandsUI
For Each v As String In RemoveValues
ClassDatabase.Execute_non_Query(String.Format("DELETE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = {0} AND RECORD_ID = {1} AND VALUE = '{2}'", ControlId, RecordId, v))
Next
ClassProxy.Refresh_Control_Data()
Catch ex As Exception
MsgBox("Error in UpdateMultipleValues:" & vbNewLine & ex.Message)
End Try
@@ -662,7 +633,7 @@ Public Class ClassControlCommandsUI
Case "CheckedListBoxControl"
Dim chklbx As DevExpress.XtraEditors.CheckedListBoxControl
chklbx = DirectCast(ctrl, DevExpress.XtraEditors.CheckedListBoxControl)
Dim SQL_COMAMND = ClassDatabase.Execute_Scalar("SELECT UPPER(SQL_COMMAND_1) FROM TBPMO_CONTROL WHERE GUID = " & CONTROL_ID)
Dim SQL_COMAMND = ClassDatabase.Execute_Scalar("SELECT UPPER(SQL_COMMAND_1) FROM TBPMO_CONTROL WHERE GUID = " & CONTROL_ID, True)
'TODO: Wenn keine Datasource vorhanden, angecheckte einträge als string speichern
If IsNothing(chklbx.DataSource) Then
@@ -691,7 +662,7 @@ Public Class ClassControlCommandsUI
If CInt(row(0)) > 0 Then
'Überprüfen ob es den Record gibt
Dim SQL = "SELECT COUNT(*) FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = " & CURRENT_RECORD_ID & " AND RECORD2_ID = " & CInt(row(0))
If ClassDatabase.Execute_Scalar(SQL) = 1 Then
If ClassDatabase.Execute_Scalar(SQL, True) = 1 Then
SQL = "DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = " & CURRENT_RECORD_ID & " AND RECORD2_ID = " & CInt(row(0))
If ClassDatabase.Execute_non_Query(SQL) = True Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> TBPMO_RECORD_CONNECT-Entry after 'deselect CheckedListBox' deleted", False)
@@ -717,11 +688,11 @@ Public Class ClassControlCommandsUI
checked_result.Add(checked_value)
checked_result_string = String.Join(";", checked_result)
Dim SQL = "SELECT COUNT(*) FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = " & CURRENT_RECORD_ID & " AND RECORD2_ID = " & CInt(row(0))
If ClassDatabase.Execute_Scalar(SQL) = 0 Then
If ClassDatabase.Execute_Scalar(SQL, True) = 0 Then
If CURRENT_RECORD_ID = 0 Then
MsgBox("Attention: no current record Selected!", MsgBoxStyle.Exclamation)
Else
If ConnectRecord(CURRENT_RECORD_ID, CInt(row(0)), "CheckedListBox;" & ctrl.Name) = True Then
If ClassRecordCommands.ConnectRecord(CURRENT_RECORD_ID, CInt(row(0)), "CheckedListBox;" & ctrl.Name) = True Then
If LogErrorsOnly = False Then ClassLogger.Add(" >> Checked ListBox record '" & rid.ToString & "' was linked successfully.", False)
End If
End If
@@ -769,7 +740,7 @@ Public Class ClassControlCommandsUI
Dim chk_grid As DevExpress.XtraGrid.GridControl
chk_grid = DirectCast(ctrl, DevExpress.XtraGrid.GridControl)
Dim gridview As DevExpress.XtraGrid.Views.Grid.GridView = chk_grid.MainView
Dim SQL_COMAMND = ClassDatabase.Execute_Scalar("SELECT UPPER(SQL_COMMAND_1) FROM TBPMO_CONTROL WHERE GUID = " & CONTROL_ID)
Dim SQL_COMAMND = ClassDatabase.Execute_Scalar("SELECT UPPER(SQL_COMMAND_1) FROM TBPMO_CONTROL WHERE GUID = " & CONTROL_ID, True)
Dim result As New List(Of String)
Dim result_string As String
@@ -788,131 +759,6 @@ Public Class ClassControlCommandsUI
Return Nothing
End If
''TODO: Wenn keine Datasource vorhanden, angecheckte einträge als string speichern
'If IsNothing(chk_grid.DataSource) Then
' Dim result As New List(Of String)
' Dim result_string As String
' For i As Integer = 0 To gridview.DataRowCount
' Dim res = gridview.GetRowCellValue(i, 0)
' If CBool(gridview.GetRowCellValue(i, "CHECKED")) = True Then
' Dim value = gridview.GetRowCellValue(i, 1).ToString.Trim
' result.Add(value)
' End If
' Next
' ' Hier wird ein String zurückgegeben, der als VALUE gespeichert werden soll
' ' Überspringt den Rest der funktion
' result_string = String.Join(";", result)
' If Not IsNothing(result_string) Then
' Return result_string
' Else
' Return Nothing
' End If
'Else
' Dim result As New List(Of String)
' Dim result_string As String
' Dim DT As DataTable = chk_grid.DataSource
' For Each row As DataRow In DT.Rows
' If CBool(row.Item(0)) = True Then
' Dim value = row.Item(1).ToString.Trim
' result.Add(value)
' End If
' Next
' ' Hier wird ein String zurückgegeben, der als VALUE gespeichert werden soll
' ' Überspringt den Rest der funktion
' result_string = String.Join(";", result)
' If Not IsNothing(result_string) Then
' Return result_string
' Else
' Return Nothing
' End If
'End If
'If SQL_COMAMND.ToString.StartsWith("SELECT [RECORD_ID]") Or SQL_COMAMND.ToString.StartsWith("SELECT [RECORD-ID]") Then
' 'Alle Recorddatensätze durchlaufen und überprüfen ob nicht angehakt
' 'Wenn nicht angehakt dann Record löschen
' Dim index As Integer = 0
' For i As Integer = 0 To gridview.DataRowCount
' ' Dim item = chklbx.GetItem(i)
' ' Dim row As DataRowView = CType(item, DataRowView)
' If CBool(gridview.GetRowCellValue(i, "CHECKED")) = False Then
' ' If CInt(row(0)) > 0 Then
' ' 'Überprüfen ob es den Record gibt
' ' Dim SQL = "SELECT COUNT(*) FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = " & CURRENT_RECORD_ID & " AND RECORD2_ID = " & CInt(row(0))
' ' If ClassDatabase.Execute_Scalar(SQL) = 1 Then
' ' SQL = "DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = " & CURRENT_RECORD_ID & " AND RECORD2_ID = " & CInt(row(0))
' ' If ClassDatabase.Execute_non_Query(SQL) = True Then
' ' If LogErrorsOnly = False Then ClassLogger.Add(" >> TBPMO_RECORD_CONNECT-Entry after 'deselect CheckedListBox' deleted", False)
' ' End If
' ' End If
' ' End If
' End If
' Next
'End If
''Für jeden gecheckten Eintrag den Record der Stammentität mit dem selektierten linken
'Dim checked_result As New List(Of String)
'Dim checked_result_string As String
'If SQL_COMAMND.ToString.StartsWith("SELECT [RECORD_ID]") Or SQL_COMAMND.ToString.StartsWith("SELECT [RECORD-ID]") Then
' For Each item As Object In DirectCast(ctrl, DevExpress.XtraEditors.CheckedListBoxControl).CheckedItems
' Dim row As DataRowView = CType(item, DataRowView)
' Try
' If CInt(row(0)) > 0 Then
' Dim rid = CInt(row(0))
' Dim checked_value = row(1)
' checked_result.Add(checked_value)
' checked_result_string = String.Join(";", checked_result)
' Dim SQL = "SELECT COUNT(*) FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = " & CURRENT_RECORD_ID & " AND RECORD2_ID = " & CInt(row(0))
' If ClassDatabase.Execute_Scalar(SQL) = 0 Then
' If CURRENT_RECORD_ID = 0 Then
' MsgBox("Attention: no current record Selected!", MsgBoxStyle.Exclamation)
' Else
' If ConnectRecord(CURRENT_RECORD_ID, CInt(row(0)), "CheckedListBox;" & ctrl.Name) = True Then
' If LogErrorsOnly = False Then ClassLogger.Add(" >> Checked ListBox record '" & rid.ToString & "' was linked successfully.", False)
' End If
' End If
' End If
' End If
' Catch ex As Exception
' ClassLogger.Add("Error in CheckedListBoxGetControlValue: " & ex.Message, True)
' End Try
' Next
'Else
' For Each item As Object In DirectCast(ctrl, DevExpress.XtraEditors.CheckedListBoxControl).CheckedItems
' Dim row As DataRowView = CType(item, DataRowView)
' If row.DataView.Table.Columns.Count = 1 Then
' Dim checked_value = row(0)
' checked_result.Add(checked_value)
' ElseIf row.DataView.Table.Columns.Count = 2 Then
' Dim checked_value = row(1)
' checked_result.Add(checked_value)
' End If
' checked_result_string = String.Join(";", checked_result)
' Next
'End If
'' Hier wird ein String zurückgegeben, der als VALUE gespeichert werden soll
'' Überspringt den Rest der funktion
'If Not IsNothing(checked_result_string) Then
' 'Dim sql = String.Format("select count(*) from TBPMO_CONTROL_VALUE where CONTROL_ID = {0} and RECORD_ID = {1}", CONTROL_ID, CURRENT_RECORD_ID)
' 'If ClassDatabase.Execute_Scalar(sql) = 0 Then
' ' InsertControlValue(CONTROL_ID, CURRENT_RECORD_ID, "")
' 'End If
' Return checked_result_string
'Else
' 'In jedem Fall Nothing zurückgeben
' Return Nothing
'End If
Case "ListBoxControl"
Dim listbox As DevExpress.XtraEditors.ListBoxControl = DirectCast(ctrl, DevExpress.XtraEditors.ListBoxControl)
@@ -939,7 +785,7 @@ Public Class ClassControlCommandsUI
Public Shared Function InsertControlValue(ControlID As Integer, RecordID As Integer, Value As String)
Try
Dim AddedWho = USER_USERNAME
Dim FORMAT_TYPE As String = ClassDatabase.Execute_Scalar("SELECT FORMAT_TYPE FROM TBPMO_CONTROL WHERE GUID = " & ControlID)
Dim FORMAT_TYPE As String = ClassDatabase.Execute_Scalar("SELECT FORMAT_TYPE FROM TBPMO_CONTROL WHERE GUID = " & ControlID, True)
Select Case FORMAT_TYPE
Case "Currency"
@@ -953,24 +799,9 @@ Public Class ClassControlCommandsUI
End If
End Select
Dim ins As String = String.Format("INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID, RECORD_ID, VALUE, ADDED_WHO) VALUES ({0}, {1}, '{2}', '{3}')", ControlID, RecordID, Value, AddedWho)
ClassProxy.Refresh_Control_Data()
Return ClassDatabase.Execute_non_Query(ins)
'Using conn As New SqlClient.SqlConnection(MyConnectionString)
' Dim cmd As New SqlClient.SqlCommand("INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID, RECORD_ID, VALUE, ADDED_WHO) VALUES (@CONTROL_ID, @RECORD_ID, @VALUE, @ADDED_WHO)", conn)
' cmd.Parameters.Add("@VALUE", SqlDbType.NVarChar).Value = Value
' cmd.Parameters.Add("@ADDED_WHO", SqlDbType.VarChar).Value = AddedWho
' cmd.Parameters.Add("@CONTROL_ID", SqlDbType.Int).Value = ControlID
' cmd.Parameters.Add("@RECORD_ID", SqlDbType.Int).Value = RecordID
' conn.Open()
' cmd.ExecuteNonQuery()
' Return True
'End Using
'Dim SQL = "INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID, RECORD_ID, VALUE, ADDED_WHO) VALUES (" & ControlID & ", " & RecordID & ", '" & Value & "', '" & AddedWho & "')"
'Return ClassDatabase.Execute_non_Query(SQL, True)
Catch ex As Exception
ClassLogger.Add("Unerwarteter Fehler in InsertControlValue: " & ex.Message, True)
Return False
@@ -980,8 +811,9 @@ Public Class ClassControlCommandsUI
Public Shared Function UpdateControlValue(ControlID As Integer, RecordID As Integer, Value As String)
Try
Dim CHANGED_WHO = USER_USERNAME
Dim DT_FORMAT_TYPE As DataTable = ClassDatabase.Return_Datatable("SELECT FORMAT_TYPE,CONTROL_TYPE_ID FROM TBPMO_CONTROL WHERE GUID = " & ControlID)
Dim FORMAT_TYPE As String = ClassDatabase.Execute_Scalar("SELECT FORMAT_TYPE,CONTROL_TYPE_ID FROM TBPMO_CONTROL WHERE GUID = " & ControlID)
Dim def = "SELECT FORMAT_TYPE,CONTROL_TYPE_ID FROM TBPMO_CONTROL WHERE GUID = " & ControlID
Dim DT_FORMAT_TYPE As DataTable = ClassDatabase.Return_Datatable(def, True)
Dim FORMAT_TYPE As String = ClassDatabase.Execute_Scalar("SELECT FORMAT_TYPE,CONTROL_TYPE_ID FROM TBPMO_CONTROL WHERE GUID = " & ControlID, True)
If Not Value = String.Empty Then
Select Case DT_FORMAT_TYPE.Rows(0).Item(0).ToString ' FORMAT_TYPE
@@ -999,41 +831,12 @@ Public Class ClassControlCommandsUI
Dim upd = String.Format("UPDATE TBPMO_CONTROL_VALUE SET VALUE = '{0}', CHANGED_WHO = '{1}', CHANGE_STEP = {2} WHERE CONTROL_ID = {3} AND RECORD_ID = {4}", _
Value, CHANGED_WHO, CURRENT_CHANGE_STEP, ControlID, RecordID)
Return ClassDatabase.Execute_non_Query(upd, True)
'Using conn As New SqlClient.SqlConnection(MyConnectionString)
' Dim cmd As New SqlClient.SqlCommand("UPDATE TBPMO_CONTROL_VALUE SET VALUE = @VALUE, CHANGED_WHO = @CHANGED_WHO, CHANGE_STEP = @CHANGE_STEP WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @RECORD_ID", conn)
' cmd.Parameters.Add("@VALUE", SqlDbType.NVarChar).Value = Value
' cmd.Parameters.Add("@CHANGED_WHO", SqlDbType.VarChar).Value = CHANGED_WHO
' cmd.Parameters.Add("@CONTROL_ID", SqlDbType.Int).Value = ControlID
' cmd.Parameters.Add("@RECORD_ID", SqlDbType.Int).Value = RecordID
' cmd.Parameters.Add("CHANGE_STEP", SqlDbType.Int).Value = CURRENT_CHANGE_STEP
' conn.Open()
' cmd.ExecuteNonQuery()
' Return True
'End Using
ClassProxy.Refresh_Control_Data()
Return ClassDatabase.Execute_non_Query(upd)
Catch ex As Exception
ClassLogger.Add("Unerwarteter Fehler in UpdateControlValue: " & ex.Message, True)
Return False
End Try
End Function
Public Shared Function CreateRecord(FormID)
Dim ADDED_WHO As String = USER_USERNAME
Dim SQL = "INSERT INTO TBPMO_RECORD(ADDED_WHO, FORM_ID,RECORD_ENTITY_ID) VALUES ('" & ADDED_WHO & "', " & FormID & ",4711)"
Return ClassDatabase.Execute_non_Query(SQL, True)
End Function
Public Shared Function GetLastRecord()
Dim ADDED_WHO As String = USER_USERNAME
Dim SQL = "SELECT (MAX(GUID)) FROM TBPMO_RECORD where PARENT_RECORD = 0 AND ADDED_WHO = '" & ADDED_WHO & "'"
Return ClassDatabase.Execute_Scalar(SQL, True)
End Function
Public Shared Function ConnectRecord(PARENT_RECORD As Integer, LINK_RECORD As Integer, Optional Comment As String = "")
Dim ADDED_WHO As String = USER_USERNAME
Dim SQL = "INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID,COMMENT,ADDED_WHO) VALUES (" & PARENT_RECORD & "," & LINK_RECORD & ",'" & Comment & "','" & ADDED_WHO & "')"
If LogErrorsOnly = False Then ClassLogger.Add(" >> ConnectRecord SQL: " & SQL, False)
Return ClassDatabase.Execute_non_Query(SQL, True)
End Function
End Class