Navigation auf TreeList umgestellt, Monitor-Layout refactored

- NavBarControl entfernt, Navigation erfolgt jetzt über TreeList_Cockpit mit modernem Design und Rechteprüfung (Monitor/Charts).
- TreeList lädt Cockpit-Struktur aus DB, blendet Knoten je nach Berechtigung aus und zeigt mehrsprachige Fehler bei fehlender Konfiguration.
- Klick auf Monitor- oder Chart-Knoten öffnet gezielt Monitor/Dashboard mit passender Konfiguration.
- Methoden zum Laden/Speichern/Entfernen von Monitor-Grid-Layouts vereinheitlicht und auf Cockpit-spezifische Layout-Dateien umgestellt.
- TreeList-Breite und Splitter-Positionen werden benutzerspezifisch gespeichert.
- Neuer Refresh-Button für TreeList im Ribbon ergänzt.
- Diverse Refactorings, Logging- und Fehlerbehandlungs-Verbesserungen.
This commit is contained in:
Developer01
2026-05-13 14:23:24 +02:00
parent d74beddb35
commit 04d9aac24f
18 changed files with 4697 additions and 4688 deletions

View File

@@ -32,6 +32,8 @@ Public Class ClassConfig
Public Property ReminderTimer As Integer = 5
Public Property OverviewRefresh_Intervall As Integer = 2
Public Property MainTreeList_Width As Integer = 250
Public Property MonitorSplitter1_Distance As Integer = 510
Public Property MonitorSplitter2_Distance As Integer = 270
Public Property MonitorSplitter3_Distance As Integer = 400
@@ -43,8 +45,12 @@ Public Class ClassConfig
Public Property NOTES_ONCLICK As Boolean = True
Public Property GridFontSizeDelta As Integer = 0
Public Property ProfileConfig As New ProfileUserConfig
Public Property InvDashboardSplitterPositions As New List(Of InvDashboardSplitterPosition)
Public Class InvDashboardSplitterPosition
Public Property CockpitChartId As Integer
Public Property SplitterPosition As Integer
End Class
Public Class ProfileUserConfig
Public Property ProfileID As Integer

View File

@@ -528,7 +528,7 @@ Public Class ClassInit
oStep = "TBPM_CHART"
oSql = "SELECT * FROM TBPM_CHART"
oSql = "SELECT * FROM TBPM_CHART WITH (NOLOCK)"
BASEDATA_DT_CHARTS = DatabaseFallback.GetDatatable("TBPM_CHART", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStep = "TBDD_GUI_LANGUAGE"

View File

@@ -200,7 +200,10 @@ Public Class RefreshHelper
Private Sub LoadVisibleIndex()
Try
_View.MakeRowVisible(_View.FocusedRowHandle, True)
_View.TopRowIndex = _View.GetVisibleIndex(_View.FocusedRowHandle) - _VisibleRowIndex
If _View.FocusedRowHandle <> -1 Then
_View.TopRowIndex = _View.GetVisibleIndex(_View.FocusedRowHandle) - _VisibleRowIndex
End If
Catch ex As Exception
_Logger.Error(ex)
End Try

View File

@@ -61,8 +61,6 @@ Partial Public Class DD_DMSLiteDataSet
Private tableVWPM_CHART_INVOICE_MONITOR_SERIES As VWPM_CHART_INVOICE_MONITOR_SERIESDataTable
Private tableVWPM_CHART_TOP5 As VWPM_CHART_TOP5DataTable
Private tableTBPM_PROFILE As TBPM_PROFILEDataTable
Private tableTBWH_CONNECTION As TBWH_CONNECTIONDataTable
@@ -156,9 +154,6 @@ Partial Public Class DD_DMSLiteDataSet
If (Not (ds.Tables("VWPM_CHART_INVOICE_MONITOR_SERIES")) Is Nothing) Then
MyBase.Tables.Add(New VWPM_CHART_INVOICE_MONITOR_SERIESDataTable(ds.Tables("VWPM_CHART_INVOICE_MONITOR_SERIES")))
End If
If (Not (ds.Tables("VWPM_CHART_TOP5")) Is Nothing) Then
MyBase.Tables.Add(New VWPM_CHART_TOP5DataTable(ds.Tables("VWPM_CHART_TOP5")))
End If
If (Not (ds.Tables("TBPM_PROFILE")) Is Nothing) Then
MyBase.Tables.Add(New TBPM_PROFILEDataTable(ds.Tables("TBPM_PROFILE")))
End If
@@ -362,16 +357,6 @@ Partial Public Class DD_DMSLiteDataSet
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Browsable(false), _
Global.System.ComponentModel.DesignerSerializationVisibility(Global.System.ComponentModel.DesignerSerializationVisibility.Content)> _
Public ReadOnly Property VWPM_CHART_TOP5() As VWPM_CHART_TOP5DataTable
Get
Return Me.tableVWPM_CHART_TOP5
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Browsable(false), _
@@ -513,9 +498,6 @@ Partial Public Class DD_DMSLiteDataSet
If (Not (ds.Tables("VWPM_CHART_INVOICE_MONITOR_SERIES")) Is Nothing) Then
MyBase.Tables.Add(New VWPM_CHART_INVOICE_MONITOR_SERIESDataTable(ds.Tables("VWPM_CHART_INVOICE_MONITOR_SERIES")))
End If
If (Not (ds.Tables("VWPM_CHART_TOP5")) Is Nothing) Then
MyBase.Tables.Add(New VWPM_CHART_TOP5DataTable(ds.Tables("VWPM_CHART_TOP5")))
End If
If (Not (ds.Tables("TBPM_PROFILE")) Is Nothing) Then
MyBase.Tables.Add(New TBPM_PROFILEDataTable(ds.Tables("TBPM_PROFILE")))
End If
@@ -662,12 +644,6 @@ Partial Public Class DD_DMSLiteDataSet
Me.tableVWPM_CHART_INVOICE_MONITOR_SERIES.InitVars
End If
End If
Me.tableVWPM_CHART_TOP5 = CType(MyBase.Tables("VWPM_CHART_TOP5"),VWPM_CHART_TOP5DataTable)
If (initTable = true) Then
If (Not (Me.tableVWPM_CHART_TOP5) Is Nothing) Then
Me.tableVWPM_CHART_TOP5.InitVars
End If
End If
Me.tableTBPM_PROFILE = CType(MyBase.Tables("TBPM_PROFILE"),TBPM_PROFILEDataTable)
If (initTable = true) Then
If (Not (Me.tableTBPM_PROFILE) Is Nothing) Then
@@ -729,8 +705,6 @@ Partial Public Class DD_DMSLiteDataSet
MyBase.Tables.Add(Me.tableVWPM_CHART_INVOICE_MONITOR)
Me.tableVWPM_CHART_INVOICE_MONITOR_SERIES = New VWPM_CHART_INVOICE_MONITOR_SERIESDataTable()
MyBase.Tables.Add(Me.tableVWPM_CHART_INVOICE_MONITOR_SERIES)
Me.tableVWPM_CHART_TOP5 = New VWPM_CHART_TOP5DataTable()
MyBase.Tables.Add(Me.tableVWPM_CHART_TOP5)
Me.tableTBPM_PROFILE = New TBPM_PROFILEDataTable()
MyBase.Tables.Add(Me.tableTBPM_PROFILE)
Me.tableTBWH_CONNECTION = New TBWH_CONNECTIONDataTable()
@@ -851,12 +825,6 @@ Partial Public Class DD_DMSLiteDataSet
Return false
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Function ShouldSerializeVWPM_CHART_TOP5() As Boolean
Return false
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Function ShouldSerializeTBPM_PROFILE() As Boolean
@@ -981,9 +949,6 @@ Partial Public Class DD_DMSLiteDataSet
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Delegate Sub VWPM_CHART_INVOICE_MONITOR_SERIESRowChangeEventHandler(ByVal sender As Object, ByVal e As VWPM_CHART_INVOICE_MONITOR_SERIESRowChangeEvent)
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Delegate Sub VWPM_CHART_TOP5RowChangeEventHandler(ByVal sender As Object, ByVal e As VWPM_CHART_TOP5RowChangeEvent)
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Delegate Sub TBPM_PROFILERowChangeEventHandler(ByVal sender As Object, ByVal e As TBPM_PROFILERowChangeEvent)
@@ -8818,300 +8783,6 @@ Partial Public Class DD_DMSLiteDataSet
End Function
End Class
'''<summary>
'''Represents the strongly named DataTable class.
'''</summary>
<Global.System.Serializable(), _
Global.System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")> _
Partial Public Class VWPM_CHART_TOP5DataTable
Inherits Global.System.Data.TypedTableBase(Of VWPM_CHART_TOP5Row)
Private columnKRED_NAME As Global.System.Data.DataColumn
Private columnANZ_BELEG As Global.System.Data.DataColumn
Private columnNetto As Global.System.Data.DataColumn
Private columnSkonto As Global.System.Data.DataColumn
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub New()
MyBase.New
Me.TableName = "VWPM_CHART_TOP5"
Me.BeginInit
Me.InitClass
Me.EndInit
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Friend Sub New(ByVal table As Global.System.Data.DataTable)
MyBase.New
Me.TableName = table.TableName
If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
Me.CaseSensitive = table.CaseSensitive
End If
If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
Me.Locale = table.Locale
End If
If (table.Namespace <> table.DataSet.Namespace) Then
Me.Namespace = table.Namespace
End If
Me.Prefix = table.Prefix
Me.MinimumCapacity = table.MinimumCapacity
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Sub New(ByVal info As Global.System.Runtime.Serialization.SerializationInfo, ByVal context As Global.System.Runtime.Serialization.StreamingContext)
MyBase.New(info, context)
Me.InitVars
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property KRED_NAMEColumn() As Global.System.Data.DataColumn
Get
Return Me.columnKRED_NAME
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property ANZ_BELEGColumn() As Global.System.Data.DataColumn
Get
Return Me.columnANZ_BELEG
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property NettoColumn() As Global.System.Data.DataColumn
Get
Return Me.columnNetto
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property SkontoColumn() As Global.System.Data.DataColumn
Get
Return Me.columnSkonto
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Browsable(false)> _
Public ReadOnly Property Count() As Integer
Get
Return Me.Rows.Count
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Default ReadOnly Property Item(ByVal index As Integer) As VWPM_CHART_TOP5Row
Get
Return CType(Me.Rows(index),VWPM_CHART_TOP5Row)
End Get
End Property
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Event VWPM_CHART_TOP5RowChanging As VWPM_CHART_TOP5RowChangeEventHandler
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Event VWPM_CHART_TOP5RowChanged As VWPM_CHART_TOP5RowChangeEventHandler
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Event VWPM_CHART_TOP5RowDeleting As VWPM_CHART_TOP5RowChangeEventHandler
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Event VWPM_CHART_TOP5RowDeleted As VWPM_CHART_TOP5RowChangeEventHandler
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Overloads Sub AddVWPM_CHART_TOP5Row(ByVal row As VWPM_CHART_TOP5Row)
Me.Rows.Add(row)
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Overloads Function AddVWPM_CHART_TOP5Row(ByVal KRED_NAME As String, ByVal ANZ_BELEG As Short, ByVal Netto As Decimal, ByVal Skonto As Decimal) As VWPM_CHART_TOP5Row
Dim rowVWPM_CHART_TOP5Row As VWPM_CHART_TOP5Row = CType(Me.NewRow,VWPM_CHART_TOP5Row)
Dim columnValuesArray() As Object = New Object() {KRED_NAME, ANZ_BELEG, Netto, Skonto}
rowVWPM_CHART_TOP5Row.ItemArray = columnValuesArray
Me.Rows.Add(rowVWPM_CHART_TOP5Row)
Return rowVWPM_CHART_TOP5Row
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Overrides Function Clone() As Global.System.Data.DataTable
Dim cln As VWPM_CHART_TOP5DataTable = CType(MyBase.Clone,VWPM_CHART_TOP5DataTable)
cln.InitVars
Return cln
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Function CreateInstance() As Global.System.Data.DataTable
Return New VWPM_CHART_TOP5DataTable()
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Friend Sub InitVars()
Me.columnKRED_NAME = MyBase.Columns("KRED_NAME")
Me.columnANZ_BELEG = MyBase.Columns("ANZ_BELEG")
Me.columnNetto = MyBase.Columns("Netto")
Me.columnSkonto = MyBase.Columns("Skonto")
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Sub InitClass()
Me.columnKRED_NAME = New Global.System.Data.DataColumn("KRED_NAME", GetType(String), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnKRED_NAME)
Me.columnANZ_BELEG = New Global.System.Data.DataColumn("ANZ_BELEG", GetType(Short), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnANZ_BELEG)
Me.columnNetto = New Global.System.Data.DataColumn("Netto", GetType(Decimal), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnNetto)
Me.columnSkonto = New Global.System.Data.DataColumn("Skonto", GetType(Decimal), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnSkonto)
Me.columnKRED_NAME.AllowDBNull = false
Me.columnKRED_NAME.MaxLength = 250
Me.columnANZ_BELEG.AllowDBNull = false
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Function NewVWPM_CHART_TOP5Row() As VWPM_CHART_TOP5Row
Return CType(Me.NewRow,VWPM_CHART_TOP5Row)
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Function NewRowFromBuilder(ByVal builder As Global.System.Data.DataRowBuilder) As Global.System.Data.DataRow
Return New VWPM_CHART_TOP5Row(builder)
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Function GetRowType() As Global.System.Type
Return GetType(VWPM_CHART_TOP5Row)
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Sub OnRowChanged(ByVal e As Global.System.Data.DataRowChangeEventArgs)
MyBase.OnRowChanged(e)
If (Not (Me.VWPM_CHART_TOP5RowChangedEvent) Is Nothing) Then
RaiseEvent VWPM_CHART_TOP5RowChanged(Me, New VWPM_CHART_TOP5RowChangeEvent(CType(e.Row,VWPM_CHART_TOP5Row), e.Action))
End If
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Sub OnRowChanging(ByVal e As Global.System.Data.DataRowChangeEventArgs)
MyBase.OnRowChanging(e)
If (Not (Me.VWPM_CHART_TOP5RowChangingEvent) Is Nothing) Then
RaiseEvent VWPM_CHART_TOP5RowChanging(Me, New VWPM_CHART_TOP5RowChangeEvent(CType(e.Row,VWPM_CHART_TOP5Row), e.Action))
End If
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Sub OnRowDeleted(ByVal e As Global.System.Data.DataRowChangeEventArgs)
MyBase.OnRowDeleted(e)
If (Not (Me.VWPM_CHART_TOP5RowDeletedEvent) Is Nothing) Then
RaiseEvent VWPM_CHART_TOP5RowDeleted(Me, New VWPM_CHART_TOP5RowChangeEvent(CType(e.Row,VWPM_CHART_TOP5Row), e.Action))
End If
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Sub OnRowDeleting(ByVal e As Global.System.Data.DataRowChangeEventArgs)
MyBase.OnRowDeleting(e)
If (Not (Me.VWPM_CHART_TOP5RowDeletingEvent) Is Nothing) Then
RaiseEvent VWPM_CHART_TOP5RowDeleting(Me, New VWPM_CHART_TOP5RowChangeEvent(CType(e.Row,VWPM_CHART_TOP5Row), e.Action))
End If
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub RemoveVWPM_CHART_TOP5Row(ByVal row As VWPM_CHART_TOP5Row)
Me.Rows.Remove(row)
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Shared Function GetTypedTableSchema(ByVal xs As Global.System.Xml.Schema.XmlSchemaSet) As Global.System.Xml.Schema.XmlSchemaComplexType
Dim type As Global.System.Xml.Schema.XmlSchemaComplexType = New Global.System.Xml.Schema.XmlSchemaComplexType()
Dim sequence As Global.System.Xml.Schema.XmlSchemaSequence = New Global.System.Xml.Schema.XmlSchemaSequence()
Dim ds As DD_DMSLiteDataSet = New DD_DMSLiteDataSet()
Dim any1 As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny()
any1.Namespace = "http://www.w3.org/2001/XMLSchema"
any1.MinOccurs = New Decimal(0)
any1.MaxOccurs = Decimal.MaxValue
any1.ProcessContents = Global.System.Xml.Schema.XmlSchemaContentProcessing.Lax
sequence.Items.Add(any1)
Dim any2 As Global.System.Xml.Schema.XmlSchemaAny = New Global.System.Xml.Schema.XmlSchemaAny()
any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"
any2.MinOccurs = New Decimal(1)
any2.ProcessContents = Global.System.Xml.Schema.XmlSchemaContentProcessing.Lax
sequence.Items.Add(any2)
Dim attribute1 As Global.System.Xml.Schema.XmlSchemaAttribute = New Global.System.Xml.Schema.XmlSchemaAttribute()
attribute1.Name = "namespace"
attribute1.FixedValue = ds.Namespace
type.Attributes.Add(attribute1)
Dim attribute2 As Global.System.Xml.Schema.XmlSchemaAttribute = New Global.System.Xml.Schema.XmlSchemaAttribute()
attribute2.Name = "tableTypeName"
attribute2.FixedValue = "VWPM_CHART_TOP5DataTable"
type.Attributes.Add(attribute2)
type.Particle = sequence
Dim dsSchema As Global.System.Xml.Schema.XmlSchema = ds.GetSchemaSerializable
If xs.Contains(dsSchema.TargetNamespace) Then
Dim s1 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream()
Dim s2 As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream()
Try
Dim schema As Global.System.Xml.Schema.XmlSchema = Nothing
dsSchema.Write(s1)
Dim schemas As Global.System.Collections.IEnumerator = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator
Do While schemas.MoveNext
schema = CType(schemas.Current,Global.System.Xml.Schema.XmlSchema)
s2.SetLength(0)
schema.Write(s2)
If (s1.Length = s2.Length) Then
s1.Position = 0
s2.Position = 0
Do While ((s1.Position <> s1.Length) _
AndAlso (s1.ReadByte = s2.ReadByte))
Loop
If (s1.Position = s1.Length) Then
Return type
End If
End If
Loop
Finally
If (Not (s1) Is Nothing) Then
s1.Close
End If
If (Not (s2) Is Nothing) Then
s2.Close
End If
End Try
End If
xs.Add(dsSchema)
Return type
End Function
End Class
'''<summary>
'''Represents the strongly named DataTable class.
'''</summary>
@@ -14890,98 +14561,6 @@ Partial Public Class DD_DMSLiteDataSet
End Property
End Class
'''<summary>
'''Represents strongly named DataRow class.
'''</summary>
Partial Public Class VWPM_CHART_TOP5Row
Inherits Global.System.Data.DataRow
Private tableVWPM_CHART_TOP5 As VWPM_CHART_TOP5DataTable
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Friend Sub New(ByVal rb As Global.System.Data.DataRowBuilder)
MyBase.New(rb)
Me.tableVWPM_CHART_TOP5 = CType(Me.Table,VWPM_CHART_TOP5DataTable)
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property KRED_NAME() As String
Get
Return CType(Me(Me.tableVWPM_CHART_TOP5.KRED_NAMEColumn),String)
End Get
Set
Me(Me.tableVWPM_CHART_TOP5.KRED_NAMEColumn) = value
End Set
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property ANZ_BELEG() As Short
Get
Return CType(Me(Me.tableVWPM_CHART_TOP5.ANZ_BELEGColumn),Short)
End Get
Set
Me(Me.tableVWPM_CHART_TOP5.ANZ_BELEGColumn) = value
End Set
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property Netto() As Decimal
Get
Try
Return CType(Me(Me.tableVWPM_CHART_TOP5.NettoColumn),Decimal)
Catch e As Global.System.InvalidCastException
Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Netto in Tabelle VWPM_CHART_TOP5 ist DBNull.", e)
End Try
End Get
Set
Me(Me.tableVWPM_CHART_TOP5.NettoColumn) = value
End Set
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property Skonto() As Decimal
Get
Try
Return CType(Me(Me.tableVWPM_CHART_TOP5.SkontoColumn),Decimal)
Catch e As Global.System.InvalidCastException
Throw New Global.System.Data.StrongTypingException("Der Wert für Spalte Skonto in Tabelle VWPM_CHART_TOP5 ist DBNull.", e)
End Try
End Get
Set
Me(Me.tableVWPM_CHART_TOP5.SkontoColumn) = value
End Set
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Function IsNettoNull() As Boolean
Return Me.IsNull(Me.tableVWPM_CHART_TOP5.NettoColumn)
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub SetNettoNull()
Me(Me.tableVWPM_CHART_TOP5.NettoColumn) = Global.System.Convert.DBNull
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Function IsSkontoNull() As Boolean
Return Me.IsNull(Me.tableVWPM_CHART_TOP5.SkontoColumn)
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub SetSkontoNull()
Me(Me.tableVWPM_CHART_TOP5.SkontoColumn) = Global.System.Convert.DBNull
End Sub
End Class
'''<summary>
'''Represents strongly named DataRow class.
'''</summary>
@@ -16363,42 +15942,6 @@ Partial Public Class DD_DMSLiteDataSet
End Property
End Class
'''<summary>
'''Row event argument class
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Class VWPM_CHART_TOP5RowChangeEvent
Inherits Global.System.EventArgs
Private eventRow As VWPM_CHART_TOP5Row
Private eventAction As Global.System.Data.DataRowAction
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub New(ByVal row As VWPM_CHART_TOP5Row, ByVal action As Global.System.Data.DataRowAction)
MyBase.New
Me.eventRow = row
Me.eventAction = action
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property Row() As VWPM_CHART_TOP5Row
Get
Return Me.eventRow
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property Action() As Global.System.Data.DataRowAction
Get
Return Me.eventAction
End Get
End Property
End Class
'''<summary>
'''Row event argument class
'''</summary>
@@ -24007,16 +23550,19 @@ Namespace DD_DMSLiteDataSetTableAdapters
Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(0).Connection = Me.Connection
Me._commandCollection(0).CommandText = "SELECT Title, Anzahl, NettoSumme, SEQ"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM VWPM_CHART_INVOICE_"& _
"MONITOR_SERIES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY SEQ"
"MONITOR_SERIES"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"WHERE (COCKPIT_CHART_ID = @COCKPIT_CHART_ID)"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY SE"& _
"Q"
Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text
Me._commandCollection(0).Parameters.Add(New Global.System.Data.SqlClient.SqlParameter("@COCKPIT_CHART_ID", Global.System.Data.SqlDbType.Int, 4, Global.System.Data.ParameterDirection.Input, 0, 0, "COCKPIT_CHART_ID", Global.System.Data.DataRowVersion.Current, false, Nothing, "", "", ""))
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _
Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Fill, true)> _
Public Overloads Overridable Function Fill(ByVal dataTable As DD_DMSLiteDataSet.VWPM_CHART_INVOICE_MONITOR_SERIESDataTable) As Integer
Public Overloads Overridable Function Fill(ByVal dataTable As DD_DMSLiteDataSet.VWPM_CHART_INVOICE_MONITOR_SERIESDataTable, ByVal COCKPIT_CHART_ID As Integer) As Integer
Me.Adapter.SelectCommand = Me.CommandCollection(0)
Me.Adapter.SelectCommand.Parameters(0).Value = CType(COCKPIT_CHART_ID,Integer)
If (Me.ClearBeforeFill = true) Then
dataTable.Clear
End If
@@ -24028,191 +23574,15 @@ Namespace DD_DMSLiteDataSetTableAdapters
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _
Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.[Select], true)> _
Public Overloads Overridable Function GetData() As DD_DMSLiteDataSet.VWPM_CHART_INVOICE_MONITOR_SERIESDataTable
Public Overloads Overridable Function GetData(ByVal COCKPIT_CHART_ID As Integer) As DD_DMSLiteDataSet.VWPM_CHART_INVOICE_MONITOR_SERIESDataTable
Me.Adapter.SelectCommand = Me.CommandCollection(0)
Me.Adapter.SelectCommand.Parameters(0).Value = CType(COCKPIT_CHART_ID,Integer)
Dim dataTable As DD_DMSLiteDataSet.VWPM_CHART_INVOICE_MONITOR_SERIESDataTable = New DD_DMSLiteDataSet.VWPM_CHART_INVOICE_MONITOR_SERIESDataTable()
Me.Adapter.Fill(dataTable)
Return dataTable
End Function
End Class
'''<summary>
'''Represents the connection and commands used to retrieve and save data.
'''</summary>
<Global.System.ComponentModel.DesignerCategoryAttribute("code"), _
Global.System.ComponentModel.ToolboxItem(true), _
Global.System.ComponentModel.DataObjectAttribute(true), _
Global.System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner"& _
", Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")> _
Partial Public Class VWPM_CHART_TOP5TableAdapter
Inherits Global.System.ComponentModel.Component
Private WithEvents _adapter As Global.System.Data.SqlClient.SqlDataAdapter
Private _connection As Global.System.Data.SqlClient.SqlConnection
Private _transaction As Global.System.Data.SqlClient.SqlTransaction
Private _commandCollection() As Global.System.Data.SqlClient.SqlCommand
Private _clearBeforeFill As Boolean
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub New()
MyBase.New
Me.ClearBeforeFill = true
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Friend ReadOnly Property Adapter() As Global.System.Data.SqlClient.SqlDataAdapter
Get
If (Me._adapter Is Nothing) Then
Me.InitAdapter
End If
Return Me._adapter
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Friend Property Connection() As Global.System.Data.SqlClient.SqlConnection
Get
If (Me._connection Is Nothing) Then
Me.InitConnection
End If
Return Me._connection
End Get
Set
Me._connection = value
If (Not (Me.Adapter.InsertCommand) Is Nothing) Then
Me.Adapter.InsertCommand.Connection = value
End If
If (Not (Me.Adapter.DeleteCommand) Is Nothing) Then
Me.Adapter.DeleteCommand.Connection = value
End If
If (Not (Me.Adapter.UpdateCommand) Is Nothing) Then
Me.Adapter.UpdateCommand.Connection = value
End If
Dim i As Integer = 0
Do While (i < Me.CommandCollection.Length)
If (Not (Me.CommandCollection(i)) Is Nothing) Then
CType(Me.CommandCollection(i),Global.System.Data.SqlClient.SqlCommand).Connection = value
End If
i = (i + 1)
Loop
End Set
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Friend Property Transaction() As Global.System.Data.SqlClient.SqlTransaction
Get
Return Me._transaction
End Get
Set
Me._transaction = value
Dim i As Integer = 0
Do While (i < Me.CommandCollection.Length)
Me.CommandCollection(i).Transaction = Me._transaction
i = (i + 1)
Loop
If ((Not (Me.Adapter) Is Nothing) _
AndAlso (Not (Me.Adapter.DeleteCommand) Is Nothing)) Then
Me.Adapter.DeleteCommand.Transaction = Me._transaction
End If
If ((Not (Me.Adapter) Is Nothing) _
AndAlso (Not (Me.Adapter.InsertCommand) Is Nothing)) Then
Me.Adapter.InsertCommand.Transaction = Me._transaction
End If
If ((Not (Me.Adapter) Is Nothing) _
AndAlso (Not (Me.Adapter.UpdateCommand) Is Nothing)) Then
Me.Adapter.UpdateCommand.Transaction = Me._transaction
End If
End Set
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected ReadOnly Property CommandCollection() As Global.System.Data.SqlClient.SqlCommand()
Get
If (Me._commandCollection Is Nothing) Then
Me.InitCommandCollection
End If
Return Me._commandCollection
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property ClearBeforeFill() As Boolean
Get
Return Me._clearBeforeFill
End Get
Set
Me._clearBeforeFill = value
End Set
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Sub InitAdapter()
Me._adapter = New Global.System.Data.SqlClient.SqlDataAdapter()
Dim tableMapping As Global.System.Data.Common.DataTableMapping = New Global.System.Data.Common.DataTableMapping()
tableMapping.SourceTable = "Table"
tableMapping.DataSetTable = "VWPM_CHART_TOP5"
tableMapping.ColumnMappings.Add("KRED_NAME", "KRED_NAME")
tableMapping.ColumnMappings.Add("ANZ_BELEG", "ANZ_BELEG")
tableMapping.ColumnMappings.Add("Netto", "Netto")
tableMapping.ColumnMappings.Add("Skonto", "Skonto")
Me._adapter.TableMappings.Add(tableMapping)
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Sub InitConnection()
Me._connection = New Global.System.Data.SqlClient.SqlConnection()
Me._connection.ConnectionString = Global.taskFLOW.My.MySettings.Default.ConnectionString
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Sub InitCommandCollection()
Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(0) {}
Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand()
Me._commandCollection(0).Connection = Me.Connection
Me._commandCollection(0).CommandText = "SELECT KRED_NAME, ANZ_BELEG, Netto, Skonto"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"FROM VWPM_CHART_TOP"& _
"5"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10)&"ORDER BY Netto DESC"
Me._commandCollection(0).CommandType = Global.System.Data.CommandType.Text
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _
Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Fill, true)> _
Public Overloads Overridable Function Fill(ByVal dataTable As DD_DMSLiteDataSet.VWPM_CHART_TOP5DataTable) As Integer
Me.Adapter.SelectCommand = Me.CommandCollection(0)
If (Me.ClearBeforeFill = true) Then
dataTable.Clear
End If
Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
Return returnValue
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _
Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.[Select], true)> _
Public Overloads Overridable Function GetData() As DD_DMSLiteDataSet.VWPM_CHART_TOP5DataTable
Me.Adapter.SelectCommand = Me.CommandCollection(0)
Dim dataTable As DD_DMSLiteDataSet.VWPM_CHART_TOP5DataTable = New DD_DMSLiteDataSet.VWPM_CHART_TOP5DataTable()
Me.Adapter.Fill(dataTable)
Return dataTable
End Function
End Class
'''<summary>
'''Represents the connection and commands used to retrieve and save data.
'''</summary>
@@ -25416,6 +24786,15 @@ Namespace DD_DMSLiteDataSetTableAdapters
allChangedRows.AddRange(updatedRows)
End If
End If
If (Not (Me._tBDD_USERTableAdapter) Is Nothing) Then
Dim updatedRows() As Global.System.Data.DataRow = dataSet.TBDD_USER.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.ModifiedCurrent)
updatedRows = Me.GetRealUpdatedRows(updatedRows, allAddedRows)
If ((Not (updatedRows) Is Nothing) _
AndAlso (0 < updatedRows.Length)) Then
result = (result + Me._tBDD_USERTableAdapter.Update(updatedRows))
allChangedRows.AddRange(updatedRows)
End If
End If
If (Not (Me._tBPM_CONTROL_TABLETableAdapter) Is Nothing) Then
Dim updatedRows() As Global.System.Data.DataRow = dataSet.TBPM_CONTROL_TABLE.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.ModifiedCurrent)
updatedRows = Me.GetRealUpdatedRows(updatedRows, allAddedRows)
@@ -25425,15 +24804,6 @@ Namespace DD_DMSLiteDataSetTableAdapters
allChangedRows.AddRange(updatedRows)
End If
End If
If (Not (Me._tBPM_KONFIGURATIONTableAdapter) Is Nothing) Then
Dim updatedRows() As Global.System.Data.DataRow = dataSet.TBPM_KONFIGURATION.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.ModifiedCurrent)
updatedRows = Me.GetRealUpdatedRows(updatedRows, allAddedRows)
If ((Not (updatedRows) Is Nothing) _
AndAlso (0 < updatedRows.Length)) Then
result = (result + Me._tBPM_KONFIGURATIONTableAdapter.Update(updatedRows))
allChangedRows.AddRange(updatedRows)
End If
End If
If (Not (Me._tBPM_PROFILE_FILESTableAdapter) Is Nothing) Then
Dim updatedRows() As Global.System.Data.DataRow = dataSet.TBPM_PROFILE_FILES.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.ModifiedCurrent)
updatedRows = Me.GetRealUpdatedRows(updatedRows, allAddedRows)
@@ -25461,12 +24831,12 @@ Namespace DD_DMSLiteDataSetTableAdapters
allChangedRows.AddRange(updatedRows)
End If
End If
If (Not (Me._tBDD_USERTableAdapter) Is Nothing) Then
Dim updatedRows() As Global.System.Data.DataRow = dataSet.TBDD_USER.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.ModifiedCurrent)
If (Not (Me._tBPM_KONFIGURATIONTableAdapter) Is Nothing) Then
Dim updatedRows() As Global.System.Data.DataRow = dataSet.TBPM_KONFIGURATION.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.ModifiedCurrent)
updatedRows = Me.GetRealUpdatedRows(updatedRows, allAddedRows)
If ((Not (updatedRows) Is Nothing) _
AndAlso (0 < updatedRows.Length)) Then
result = (result + Me._tBDD_USERTableAdapter.Update(updatedRows))
result = (result + Me._tBPM_KONFIGURATIONTableAdapter.Update(updatedRows))
allChangedRows.AddRange(updatedRows)
End If
End If
@@ -25529,6 +24899,14 @@ Namespace DD_DMSLiteDataSetTableAdapters
allAddedRows.AddRange(addedRows)
End If
End If
If (Not (Me._tBDD_USERTableAdapter) Is Nothing) Then
Dim addedRows() As Global.System.Data.DataRow = dataSet.TBDD_USER.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Added)
If ((Not (addedRows) Is Nothing) _
AndAlso (0 < addedRows.Length)) Then
result = (result + Me._tBDD_USERTableAdapter.Update(addedRows))
allAddedRows.AddRange(addedRows)
End If
End If
If (Not (Me._tBPM_CONTROL_TABLETableAdapter) Is Nothing) Then
Dim addedRows() As Global.System.Data.DataRow = dataSet.TBPM_CONTROL_TABLE.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Added)
If ((Not (addedRows) Is Nothing) _
@@ -25537,14 +24915,6 @@ Namespace DD_DMSLiteDataSetTableAdapters
allAddedRows.AddRange(addedRows)
End If
End If
If (Not (Me._tBPM_KONFIGURATIONTableAdapter) Is Nothing) Then
Dim addedRows() As Global.System.Data.DataRow = dataSet.TBPM_KONFIGURATION.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Added)
If ((Not (addedRows) Is Nothing) _
AndAlso (0 < addedRows.Length)) Then
result = (result + Me._tBPM_KONFIGURATIONTableAdapter.Update(addedRows))
allAddedRows.AddRange(addedRows)
End If
End If
If (Not (Me._tBPM_PROFILE_FILESTableAdapter) Is Nothing) Then
Dim addedRows() As Global.System.Data.DataRow = dataSet.TBPM_PROFILE_FILES.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Added)
If ((Not (addedRows) Is Nothing) _
@@ -25569,11 +24939,11 @@ Namespace DD_DMSLiteDataSetTableAdapters
allAddedRows.AddRange(addedRows)
End If
End If
If (Not (Me._tBDD_USERTableAdapter) Is Nothing) Then
Dim addedRows() As Global.System.Data.DataRow = dataSet.TBDD_USER.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Added)
If (Not (Me._tBPM_KONFIGURATIONTableAdapter) Is Nothing) Then
Dim addedRows() As Global.System.Data.DataRow = dataSet.TBPM_KONFIGURATION.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Added)
If ((Not (addedRows) Is Nothing) _
AndAlso (0 < addedRows.Length)) Then
result = (result + Me._tBDD_USERTableAdapter.Update(addedRows))
result = (result + Me._tBPM_KONFIGURATIONTableAdapter.Update(addedRows))
allAddedRows.AddRange(addedRows)
End If
End If
@@ -25603,11 +24973,11 @@ Namespace DD_DMSLiteDataSetTableAdapters
allChangedRows.AddRange(deletedRows)
End If
End If
If (Not (Me._tBDD_USERTableAdapter) Is Nothing) Then
Dim deletedRows() As Global.System.Data.DataRow = dataSet.TBDD_USER.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Deleted)
If (Not (Me._tBPM_KONFIGURATIONTableAdapter) Is Nothing) Then
Dim deletedRows() As Global.System.Data.DataRow = dataSet.TBPM_KONFIGURATION.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Deleted)
If ((Not (deletedRows) Is Nothing) _
AndAlso (0 < deletedRows.Length)) Then
result = (result + Me._tBDD_USERTableAdapter.Update(deletedRows))
result = (result + Me._tBPM_KONFIGURATIONTableAdapter.Update(deletedRows))
allChangedRows.AddRange(deletedRows)
End If
End If
@@ -25635,14 +25005,6 @@ Namespace DD_DMSLiteDataSetTableAdapters
allChangedRows.AddRange(deletedRows)
End If
End If
If (Not (Me._tBPM_KONFIGURATIONTableAdapter) Is Nothing) Then
Dim deletedRows() As Global.System.Data.DataRow = dataSet.TBPM_KONFIGURATION.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Deleted)
If ((Not (deletedRows) Is Nothing) _
AndAlso (0 < deletedRows.Length)) Then
result = (result + Me._tBPM_KONFIGURATIONTableAdapter.Update(deletedRows))
allChangedRows.AddRange(deletedRows)
End If
End If
If (Not (Me._tBPM_CONTROL_TABLETableAdapter) Is Nothing) Then
Dim deletedRows() As Global.System.Data.DataRow = dataSet.TBPM_CONTROL_TABLE.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Deleted)
If ((Not (deletedRows) Is Nothing) _
@@ -25651,6 +25013,14 @@ Namespace DD_DMSLiteDataSetTableAdapters
allChangedRows.AddRange(deletedRows)
End If
End If
If (Not (Me._tBDD_USERTableAdapter) Is Nothing) Then
Dim deletedRows() As Global.System.Data.DataRow = dataSet.TBDD_USER.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Deleted)
If ((Not (deletedRows) Is Nothing) _
AndAlso (0 < deletedRows.Length)) Then
result = (result + Me._tBDD_USERTableAdapter.Update(deletedRows))
allChangedRows.AddRange(deletedRows)
End If
End If
If (Not (Me._tBDD_EMAIL_TEMPLATETableAdapter) Is Nothing) Then
Dim deletedRows() As Global.System.Data.DataRow = dataSet.TBDD_EMAIL_TEMPLATE.Select(Nothing, Nothing, Global.System.Data.DataViewRowState.Deleted)
If ((Not (deletedRows) Is Nothing) _

View File

@@ -29,6 +29,9 @@ Partial Public Class DD_DMSLiteDataSet
End Class
Namespace DD_DMSLiteDataSetTableAdapters
Partial Public Class VWPM_CHART_INVOICE_MONITORTableAdapter
End Class
Partial Public Class TBPM_PROFILETableAdapter
Private Sub TBPM_PROFILETableAdapter_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed
@@ -41,3 +44,13 @@ Namespace DD_DMSLiteDataSetTableAdapters
Partial Public Class TBPM_PROFILE_INDEXETableAdapter
End Class
End Namespace
Namespace DD_DMSLiteDataSetTableAdapters
Partial Public Class VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter
End Class
End Namespace
Namespace DD_DMSLiteDataSetTableAdapters
Partial Public Class VWPM_CHART_TOP5TableAdapter
End Class
End Namespace

View File

@@ -1801,13 +1801,16 @@ FROM VWPM_CHART_INVOICE_MONITOR</CommandText>
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter" GeneratorDataComponentClassName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter" Name="VWPM_CHART_INVOICE_MONITOR_SERIES" UserDataComponentName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter">
<MainSource>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM_TEST.dbo.VWPM_CHART_INVOICE_MONITOR_SERIES" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM.dbo.VWPM_CHART_INVOICE_MONITOR_SERIES" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT Title, Anzahl, NettoSumme, SEQ
FROM VWPM_CHART_INVOICE_MONITOR_SERIES
WHERE (COCKPIT_CHART_ID = @COCKPIT_CHART_ID)
ORDER BY SEQ</CommandText>
<Parameters />
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="COCKPIT_CHART_ID" ColumnName="COCKPIT_CHART_ID" DataSourceName="DD_ECM.dbo.VWPM_CHART_INVOICE_MONITOR_SERIES" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@COCKPIT_CHART_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="COCKPIT_CHART_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
@@ -1820,27 +1823,6 @@ ORDER BY SEQ</CommandText>
</Mappings>
<Sources />
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="VWPM_CHART_TOP5TableAdapter" GeneratorDataComponentClassName="VWPM_CHART_TOP5TableAdapter" Name="VWPM_CHART_TOP5" UserDataComponentName="VWPM_CHART_TOP5TableAdapter">
<MainSource>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM_TEST.dbo.VWPM_CHART_TOP5" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT KRED_NAME, ANZ_BELEG, Netto, Skonto
FROM VWPM_CHART_TOP5
ORDER BY Netto DESC</CommandText>
<Parameters />
</DbCommand>
</SelectCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="KRED_NAME" DataSetColumn="KRED_NAME" />
<Mapping SourceColumn="ANZ_BELEG" DataSetColumn="ANZ_BELEG" />
<Mapping SourceColumn="Netto" DataSetColumn="Netto" />
<Mapping SourceColumn="Skonto" DataSetColumn="Skonto" />
</Mappings>
<Sources />
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBPM_PROFILETableAdapter" GeneratorDataComponentClassName="TBPM_PROFILETableAdapter" Name="TBPM_PROFILE" UserDataComponentName="TBPM_PROFILETableAdapter">
<MainSource>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM.dbo.TBPM_PROFILE" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
@@ -2822,7 +2804,7 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FORMULA_SQL" msprop:Generator_ColumnPropNameInRow="FORMULA_SQL" msprop:Generator_ColumnPropNameInTable="FORMULA_SQLColumn" msprop:Generator_ColumnVarNameInTable="columnFORMULA_SQL" msprop:Generator_UserColumnName="FORMULA_SQL" default="">
<xs:element name="FORMULA_SQL" msprop:Generator_ColumnPropNameInTable="FORMULA_SQLColumn" msprop:Generator_ColumnPropNameInRow="FORMULA_SQL" msprop:Generator_UserColumnName="FORMULA_SQL" msprop:Generator_ColumnVarNameInTable="columnFORMULA_SQL" default="">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3000" />
@@ -3196,22 +3178,6 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="VWPM_CHART_TOP5" msprop:Generator_RowEvHandlerName="VWPM_CHART_TOP5RowChangeEventHandler" msprop:Generator_RowDeletedName="VWPM_CHART_TOP5RowDeleted" msprop:Generator_RowDeletingName="VWPM_CHART_TOP5RowDeleting" msprop:Generator_RowEvArgName="VWPM_CHART_TOP5RowChangeEvent" msprop:Generator_TablePropName="VWPM_CHART_TOP5" msprop:Generator_RowChangedName="VWPM_CHART_TOP5RowChanged" msprop:Generator_UserTableName="VWPM_CHART_TOP5" msprop:Generator_RowChangingName="VWPM_CHART_TOP5RowChanging" msprop:Generator_RowClassName="VWPM_CHART_TOP5Row" msprop:Generator_TableClassName="VWPM_CHART_TOP5DataTable" msprop:Generator_TableVarName="tableVWPM_CHART_TOP5">
<xs:complexType>
<xs:sequence>
<xs:element name="KRED_NAME" msprop:Generator_ColumnPropNameInTable="KRED_NAMEColumn" msprop:Generator_ColumnPropNameInRow="KRED_NAME" msprop:Generator_UserColumnName="KRED_NAME" msprop:Generator_ColumnVarNameInTable="columnKRED_NAME">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="250" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ANZ_BELEG" msprop:Generator_ColumnPropNameInTable="ANZ_BELEGColumn" msprop:Generator_ColumnPropNameInRow="ANZ_BELEG" msprop:Generator_UserColumnName="ANZ_BELEG" msprop:Generator_ColumnVarNameInTable="columnANZ_BELEG" type="xs:short" />
<xs:element name="Netto" msprop:Generator_ColumnPropNameInTable="NettoColumn" msprop:Generator_ColumnPropNameInRow="Netto" msprop:Generator_UserColumnName="Netto" msprop:Generator_ColumnVarNameInTable="columnNetto" type="xs:decimal" minOccurs="0" />
<xs:element name="Skonto" msprop:Generator_ColumnPropNameInTable="SkontoColumn" msprop:Generator_ColumnPropNameInRow="Skonto" msprop:Generator_UserColumnName="Skonto" msprop:Generator_ColumnVarNameInTable="columnSkonto" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TBPM_PROFILE" msprop:Generator_RowEvHandlerName="TBPM_PROFILERowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILERowDeleted" msprop:Generator_RowDeletingName="TBPM_PROFILERowDeleting" msprop:Generator_RowEvArgName="TBPM_PROFILERowChangeEvent" msprop:Generator_TablePropName="TBPM_PROFILE" msprop:Generator_RowChangedName="TBPM_PROFILERowChanged" msprop:Generator_UserTableName="TBPM_PROFILE" msprop:Generator_RowChangingName="TBPM_PROFILERowChanging" msprop:Generator_RowClassName="TBPM_PROFILERow" msprop:Generator_TableClassName="TBPM_PROFILEDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE">
<xs:complexType>
<xs:sequence>

View File

@@ -4,32 +4,31 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="472" ViewPortY="90" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="472" ViewPortY="-96" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:TBPM_PROFILE_FINAL_INDEXING" ZOrder="14" X="1688" Y="-74" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:TBPM_KONFIGURATION" ZOrder="2" X="-17" Y="232" Height="262" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="97" />
<Shape ID="DesignTable:TBDD_USER" ZOrder="18" X="608" Y="444" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:TBPM_TYPE" ZOrder="19" X="17" Y="113" Height="203" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="0" />
<Shape ID="DesignTable:TBPM_ERROR_LOG" ZOrder="21" X="443" Y="-87" Height="111" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="21" />
<Shape ID="DesignTable:TBDD_CONNECTION" ZOrder="4" X="408" Y="-78" Height="379" Width="178" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
<Shape ID="DesignTable:TBPROFILE_USER" ZOrder="15" X="509" Y="-80" Height="267" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:TBPM_PROFILE_FILES" ZOrder="3" X="1391" Y="-70" Height="229" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:TBWH_CHECK_PROFILE_CONTROLS" ZOrder="23" X="0" Y="-72" Height="168" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="78" />
<Shape ID="DesignTable:TBPM_KONFIGURATION" ZOrder="4" X="-17" Y="232" Height="262" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="97" />
<Shape ID="DesignTable:TBDD_USER" ZOrder="17" X="608" Y="444" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:TBPM_TYPE" ZOrder="18" X="17" Y="113" Height="203" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="0" />
<Shape ID="DesignTable:TBPM_ERROR_LOG" ZOrder="20" X="443" Y="-87" Height="111" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="21" />
<Shape ID="DesignTable:TBDD_CONNECTION" ZOrder="6" X="408" Y="-78" Height="379" Width="178" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
<Shape ID="DesignTable:TBPROFILE_USER" ZOrder="2" X="1041" Y="-53" Height="267" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:TBPM_PROFILE_FILES" ZOrder="5" X="1391" Y="-70" Height="229" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:TBWH_CHECK_PROFILE_CONTROLS" ZOrder="22" X="0" Y="-72" Height="168" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="78" />
<Shape ID="DesignTable:TBPM_PROFILE_CONTROLS" ZOrder="12" X="947" Y="404" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBPM_CONTROL_TABLE" ZOrder="1" X="1297" Y="391" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBDD_GROUPS" ZOrder="17" X="19" Y="320" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:TBPM_CONTROL_TABLE" ZOrder="3" X="1297" Y="391" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBDD_GROUPS" ZOrder="16" X="19" Y="320" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:TBPROFILE_GROUP" ZOrder="13" X="1054" Y="47" Height="286" Width="277" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:FNPM_GET_FREE_USER_FOR_PROFILE" ZOrder="16" X="807" Y="155" Height="229" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:TBDD_EMAIL_TEMPLATE" ZOrder="7" X="1645" Y="598" Height="267" Width="287" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:FNPM_GET_FREE_USER_FOR_PROFILE" ZOrder="15" X="807" Y="155" Height="229" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:TBDD_EMAIL_TEMPLATE" ZOrder="9" X="1645" Y="598" Height="267" Width="287" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:TBDD_GUI_LANGUAGE_PHRASE" ZOrder="11" X="1427" Y="251" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:VWPM_CHART_INVOICE_MONITOR" ZOrder="10" X="1828" Y="457" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:VWPM_CHART_INVOICE_MONITOR_SERIES" ZOrder="9" X="1903" Y="311" Height="153" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:VWPM_CHART_TOP5" ZOrder="8" X="1302" Y="15" Height="153" Width="267" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:TBPM_PROFILE" ZOrder="6" X="862" Y="-66" Height="305" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBWH_CONNECTION" ZOrder="24" X="625" Y="114" Height="276" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="272" />
<Shape ID="DesignTable:VWPM_CHART_INVOICE_MONITOR" ZOrder="1" X="1828" Y="457" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:VWPM_CHART_INVOICE_MONITOR_SERIES" ZOrder="10" X="1908" Y="274" Height="153" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:TBPM_PROFILE" ZOrder="8" X="862" Y="-66" Height="305" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBWH_CONNECTION" ZOrder="23" X="625" Y="114" Height="276" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="272" />
</Shapes>
<Connectors>
<Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL1" ZOrder="22" LineWidth="11">
<Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL1" ZOrder="21" LineWidth="11">
<RoutePoints>
<Point>
<X>1247</X>
@@ -41,7 +40,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL" ZOrder="20" LineWidth="11">
<Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL" ZOrder="19" LineWidth="11">
<RoutePoints>
<Point>
<X>141</X>
@@ -57,7 +56,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_TBPM_PROFILE_CONTROLS_PROFILE" ZOrder="5" LineWidth="11">
<Connector ID="DesignRelation:FK_TBPM_PROFILE_CONTROLS_PROFILE" ZOrder="7" LineWidth="11">
<RoutePoints>
<Point>
<X>965</X>

View File

@@ -150,14 +150,13 @@ Module ModuleRuntimeVariables
Public Property CURRENT_DT_MASS_CHANGE_DOCS As DataTable
Public Property CURRENT_DT_FINAL_INDEXING As DataTable
Public Property CURRENT_DT_PROFILES As DataTable
Public Property CURRENT_DT_PROFILE_LANGUAGE As DataTable
Public Property CURRENT_DT_PROFILE As DataTable
Public Property CURRENT_CONTROL_NAME_LIST As New List(Of String)
Public Property COCKPIT_MONITOR_ID As Integer = 0
Public Property COCKPIT_CHART_ID As Integer
Public Property DTVWCONTROLS_INDEX As DataTable
Public Property DTVWCONTROL_INDEX As DataTable

View File

@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.9.1.0")>
<Assembly: AssemblyVersion("3.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: NeutralResourcesLanguage("")>

File diff suppressed because it is too large Load Diff

View File

@@ -195,60 +195,60 @@
<data name="BarButtonItem4.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAB10RVh0VGl0
bGUARXhwb3J0O1hscztFeHBvcnRUb1hscztMoJn+AAACZklEQVQ4T2WTWWsTYRSGszdtg1r/Rk3Tmv4S
RWhUEAQFJVqLF7FNmqSpXdKqRazQDW/0pimBghKsuMRWaNJ7b70UsWaZJTOTmSSv5/tmGqY68CQzgfc5
3zln4qDLSbgIN+Gx8Nrw/QP7zQnAwWCXK7tZKi5vHYGxtFVGdrOMJWJx44goYWG9jIW1Q8yvlZBZLe4z
iV3gyW6U0aEnDn2YdDjtE9ommRffWMpvF3jn1g95SNVaUIiGaiIrBkdSWhAJvdVGamWfpfrsAh+zMoGs
moGTEA/KLQgNA3WiabQRf/KFpfpPCVIrX/lxJUWH1NCpmtENMWqyjiqhNdv4cPDjP0HPFFlZnwIFJ3JX
MDrfg9E5hg/hxz5cnGV4MTLjxXCaSHkQSroRSrjzTOCPLX7kgpps8HBTNxAmgarpCFO4oerd8PO9JOqi
hpqoIphw8SP0TszuoUUTrko6CXzQaJCsskIzGcn4eFvDaQ+vXJc0DE27MUTh4JQliKYKXHBcb/LKLz/P
8PDqpzRV9kBsNLvHXnmfRFVQEIy7SeDkgr47ibcwWh38rmu2yl7ILEiVRVkze7YqPy1M47iq4MKkKei/
PbkLg1b0q6rxgSm0DdazRIIQVRasnp9RsFJTeXj5XRyDj0xB4GZsFzoJflZURN9ctgZm9swqd3uOu6gq
w0lhBwZjDr6FwI2Hef6SiLRzgQZWp53z3Ys6KoKOP4JG89F4i/nCd1Z1wP4e+CN3XxevP9jB1fEdsO9r
4zlE7ufoeRuRe3QfNRmLbuPSrVcHlDn1IrG/ci9xhjhLnLMYsHHegt0HCLcpgOMvLlVmbi0MtN8AAAAA
SUVORK5CYII=
bGUARXhwb3J0O1hscztFeHBvcnRUb1hscztMoJn+AAACeElEQVQ4T2WTW2sTQRiGJ8lme0Stf6NNDza/
RBFMFQRBQYnW4kUPSZu0NT1rECv0hDd605RCQQlW1NZWaNN7b70UsTbZbPaUmd28MrObsNaFh10W3ueb
d2eWEEIChJAgISRECJE8wj7kc/B3AQCEw6/g/Prx/uLGCTgLGwXMrxewsF7A3NoJ5taOMbtawOzKEWZW
jjG1vH/AJX6BNL9WQA1wqdWpCZw6jsvUy2881ewXhDOrRyJkWjYMy4ZuumgGE1QMG6phg9oOUtkDnmr1
C2Ru5QLNdAP1kAhqNso6g6IzVJmDxNIeT7X9I0hlv4rlVgyKik6hGqwR4pQ0iqJGYVUdfDz88Z+gaWxp
T/QsGwxDueuIzjQhmuHI6H8q48o0J4y+yTB602H0piT0TITQkwxtc0Hz8NwnIShpTISrlKE/0wTTouif
lqGbtBF+sTsBRbVQUk1EkkGxhJah6V3YTg3FCkV0RoZl2WKyYTL0TcmiVm9aEpOVioXu8RC6k0FExjxB
PJUXglOlKia/+jIpwsuf0+iblKDq1caysx8mUCwbiCRCiIwFhKD1fvIdmF3Db8XyTQ5D48G0BFWz3M7e
5Gf5cZwWDXSNuoK2e6M7YMzBr6IlPphhuJ0rehU9KQllr/Pz/DjOSqYIL75PoHPEFbTfGd4BZQ5+npmI
v73mfTC3M5/c6JwIomuUE0DnCEHnMBG70H77ybY4JKrO959C0ai79yrFWZniT9nCqWKJitv573xqh/8c
NMcevNm/9XgLA4Nb4PebgznEHuUwMLiJ2MMcYnGXG/FNXL37+vD8QeK/cgsh5AIh5CIh5JJHh4/LHvy5
nf/6dcFfLlVmbk9WkuUAAAAASUVORK5CYII=
</value>
</data>
<data name="BarButtonItem4.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="BarButtonItem5.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -290,156 +290,153 @@
<metadata name="TableAdapterManager.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>905, 17</value>
</metadata>
<metadata name="VWPM_CHART_TOP5BindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1078, 17</value>
</metadata>
<data name="colKRED_NAME.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
kmkAAAAASUVORK5CYII=
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAARdEVYdFRpdGxlAE1hbjtQZXJzb2478+0UpAAABe5J
REFUWEe9lmtMU2cYx99xp5ReaLmUSy+U3k5beuEiiuIcQq2gCAWBXkDuMJyKd125KCyyoMilBWEgMDfD
Pi3ZssQsWfZhyVz2YfHDhku2r0sWk30xM4tI8izP4RzSVdykOE/ypM3pefv8nv/7f5/nEAAggcFeAn3D
pkEIeUNS2JWR3TQ5aO2cWzE2TqwojwwOJuUek+Jvwc8za+grOBed77kb/wKACQghYZRzdDD3+BIUnF6G
gjPLYDzmB1np5UFCSPhmEK8aIELvurmSf+ou5J9ehvyeZcjtXgK5zbuCv70WAPkB70reyY8hv+cuHTnd
S5C6++TD1wUQnmBqGlKU9YO5bRZMrbMgLbkEQmPj0GsDiM+qkPF1zvcEes9DDPyO99Af/xsAa0BCSCQh
JIYQEscEhxAS/SIDvhIAtnKxwS4wNk59ae1ahNzjH0F28wwoD135IinHpXyR/NsGYJOLqFKhsdH/7Xry
O3TkdN8BU/MMKMqvfMNVHEhlIJ7bhpABWNeLdKVCQ4PvPibPYRLnvP0hWOlYBEXZwFp4rIifvu/sWUJI
VPB2hASwIbvxkBiTWzoX6KQymxesXZh4CSxd6yG39+NCgfLwEEhLLp5nPLIBsR2AKMo9fs/ScZuuNm3v
GeBpqvuzm2fB0rm4Hh2LLICIck+CpuY6ZBSfu0gIiWV9ESoA7mWMwTP51Nq1BNqjN4CvOdpLCEnQu31g
6VgAc8cimDsWQH6gDxeKsyqugbntNqhrRiB935lLDAStRKgAHL3H9wzll9v7nqHMhBA+VmpuWwBz+wKd
ULYOIBIaGr7TVF+H7JZ5UDtGIP3Nf0IE5/ovAFwUh9Wa2xfZKnkYlHMCTG23wdQ6D6aWeZDZemkPRIv1
qQihqh4BY9McZB0ZhpSCzi7GmKEBUK4JMLdvVMnH0NaPg6llDrJb5yG7ZQ5kpTQAwsXGJBolCJFZfhWU
h6+ByNLyOdOowoJzvRSAtm6MrlRW6qUBIrlpieoalHkOspvn6EqlJe+uMQBYaXRMkimFr3N+IqDcD3hq
x2Gme25ZAdoDGcWXVjFRyq4Tq+wWiK1tjwyeaTA2fQCGxlmQ2fr+4qbnKQKOH9uucf8RCv/ruVwvAxDN
19XfFOgbAD8JIVxuxg6JQFNWKLK0/kl5psBwbBY0dROQ8daFryM4IiGTHNcGRkingG5EzP7hwMHBw5OW
XL4n2dnu4sqKCpN2dD82uKdB3zADWVUjkFbUM4aQrOTb6oQBrZidgHGZdu8pTe04yG39j0XGiqJ4ZZk7
be+5Nb3nFlCeW6AoGwJJQXsLA7sxnEIGYBbTDSnRUmPV1Iw+0XtmQOuchJRdJ38NjxGm8dSOIZltACjX
NOicfpDZ+58m5jaWMx4I2xYAo0BkBEeUoKocvq9z+YHyTIOy4hoIKNcycyyFAsr1mcpxHXSuKdDW+SB9
38UnjGEjQgZgJyHKqbD3DqD0lHsatLWTIDK3/hYjNshZp0fypOkpO0/8rq33ga7eDxnFXuCk5mvYBhQq
AEofm5zn3q1y3FilJXZNgaSwZy0+82A1Y0w0KUJy+bqaCyrHKGjqfIBbItBWVTKAIQHQkzBaIE1WHhn+
CWXVOadAbr8KfG3tLCMv7XTWI5zUXfmZFe+DptYH8oNDIDI34OBCM9I9YCsArPTxcnuvX3N0DLT1flBV
34QEU9MvEZwkCdtaA3wSFRbFTZbaBp6oa32gODQMSfmdSwzolqchLX1KQWuZqmp0TVvnp42VXHBiNU5W
bGOlZ08JA4HAwtSisz+qHOOgrBwBSeGp7/Fe4DtBcK4XASBxvKJ86GdN7SQtacb+XuCpHcOss4OaDKsY
LzGv89OsqlFQOcYgdc/5P3BEhwrASy545zGaCvdTYPD8EBYVn8RKvwkAPbh4aodXur8PVJVjIM7pxKMY
sgIcnqryuIDyPOLrXA846XtyAl8sAuUP9EFEXApOwa8E+oZVnqrKy5hwyx5gJcW9xkaDsm+8ZOIDm1zs
aUCF8Hl8c9qYCexDwbkw/gYri5O+a2rlUwAAAABJRU5ErkJggg==
</value>
</data>
<data name="colANZ_BELEG.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="colNetto.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="colSkonto.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAhdEVYdFRpdGxlAEV1cm87RG9sbGFyO01vbmV5O0N1
cnJlbmN5OwBqwi4AAAJUSURBVFhHrZY9bttAEIVVGul8g8BNCpdqXAaBL5AiV7A7ncGdfYEUPoEAt7lB
ECCNW1WBr5BKvfw+epcYrt8OGUUCPpLanT/t7jxqtV6ve1yKjdiKndgXeGaMOWyc7+pwOCzCOX8Ud+KP
OMyADbb4TOK4ZI6Jk/gsfgiXLAMffMdYLpmjTf5LuARLwHcswiVz1OQs4TG/vIUYw3a4ZI5aAPvoAh4D
sWwyB8k5ydmBexbfohPfw3wLsS6jfQbBaCcXCB6ck8bPG7uWjfNzEIyedkGeq5Ger8VLGf8rshWAbUyS
QXCExQW5wUD3i2a85be4F1/FJ/FBnLWJepAAdZsEbY0csvspbsWVOFoxubwroEAlzN+Escp38UX8t2Jy
ebcF8Zc6ZHMyxeTSO4RPISGHkMPHL+f5ZIrJJWvDtv8XKWaxtXOFUTExnBOiB3FRgi5SzAUFwKCYGC4J
TKtx2rNC2aKhdSMa48Ncaz8oZi1gbmnp82yrYOgah6aQc+ezqQVA9jpGZHqHFaJqPpZ7naONewVsYwHQ
ay8UrqeY8BIKuC53t+wtu5i8wna0AoO89gSr4vafd0Z9hzj2bfJI/FN6JuYKADpmchb0lTdnr4j9pOIM
GWdbMKHYP4nz8uzkHHY2mUPG6SEU43IXe8arfvQK2NpkDhlnbTh2gUPzrIbz21gHh4wzxRz+pBgfPo/C
+bwJUevUQ8ZweimOSTIwFqd/GcUkGRgXMsVcwvR17JI5qkOhp5hz4DMmB5vMEZ0KTjF7YIPtsOwRm8zR
OgaiYv7jn9L16hWdfBk/Ic3q5wAAAABJRU5ErkJggg==
cnJlbmN5OwBqwi4AAAJHSURBVFhHrZc9TgMxEIUpIzpugGgoUr6GEqFcgIIrhG7PQEcuQJETrJSWGyAk
mrSpUK5AlX7Rc+zgPM+sl2Qjfcmynr+1Pc/LBYALhymABkALYANgF+E173GMNuoX6LpuEIUjgGsALwC+
AXQVaENb+oxSwD2AdyNRDfrQ96wCGODTCD4U+h6K0EQe+bSf8uQKY4Tl0EQeqQCuowY7FcYqEnkwOXdy
34ZbA3jKnfi3YZdgrKkm8mAwtpMGSSzUIRZwZdjmNOrjwWDsaQ1A1lnCGYBtvP9TmQHSaiIPBqewaAAy
j8lvjLGcLwCvAB4B3AK4BDDRRB5MQHU7CqpGFgA+ADwDuDtHMc0CIqyE43Nj7A3AwxiKaS6BPq0ypmLy
y9uEqywhNyE3H5+c16MpJr/62lD7f5BiRtvifsZBMWlYE6IFOyEGHaSYAwogQTHTWtQCs9W42/sK5RKF
1pVZ44djah8UMxVQm1r2ed9SkdA1FlHO1Z40qQDSdxxTZLzNSnLVXMoSsI29Atq8gFSENRNUuKJdM7ZZ
AbP4a027stECiPVKRnn1BCthrT/PjHSGWOw0eU7+UjoZUABhxxzthXhyekXsig3jUVmCI6L9isnjtSXn
ZFMk8qhtwny6oz3vJ/3wCmiLRB6VNjx0gUWcDfUhTWHsUVHM8JJi+PCzNOzJXojUySNuzJpiBqJ9cV/Y
S7Em8sha1NKJ/xbwdxhpIg8RK08xh3B8HGsiD9EITzFrlC8kmshDCkjLoYrp4b+SaSIPdcw469/4X518
GT/5HgfSAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="VWPM_CHART_TOP5BindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>1078, 17</value>
</metadata>
<metadata name="VWPM_CHART_TOP5TableAdapter.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 56</value>
</metadata>

View File

@@ -4,7 +4,7 @@ Imports DevExpress.XtraCharts
Imports DevExpress.XtraGrid.Views.Tile
Imports DigitalData.GUIs.Common
Public Class frmInvDashboard
Partial Public Class frmInvDashboard
Private _selectedChart As ChartControl
Private Sub frmInvDashboard_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
@@ -15,26 +15,104 @@ Public Class frmInvDashboard
WithClipboardHandler()
Try
VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
Me.VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Fill(Me.DD_DMSLiteDataSet.VWPM_CHART_INVOICE_MONITOR_SERIES)
Catch ex As Exception
MsgBox("Error loading form1 - " & ex.Message, MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
End Try
VWPM_CHART_TOP5TableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
Me.VWPM_CHART_TOP5TableAdapter.Fill(Me.DD_DMSLiteDataSet.VWPM_CHART_TOP5)
VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
Me.VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter.Fill(Me.DD_DMSLiteDataSet.VWPM_CHART_INVOICE_MONITOR_SERIES, COCKPIT_CHART_ID)
Catch ex As Exception
MsgBox("Error loading VWPM_CHART_INVOICE_MONITOR_SERIES - " & ex.Message, MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
LOGGER.Error(ex)
End Try
Try
Dim osql = $"SELECT KRED_NAME, ANZ_BELEG, Netto, Skonto FROM VWPM_CHART_TOP5 WHERE COCKPIT_CHART_ID = {COCKPIT_CHART_ID}"
Dim dtTOP5 As DataTable = DatabaseFallback.GetDatatableECM(osql)
If IsNothing(dtTOP5) OrElse dtTOP5.Rows.Count = 0 Then
LOGGER.Warn("No data for VWPM_CHART_TOP5 - check SQL query or connection!")
GridControlTopKreditoren.DataSource = Nothing
GridControlTopKreditoren.Visible = False
BarButtonItemTKredPdf.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
BarButtonItemTKredExcel.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Else
GridControlTopKreditoren.DataSource = dtTOP5
GridControlTopKreditoren.Visible = True
BarButtonItemTKredPdf.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
BarButtonItemTKredExcel.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
End If
'VWPM_CHART_TOP5TableAdapter.Connection.ConnectionString = CONNECTION_STRING_ECM
'Me.VWPM_CHART_TOP5TableAdapter.Fill(Me.DD_DMSLiteDataSet.VWPM_CHART_TOP5, COCKPIT_CHART_ID)
Catch ex As Exception
MsgBox("Error loading VWPM_CHART_TOP5 - " & ex.Message, MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
LOGGER.Error(ex)
End Try
ApplySplitterPosition()
Layout_Dashboard()
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Error loading form2 - " & ex.Message, MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
End Try
End Sub
Private Sub frmInvDashboard_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
SaveSplitterPosition()
End Sub
Private Sub ApplySplitterPosition()
Try
If IsNothing(CONFIG) OrElse IsNothing(CONFIG.Config) Then
Return
End If
If IsNothing(CONFIG.Config.InvDashboardSplitterPositions) Then
CONFIG.Config.InvDashboardSplitterPositions = New List(Of ClassConfig.InvDashboardSplitterPosition)
Return
End If
Dim entry = CONFIG.Config.InvDashboardSplitterPositions.
FirstOrDefault(Function(x) x.CockpitChartId = COCKPIT_CHART_ID)
If entry IsNot Nothing Then
SplitContainerControl1.SplitterPosition = entry.SplitterPosition
End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
Private Sub SaveSplitterPosition()
Try
If IsNothing(CONFIG) OrElse IsNothing(CONFIG.Config) Then
Return
End If
If IsNothing(CONFIG.Config.InvDashboardSplitterPositions) Then
CONFIG.Config.InvDashboardSplitterPositions = New List(Of ClassConfig.InvDashboardSplitterPosition)
End If
Dim entry = CONFIG.Config.InvDashboardSplitterPositions.
FirstOrDefault(Function(x) x.CockpitChartId = COCKPIT_CHART_ID)
If entry Is Nothing Then
CONFIG.Config.InvDashboardSplitterPositions.Add(New ClassConfig.InvDashboardSplitterPosition With {
.CockpitChartId = COCKPIT_CHART_ID,
.SplitterPosition = SplitContainerControl1.SplitterPosition
})
Else
entry.SplitterPosition = SplitContainerControl1.SplitterPosition
End If
CONFIG.Save()
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
Sub Layout_Dashboard()
Try
Dim groupCount As Integer
Dim charts As List(Of ChartControl)
Dim oGroups As DataRowCollection = BASEDATA_DT_CHARTS.Rows
Dim oGroups As DataRow() = BASEDATA_DT_CHARTS.Select($"COCKPIT_CHART_ID = {COCKPIT_CHART_ID}")
groupCount = oGroups.Count
Configure_Split_Containers(groupCount)
charts = New List(Of ChartControl) From {ChartTopLeft, ChartTopRight, ChartBottomLeft, ChartBottomRight}
If groupCount >= 1 Then
@@ -53,7 +131,7 @@ Public Class frmInvDashboard
If groupCount >= 1 Then
LOGGER.Debug($"ChartCreating...Found more than one charts [{groupCount}]")
For Each gRow As DataRow In oGroups
Dim oGroupIndex As Integer = oGroups.IndexOf(gRow)
Dim oGroupIndex As Integer = Array.IndexOf(oGroups, gRow)
Dim oGroupID As String = gRow.Item("GROUP_ID")
Dim groupCharts = BASEDATA_DT_CHARTS.Select(String.Format("GROUP_ID = '{0}'", oGroupID))
@@ -314,8 +392,8 @@ Public Class frmInvDashboard
RibbonPageGroup1.Enabled = False
RibbonPageGroup2.Enabled = True
BarButtonItem3.Enabled = True
BarButtonItem4.Enabled = False
BarButtonItem5.Enabled = False
BarButtonItemTKredExcel.Enabled = False
BarButtonItemTKredPdf.Enabled = False
End Sub
Private Sub BarButtonItem3_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem3.ItemClick
@@ -325,25 +403,25 @@ Public Class frmInvDashboard
End If
End Sub
Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
Private Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemTKredExcel.ItemClick
SaveFileDialog1.Filter = "Excel Files (*.xlsx*)|*.xlsx"
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
GridView1.ExportToXlsx(SaveFileDialog1.FileName)
End If
End Sub
Private Sub BarButtonItem5_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem5.ItemClick
Private Sub BarButtonItem5_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemTKredPdf.ItemClick
SaveFileDialog1.Filter = "PDF Files (*.pdf*)|*.pdf"
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
GridView1.ExportToPdf(SaveFileDialog1.FileName)
End If
End Sub
Private Sub GridControl2_Click(sender As Object, e As EventArgs) Handles GridControl2.Click
Private Sub GridControl2_Click(sender As Object, e As EventArgs) Handles GridControlTopKreditoren.Click
RibbonPageGroup1.Enabled = False
RibbonPageGroup2.Enabled = True
BarButtonItem3.Enabled = False
BarButtonItem4.Enabled = True
BarButtonItem5.Enabled = True
BarButtonItemTKredExcel.Enabled = True
BarButtonItemTKredPdf.Enabled = True
End Sub
End Class

View File

@@ -24,14 +24,9 @@ Partial Class frmMain
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMain))
Me.ImageListProfile = New System.Windows.Forms.ImageList(Me.components)
Me.DD_DMSLiteDataSet = New taskFLOW.DD_DMSLiteDataSet()
Me.TableAdapterManager = New taskFLOW.DD_DMSLiteDataSetTableAdapters.TableAdapterManager()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.TreeList_Cockpit = New DevExpress.XtraTreeList.TreeList()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.bbtniRefresh = New DevExpress.XtraBars.BarButtonItem()
Me.bbtniMonitor = New DevExpress.XtraBars.BarButtonItem()
Me.bbiProfilverwaltung = New DevExpress.XtraBars.BarButtonItem()
Me.bbiKonfiguration = New DevExpress.XtraBars.BarButtonItem()
Me.bbtniGrundeinstellung = New DevExpress.XtraBars.BarButtonItem()
@@ -47,7 +42,6 @@ Partial Class frmMain
Me.bbtniMetadataFile = New DevExpress.XtraBars.BarButtonItem()
Me.BarEditItem1 = New DevExpress.XtraBars.BarEditItem()
Me.RepositoryItemProgressBar1 = New DevExpress.XtraEditors.Repository.RepositoryItemProgressBar()
Me.bbtnitDashboardInv = New DevExpress.XtraBars.BarButtonItem()
Me.bsiGeneralInfo = New DevExpress.XtraBars.BarStaticItem()
Me.bbtnitmGhostMode = New DevExpress.XtraBars.BarButtonItem()
Me.bsi_GhostMode = New DevExpress.XtraBars.BarStaticItem()
@@ -83,9 +77,9 @@ Partial Class frmMain
Me.BSIVERSION1 = New DevExpress.XtraBars.BarStaticItem()
Me.barbtnitmsaveLogfiles = New DevExpress.XtraBars.BarButtonItem()
Me.bsitmCount = New DevExpress.XtraBars.BarStaticItem()
Me.BarButtonItemCock_refresh = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPageStart = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroupBasicConf = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup7 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
@@ -103,12 +97,13 @@ Partial Class frmMain
Me.GridViewWorkflows = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.lblCaptionMainGrid = New System.Windows.Forms.Label()
Me.NavBarControl1 = New DevExpress.XtraNavBar.NavBarControl()
Me.NavBarGroupProfiles = New DevExpress.XtraNavBar.NavBarGroup()
Me.ImageListProfile = New System.Windows.Forms.ImageList(Me.components)
Me.DD_DMSLiteDataSet = New taskFLOW.DD_DMSLiteDataSet()
Me.TableAdapterManager = New taskFLOW.DD_DMSLiteDataSetTableAdapters.TableAdapterManager()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.SplitterControl1 = New DevExpress.XtraEditors.SplitterControl()
Me.cmsNavPane = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.tsmiValidationProfil = New System.Windows.Forms.ToolStripMenuItem()
Me.NavBarGroupMore = New DevExpress.XtraNavBar.NavBarGroup()
Me.NavBarItemOverview = New DevExpress.XtraNavBar.NavBarItem()
Me.bindsourcegrid = New System.Windows.Forms.BindingSource(Me.components)
Me.NotifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.components)
Me.ContextMenuNotifyIcon = New System.Windows.Forms.ContextMenuStrip(Me.components)
@@ -196,8 +191,6 @@ Partial Class frmMain
Me.TimerInactivity = New System.Windows.Forms.Timer(Me.components)
Me.BarButtonItem5 = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonItem9 = New DevExpress.XtraBars.BarButtonItem()
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
CType(Me.TreeList_Cockpit, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.RepositoryItemProgressBar1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -207,7 +200,8 @@ Partial Class frmMain
CType(Me.GridControlWorkflows, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridViewWorkflows, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel2.SuspendLayout()
CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
Me.cmsNavPane.SuspendLayout()
CType(Me.bindsourcegrid, System.ComponentModel.ISupportInitialize).BeginInit()
Me.ContextMenuNotifyIcon.SuspendLayout()
@@ -218,46 +212,6 @@ Partial Class frmMain
CType(Me.ApplicationMenu1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'ImageListProfile
'
Me.ImageListProfile.ImageStream = CType(resources.GetObject("ImageListProfile.ImageStream"), System.Windows.Forms.ImageListStreamer)
Me.ImageListProfile.TransparentColor = System.Drawing.Color.Transparent
Me.ImageListProfile.Images.SetKeyName(0, "ico2558.ico")
Me.ImageListProfile.Images.SetKeyName(1, "ico2591.ico")
'
'DD_DMSLiteDataSet
'
Me.DD_DMSLiteDataSet.DataSetName = "DD_DMSLiteDataSet"
Me.DD_DMSLiteDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
'
'TableAdapterManager
'
Me.TableAdapterManager.BackupDataSetBeforeUpdate = False
Me.TableAdapterManager.Connection = Nothing
Me.TableAdapterManager.TBDD_CONNECTIONTableAdapter = Nothing
Me.TableAdapterManager.TBDD_EMAIL_TEMPLATETableAdapter = Nothing
Me.TableAdapterManager.TBDD_GUI_LANGUAGE_PHRASETableAdapter = Nothing
Me.TableAdapterManager.TBDD_USERTableAdapter = Nothing
Me.TableAdapterManager.TBPM_CONTROL_TABLETableAdapter = Nothing
Me.TableAdapterManager.TBPM_ERROR_LOGTableAdapter = Nothing
Me.TableAdapterManager.TBPM_KONFIGURATIONTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILE_CONTROLSTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILE_FILESTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILE_FINAL_INDEXINGTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILETableAdapter = Nothing
Me.TableAdapterManager.TBPM_TYPETableAdapter = Nothing
Me.TableAdapterManager.UpdateOrder = taskFLOW.DD_DMSLiteDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
'
'Panel1
'
Me.Panel1.BackColor = System.Drawing.Color.Transparent
Me.Panel1.Controls.Add(Me.TreeList_Cockpit)
Me.Panel1.Controls.Add(Me.GridControlWorkflows)
Me.Panel1.Controls.Add(Me.Panel2)
Me.Panel1.Controls.Add(Me.NavBarControl1)
resources.ApplyResources(Me.Panel1, "Panel1")
Me.Panel1.Name = "Panel1"
'
'TreeList_Cockpit
'
resources.ApplyResources(Me.TreeList_Cockpit, "TreeList_Cockpit")
@@ -285,9 +239,9 @@ Partial Class frmMain
'RibbonControl1
'
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtniRefresh, Me.bbtniMonitor, Me.bbiProfilverwaltung, Me.bbiKonfiguration, Me.bbtniGrundeinstellung, Me.bbtnitemInfo, Me.BarButtonItem1, Me.bsiUser, Me.bsiLicenses, Me.bsiUserLoggedIn, Me.bsiVersion, Me.bsilastsync, Me.bsiDebug, Me.bsiMessage, Me.bbtniMetadataFile, Me.BarEditItem1, Me.bbtnitDashboardInv, Me.bsiGeneralInfo, Me.bbtnitmGhostMode, Me.bsi_GhostMode, Me.BarButtonItemGhostMode, Me.SearchItem1, Me.SearchItem2, Me.BarStaticItemAppServer, Me.bbtniCW, Me.bsiInactivityCheck, Me.BarButtonItem2, Me.BarCheckItemAutofilter, Me.BarCheckItem2, Me.BarButtonItemResetLayout, Me.BarButtonItem4, Me.BarButtonItemExportExcel, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItemWFSingle, Me.BarButtonItemWFGroup, Me.BarButtonItemFileLink, Me.BarButtonItemMassValidation, Me.BarCheckItemShowSearch, Me.barItemGridFontSize, Me.BarButtonItem8, Me.BbtnitmAHWF1, Me.BbtnitmAHWF2, Me.BbtnitmAHWF3, Me.BbtnitmAHWF4, Me.bbtnitmLanguage_Change, Me.BarButtonItem10, Me.BBtnItmNotfications, Me.BSIVERSION1, Me.barbtnitmsaveLogfiles, Me.bsitmCount})
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.bbtniRefresh, Me.bbiProfilverwaltung, Me.bbiKonfiguration, Me.bbtniGrundeinstellung, Me.bbtnitemInfo, Me.BarButtonItem1, Me.bsiUser, Me.bsiLicenses, Me.bsiUserLoggedIn, Me.bsiVersion, Me.bsilastsync, Me.bsiDebug, Me.bsiMessage, Me.bbtniMetadataFile, Me.BarEditItem1, Me.bsiGeneralInfo, Me.bbtnitmGhostMode, Me.bsi_GhostMode, Me.BarButtonItemGhostMode, Me.SearchItem1, Me.SearchItem2, Me.BarStaticItemAppServer, Me.bbtniCW, Me.bsiInactivityCheck, Me.BarButtonItem2, Me.BarCheckItemAutofilter, Me.BarCheckItem2, Me.BarButtonItemResetLayout, Me.BarButtonItem4, Me.BarButtonItemExportExcel, Me.BarButtonItem6, Me.BarButtonItem7, Me.BarButtonItemWFSingle, Me.BarButtonItemWFGroup, Me.BarButtonItemFileLink, Me.BarButtonItemMassValidation, Me.BarCheckItemShowSearch, Me.barItemGridFontSize, Me.BarButtonItem8, Me.BbtnitmAHWF1, Me.BbtnitmAHWF2, Me.BbtnitmAHWF3, Me.BbtnitmAHWF4, Me.bbtnitmLanguage_Change, Me.BarButtonItem10, Me.BBtnItmNotfications, Me.BSIVERSION1, Me.barbtnitmsaveLogfiles, Me.bsitmCount, Me.BarButtonItemCock_refresh})
resources.ApplyResources(Me.RibbonControl1, "RibbonControl1")
Me.RibbonControl1.MaxItemId = 57
Me.RibbonControl1.MaxItemId = 58
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPageStart, Me.RibbonPageTabelle, Me.RibbonPageAktionen})
Me.RibbonControl1.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemProgressBar1, Me.RepositoryItemTrackBar1, Me.cmbGridFontSize})
@@ -305,14 +259,6 @@ Partial Class frmMain
Me.bbtniRefresh.ImageOptions.LargeImage = CType(resources.GetObject("bbtniRefresh.ImageOptions.LargeImage"), System.Drawing.Image)
Me.bbtniRefresh.Name = "bbtniRefresh"
'
'bbtniMonitor
'
resources.ApplyResources(Me.bbtniMonitor, "bbtniMonitor")
Me.bbtniMonitor.Id = 2
Me.bbtniMonitor.ImageOptions.Image = CType(resources.GetObject("bbtniMonitor.ImageOptions.Image"), System.Drawing.Image)
Me.bbtniMonitor.ImageOptions.LargeImage = CType(resources.GetObject("bbtniMonitor.ImageOptions.LargeImage"), System.Drawing.Image)
Me.bbtniMonitor.Name = "bbtniMonitor"
'
'bbiProfilverwaltung
'
resources.ApplyResources(Me.bbiProfilverwaltung, "bbiProfilverwaltung")
@@ -428,13 +374,6 @@ Partial Class frmMain
Me.RepositoryItemProgressBar1.Name = "RepositoryItemProgressBar1"
Me.RepositoryItemProgressBar1.ShowTitle = True
'
'bbtnitDashboardInv
'
resources.ApplyResources(Me.bbtnitDashboardInv, "bbtnitDashboardInv")
Me.bbtnitDashboardInv.Id = 17
Me.bbtnitDashboardInv.ImageOptions.SvgImage = CType(resources.GetObject("bbtnitDashboardInv.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.bbtnitDashboardInv.Name = "bbtnitDashboardInv"
'
'bsiGeneralInfo
'
Me.bsiGeneralInfo.Id = 18
@@ -724,29 +663,29 @@ Partial Class frmMain
Me.bsitmCount.Name = "bsitmCount"
Me.bsitmCount.Visibility = DevExpress.XtraBars.BarItemVisibility.OnlyInCustomizing
'
'BarButtonItemCock_refresh
'
resources.ApplyResources(Me.BarButtonItemCock_refresh, "BarButtonItemCock_refresh")
Me.BarButtonItemCock_refresh.Id = 57
Me.BarButtonItemCock_refresh.ImageOptions.SvgImage = CType(resources.GetObject("BarButtonItemCock_refresh.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.BarButtonItemCock_refresh.Name = "BarButtonItemCock_refresh"
'
'RibbonPageStart
'
Me.RibbonPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2, Me.RibbonPageGroup3, Me.RibbonPageGroupBasicConf, Me.RibbonPageGroup7, Me.RibbonPageGroup4, Me.RibbonPageGroupAHW})
Me.RibbonPageStart.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup3, Me.RibbonPageGroupBasicConf, Me.RibbonPageGroup7, Me.RibbonPageGroup4, Me.RibbonPageGroupAHW})
Me.RibbonPageStart.Name = "RibbonPageStart"
resources.ApplyResources(Me.RibbonPageStart, "RibbonPageStart")
'
'RibbonPageGroup1
'
Me.RibbonPageGroup1.AllowTextClipping = False
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItemCock_refresh)
Me.RibbonPageGroup1.ItemLinks.Add(Me.bbtniRefresh)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItemGhostMode)
Me.RibbonPageGroup1.ItemLinks.Add(Me.BBtnItmNotfications)
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
resources.ApplyResources(Me.RibbonPageGroup1, "RibbonPageGroup1")
'
'RibbonPageGroup2
'
Me.RibbonPageGroup2.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
Me.RibbonPageGroup2.ItemLinks.Add(Me.bbtnitDashboardInv)
Me.RibbonPageGroup2.ItemLinks.Add(Me.bbtniMonitor)
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
resources.ApplyResources(Me.RibbonPageGroup2, "RibbonPageGroup2")
'
'RibbonPageGroup3
'
Me.RibbonPageGroup3.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
@@ -862,6 +801,7 @@ Partial Class frmMain
Me.ImageCollection1.Images.SetKeyName(0, "splittablecells_32x32.png")
Me.ImageCollection1.Images.SetKeyName(1, "bosaleitem_32x32.png")
Me.ImageCollection1.Images.SetKeyName(2, "bar2_32x32.png")
Me.ImageCollection1.Images.SetKeyName(3, "gaugestylefullcircular_32x32.png")
'
'GridControlWorkflows
'
@@ -911,26 +851,51 @@ Partial Class frmMain
resources.ApplyResources(Me.lblCaptionMainGrid, "lblCaptionMainGrid")
Me.lblCaptionMainGrid.Name = "lblCaptionMainGrid"
'
'NavBarControl1
'ImageListProfile
'
Me.NavBarControl1.ActiveGroup = Me.NavBarGroupProfiles
Me.NavBarControl1.ContextMenuStrip = Me.cmsNavPane
Me.NavBarControl1.Groups.AddRange(New DevExpress.XtraNavBar.NavBarGroup() {Me.NavBarGroupMore, Me.NavBarGroupProfiles})
Me.NavBarControl1.Items.AddRange(New DevExpress.XtraNavBar.NavBarItem() {Me.NavBarItemOverview})
resources.ApplyResources(Me.NavBarControl1, "NavBarControl1")
Me.NavBarControl1.Name = "NavBarControl1"
Me.NavBarControl1.OptionsNavPane.ExpandedWidth = CType(resources.GetObject("resource.ExpandedWidth"), Integer)
Me.NavBarControl1.PaintStyleKind = DevExpress.XtraNavBar.NavBarViewKind.NavigationPane
Me.NavBarControl1.ShowIcons = DevExpress.Utils.DefaultBoolean.[True]
Me.NavBarControl1.View = New DevExpress.XtraNavBar.ViewInfo.StandardSkinExplorerBarViewInfoRegistrator("Office 2019 White")
Me.ImageListProfile.ImageStream = CType(resources.GetObject("ImageListProfile.ImageStream"), System.Windows.Forms.ImageListStreamer)
Me.ImageListProfile.TransparentColor = System.Drawing.Color.Transparent
Me.ImageListProfile.Images.SetKeyName(0, "ico2558.ico")
Me.ImageListProfile.Images.SetKeyName(1, "ico2591.ico")
'
'NavBarGroupProfiles
'DD_DMSLiteDataSet
'
resources.ApplyResources(Me.NavBarGroupProfiles, "NavBarGroupProfiles")
Me.NavBarGroupProfiles.Expanded = True
Me.NavBarGroupProfiles.GroupStyle = DevExpress.XtraNavBar.NavBarGroupStyle.LargeIconsText
Me.NavBarGroupProfiles.ImageOptions.LargeImage = CType(resources.GetObject("NavBarGroupProfiles.ImageOptions.LargeImage"), System.Drawing.Image)
Me.NavBarGroupProfiles.Name = "NavBarGroupProfiles"
Me.DD_DMSLiteDataSet.DataSetName = "DD_DMSLiteDataSet"
Me.DD_DMSLiteDataSet.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
'
'TableAdapterManager
'
Me.TableAdapterManager.BackupDataSetBeforeUpdate = False
Me.TableAdapterManager.Connection = Nothing
Me.TableAdapterManager.TBDD_CONNECTIONTableAdapter = Nothing
Me.TableAdapterManager.TBDD_EMAIL_TEMPLATETableAdapter = Nothing
Me.TableAdapterManager.TBDD_GUI_LANGUAGE_PHRASETableAdapter = Nothing
Me.TableAdapterManager.TBDD_USERTableAdapter = Nothing
Me.TableAdapterManager.TBPM_CONTROL_TABLETableAdapter = Nothing
Me.TableAdapterManager.TBPM_ERROR_LOGTableAdapter = Nothing
Me.TableAdapterManager.TBPM_KONFIGURATIONTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILE_CONTROLSTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILE_FILESTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILE_FINAL_INDEXINGTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILETableAdapter = Nothing
Me.TableAdapterManager.TBPM_TYPETableAdapter = Nothing
Me.TableAdapterManager.UpdateOrder = taskFLOW.DD_DMSLiteDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
'
'Panel1
'
Me.Panel1.BackColor = System.Drawing.Color.Transparent
Me.Panel1.Controls.Add(Me.GridControlWorkflows)
Me.Panel1.Controls.Add(Me.Panel2)
Me.Panel1.Controls.Add(Me.SplitterControl1)
Me.Panel1.Controls.Add(Me.TreeList_Cockpit)
resources.ApplyResources(Me.Panel1, "Panel1")
Me.Panel1.Name = "Panel1"
'
'SplitterControl1
'
resources.ApplyResources(Me.SplitterControl1, "SplitterControl1")
Me.SplitterControl1.Name = "SplitterControl1"
Me.SplitterControl1.TabStop = False
'
'cmsNavPane
'
@@ -945,24 +910,6 @@ Partial Class frmMain
Me.tsmiValidationProfil.Name = "tsmiValidationProfil"
resources.ApplyResources(Me.tsmiValidationProfil, "tsmiValidationProfil")
'
'NavBarGroupMore
'
resources.ApplyResources(Me.NavBarGroupMore, "NavBarGroupMore")
Me.NavBarGroupMore.GroupStyle = DevExpress.XtraNavBar.NavBarGroupStyle.LargeIconsText
Me.NavBarGroupMore.ImageOptions.LargeImage = CType(resources.GetObject("NavBarGroupMore.ImageOptions.LargeImage"), System.Drawing.Image)
Me.NavBarGroupMore.ItemLinks.AddRange(New DevExpress.XtraNavBar.NavBarItemLink() {New DevExpress.XtraNavBar.NavBarItemLink(Me.NavBarItemOverview)})
Me.NavBarGroupMore.Name = "NavBarGroupMore"
'
'NavBarItemOverview
'
Me.NavBarItemOverview.Appearance.Image = CType(resources.GetObject("NavBarItemOverview.Appearance.Image"), System.Drawing.Image)
Me.NavBarItemOverview.Appearance.Options.UseImage = True
resources.ApplyResources(Me.NavBarItemOverview, "NavBarItemOverview")
Me.NavBarItemOverview.ImageOptions.AllowGlyphSkinning = DevExpress.Utils.DefaultBoolean.[False]
Me.NavBarItemOverview.ImageOptions.LargeImage = CType(resources.GetObject("NavBarItemOverview.ImageOptions.LargeImage"), System.Drawing.Image)
Me.NavBarItemOverview.Name = "NavBarItemOverview"
Me.NavBarItemOverview.Tag = "OVERVIEW"
'
'NotifyIcon1
'
Me.NotifyIcon1.BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Info
@@ -1655,8 +1602,6 @@ Partial Class frmMain
Me.Name = "frmMain"
Me.Ribbon = Me.RibbonControl1
Me.StatusBar = Me.RibbonStatusBar1
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False)
CType(Me.TreeList_Cockpit, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.RepositoryItemProgressBar1, System.ComponentModel.ISupportInitialize).EndInit()
@@ -1667,7 +1612,8 @@ Partial Class frmMain
CType(Me.GridViewWorkflows, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel2.ResumeLayout(False)
Me.Panel2.PerformLayout()
CType(Me.NavBarControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DD_DMSLiteDataSet, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False)
Me.cmsNavPane.ResumeLayout(False)
CType(Me.bindsourcegrid, System.ComponentModel.ISupportInitialize).EndInit()
Me.ContextMenuNotifyIcon.ResumeLayout(False)
@@ -1686,10 +1632,6 @@ Partial Class frmMain
Friend WithEvents NotifyIcon1 As System.Windows.Forms.NotifyIcon
Friend WithEvents TimerRefresh As System.Windows.Forms.Timer
Friend WithEvents TimerReminder As System.Windows.Forms.Timer
Friend WithEvents NavBarControl1 As DevExpress.XtraNavBar.NavBarControl
Friend WithEvents NavBarGroupProfiles As DevExpress.XtraNavBar.NavBarGroup
Friend WithEvents NavBarGroupMore As DevExpress.XtraNavBar.NavBarGroup
Friend WithEvents NavBarItemOverview As DevExpress.XtraNavBar.NavBarItem
Friend WithEvents cmsNavPane As ContextMenuStrip
Friend WithEvents tsmiValidationProfil As ToolStripMenuItem
Friend WithEvents bindsourcegrid As BindingSource
@@ -1771,7 +1713,6 @@ Partial Class frmMain
Friend WithEvents PrintPreviewBarCheckItem17 As DevExpress.XtraPrinting.Preview.PrintPreviewBarCheckItem
Friend WithEvents PrintPreviewBarCheckItem18 As DevExpress.XtraPrinting.Preview.PrintPreviewBarCheckItem
Friend WithEvents PrintPreviewBarCheckItem19 As DevExpress.XtraPrinting.Preview.PrintPreviewBarCheckItem
Friend WithEvents Panel1 As Panel
Friend WithEvents OutOfRangePMFixierenToolStripMenuItem As ToolStripMenuItem
Friend WithEvents ToolStripSeparator1 As ToolStripSeparator
Friend WithEvents XtraSaveFileDialog1 As DevExpress.XtraEditors.XtraSaveFileDialog
@@ -1780,7 +1721,6 @@ Partial Class frmMain
Friend WithEvents BarButtonItem9 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
Friend WithEvents bbtniRefresh As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbtniMonitor As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbiProfilverwaltung As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbiKonfiguration As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bbtniGrundeinstellung As DevExpress.XtraBars.BarButtonItem
@@ -1796,7 +1736,6 @@ Partial Class frmMain
Friend WithEvents bbtniMetadataFile As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarEditItem1 As DevExpress.XtraBars.BarEditItem
Friend WithEvents RepositoryItemProgressBar1 As DevExpress.XtraEditors.Repository.RepositoryItemProgressBar
Friend WithEvents bbtnitDashboardInv As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bsiGeneralInfo As DevExpress.XtraBars.BarStaticItem
Friend WithEvents bbtnitmGhostMode As DevExpress.XtraBars.BarButtonItem
Friend WithEvents bsi_GhostMode As DevExpress.XtraBars.BarStaticItem
@@ -1831,7 +1770,6 @@ Partial Class frmMain
Friend WithEvents BBtnItmNotfications As DevExpress.XtraBars.BarButtonItem
Friend WithEvents RibbonPageStart As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonPageGroup3 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonPageGroupBasicConf As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RibbonPageGroup7 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
@@ -1843,7 +1781,6 @@ Partial Class frmMain
Friend WithEvents RibbonPageAktionen As DevExpress.XtraBars.Ribbon.RibbonPage
Friend WithEvents RibbonPageGroup8 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents RepositoryItemTrackBar1 As DevExpress.XtraEditors.Repository.RepositoryItemTrackBar
Friend WithEvents Panel2 As Panel
Friend WithEvents lblCaptionMainGrid As Label
Friend WithEvents GridControlWorkflows As DevExpress.XtraGrid.GridControl
Friend WithEvents GridViewWorkflows As DevExpress.XtraGrid.Views.Grid.GridView
@@ -1852,4 +1789,8 @@ Partial Class frmMain
Friend WithEvents bsitmCount As DevExpress.XtraBars.BarStaticItem
Friend WithEvents TreeList_Cockpit As DevExpress.XtraTreeList.TreeList
Friend WithEvents ImageCollection1 As DevExpress.Utils.ImageCollection
Friend WithEvents Panel2 As Panel
Friend WithEvents Panel1 As Panel
Friend WithEvents SplitterControl1 As DevExpress.XtraEditors.SplitterControl
Friend WithEvents BarButtonItemCock_refresh As DevExpress.XtraBars.BarButtonItem
End Class

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -6,6 +6,7 @@ Imports System.Threading.Tasks
Imports DevExpress.LookAndFeel
Imports DevExpress.Utils
Imports DevExpress.XtraBars.Ribbon
Imports DevExpress.XtraEditors
Imports DevExpress.XtraExport.Helpers
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Columns
@@ -53,7 +54,7 @@ Public Class frmMain
Private allgFunk As New ClassAllgemeineFunktionen
Private _Init As New ClassInit
Private CurrNavBarGroup As NavBarGroup
'Private CurrNavBarGroup As NavBarGroup
'Private DataASorDB As ClassDataASorDB
Private DT_CHECKUSER_MODULE As DataTable
@@ -76,6 +77,7 @@ Public Class frmMain
Private COCKPIT_CONFIG_ID As Integer = 0
Private Class S
Inherits My.Resources.frmMain_Strings
End Class
@@ -169,6 +171,8 @@ Public Class frmMain
My.Settings.frmMainSize = Me.Size
My.Settings.frmMainPosition = Me.Location
My.Settings.Save()
CONFIG.Config.MainTreeList_Width = TreeList_Cockpit.Width
CONFIG.Save()
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error in Save FormLayout: " & ex.Message)
@@ -326,12 +330,6 @@ Public Class frmMain
bsiUserLoggedIn.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
bbtnitmGhostMode.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
End If
If MONITORING_ACTIVE = False Then
RibbonPageGroup2.Visible = False
Else
RibbonPageGroup2.Visible = True
End If
Try
If SEARCH1 <> String.Empty Then
Dim oindex = SEARCH1.IndexOf("~")
@@ -402,12 +400,10 @@ Public Class frmMain
LOGGER.Error(ex)
MsgBox("Unexpected Error in LoadForm - Step 4: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Attention:")
End Try
Load_Treeview()
LoadNavBar()
AddHandler NavBarControl1.LinkClicked, AddressOf navBar_LinkClicked
' LoadNavBar()
' AddHandler NavBarControl1.LinkClicked, AddressOf navBar_LinkClicked
If Not IsNothing(CURR_DT_VWPM_PROFILE_AH_WORKFLOW) Then
If CURR_DT_VWPM_PROFILE_AH_WORKFLOW.Rows.Count > 0 And LIC_MODULES.Contains("MOD_AdhocWorkflow_BlindFile") Then
RibbonPageGroupAHW.Visible = True
@@ -437,29 +433,6 @@ Public Class frmMain
Else
LOGGER.Debug("NO ADHOC-WFs Blindfiles (Nothing)...")
End If
Try
If SHOW_CHARTS = True Then
If BASEDATA_DT_CHARTS.Rows.Count = 0 Then
LOGGER.Debug("No Charts: BASEDATA_DT_CHARTS.RowCount = 0")
bbtnitDashboardInv.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Else
LOGGER.Debug($"We got Charts: {BASEDATA_DT_CHARTS.Rows.Count}")
bbtnitDashboardInv.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
End If
Else
LOGGER.Debug("No Charts: SHOW_CHARTS = False")
bbtnitDashboardInv.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
End If
Catch ex As Exception
LOGGER.Warn($"Could not load Charts: {ex.Message}")
End Try
If MONITORING_ACTIVE = False Then
bbtniMonitor.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Else
bbtniMonitor.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
End If
Check_Timer_Notification()
Timer_Inactivity_Reset_Disable("FormLoad")
@@ -551,56 +524,115 @@ Public Class frmMain
End Sub
Private Sub Load_Treeview()
Try
Me.Cursor = Cursors.WaitCursor
Dim oSQL = $"SELECT * FROM [dbo].[FNTF_GET_COCKPIT_DEFINITION] ({USER_ID},'{USER_LANGUAGE}')"
Dim oDT_STRUCTURE_NODES As DataTable = DatabaseFallback.GetDatatableECM(oSQL)
If Not IsNothing(oDT_STRUCTURE_NODES) Then
If oDT_STRUCTURE_NODES.Rows.Count > 0 Then
TreeList_Cockpit.BeginUpdate()
Try
TreeList_Cockpit.DataSource = oDT_STRUCTURE_NODES
TreeList_Cockpit.KeyFieldName = "PK_CFG_COCKPIT_DEFINITION_ID"
TreeList_Cockpit.ParentFieldName = "PARENT_ID"
TreeList_Cockpit.Columns("PK_RESULT_ID").SortOrder = SortOrder.Ascending
If oDT_STRUCTURE_NODES Is Nothing OrElse oDT_STRUCTURE_NODES.Rows.Count = 0 Then
Dim oMsg As String
Dim oTitle As String
Select Case USER_LANGUAGE
Case "fr-FR", "fr-BE", "fr-CH"
oMsg = "Aucune configuration de cockpit n'a pu être lue. Veuillez contacter votre équipe d'administration!"
oTitle = "Erreur de configuration"
Case "es-ES", "es-MX", "es-AR"
oMsg = "No se pudo leer ninguna configuración de cockpit. ¡Póngase en contacto con su equipo de administración!"
oTitle = "Error de configuración"
Case "de-DE", "de-AT", "de-CH"
oMsg = "Es konnte keine Cockpit-Konfiguration ausgelesen werden. Kontaktieren Sie Ihr Administrationsteam!"
oTitle = "Konfigurationsfehler"
Case Else ' en-US, en-GB und alle weiteren
oMsg = "No cockpit configuration could be read. Please contact your administration team!"
oTitle = "Configuration Error"
End Select
LOGGER.Warn($"Load_Treeview: No node configuration found for USER_ID [{USER_ID}] - USER_LANGUAGE [{USER_LANGUAGE}]")
MsgBox(oMsg, MsgBoxStyle.Critical, oTitle)
Exit Sub
End If
Dim oOverviewRows As DataRow() = oDT_STRUCTURE_NODES.Select("TYPE_ID = 0")
' ===== MODERNES DESIGN =====
' Schriftgröße und -art
TreeList_Cockpit.Appearance.Row.Font = New Font("Segoe UI", 12, FontStyle.Regular)
TreeList_Cockpit.Appearance.FocusedRow.Font = New Font("Segoe UI", 12, FontStyle.Bold)
TreeList_Cockpit.Appearance.HideSelectionRow.Font = New Font("Segoe UI", 12, FontStyle.Regular)
' Modernes Farbschema (passend zum Office2019-Skin)
TreeList_Cockpit.Appearance.Row.BackColor = Color.White
TreeList_Cockpit.Appearance.Row.ForeColor = Color.FromArgb(50, 50, 50)
TreeList_Cockpit.Appearance.FocusedRow.BackColor = Color.FromArgb(210, 230, 255)
TreeList_Cockpit.Appearance.FocusedRow.ForeColor = Color.FromArgb(20, 20, 20)
TreeList_Cockpit.Appearance.HideSelectionRow.BackColor = Color.FromArgb(225, 235, 250)
TreeList_Cockpit.Appearance.HideSelectionRow.ForeColor = Color.FromArgb(50, 50, 50)
' Zeilenhöhe erhöhen für bessere Lesbarkeit
TreeList_Cockpit.RowHeight = 28
Dim oVisibleColumns As New System.Collections.Generic.HashSet(Of String)(StringComparer.OrdinalIgnoreCase) From {"NAME"}
For Each oColumn As DevExpress.XtraTreeList.Columns.TreeListColumn In TreeList_Cockpit.Columns
oColumn.Visible = oVisibleColumns.Contains(oColumn.FieldName)
Next
Finally
TreeList_Cockpit.EndUpdate()
End Try
' AddHandler TreeList1.GetSelectImage, AddressOf TreeList1_GetSelectImage
TreeList_Cockpit.Refresh() ' ✅ Erzwingt sofortiges Neuzeichnen der Icons
' ===== ANZAHL ASYNCHRON NACHLADEN =====
If oDT_STRUCTURE_NODES.Columns.Contains("SQL_QUERY_COUNT") Then
AppendCountsToTreeAsync()
End If
' ===== MONITOR-KNOTEN ENTFERNEN WENN KEIN RECHT =====
If MONITORING_ACTIVE = False AndAlso oDT_STRUCTURE_NODES.Columns.Contains("TYPE_ID") Then
Dim oMonitorRows As DataRow() = oDT_STRUCTURE_NODES.Select("TYPE_ID = 2")
If oMonitorRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: MONITORING_ACTIVE=False - removing [{oMonitorRows.Length}] monitor node(s) from TreeList datasource")
For Each oRow As DataRow In oMonitorRows
oRow.Delete()
Next
oDT_STRUCTURE_NODES.AcceptChanges()
End If
End If
' ===== CHART-KNOTEN ENTFERNEN WENN KEIN RECHT =====
If SHOW_CHARTS = False AndAlso oDT_STRUCTURE_NODES.Columns.Contains("TYPE_ID") Then
Dim oChartRows As DataRow() = oDT_STRUCTURE_NODES.Select("TYPE_ID = 3")
If oChartRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: SHOW_CHARTS=False - removing [{oChartRows.Length}] chart node(s) from TreeList datasource")
For Each oRow As DataRow In oChartRows
oRow.Delete()
Next
oDT_STRUCTURE_NODES.AcceptChanges()
End If
End If
TreeList_Cockpit.BeginUpdate()
Try
TreeList_Cockpit.DataSource = oDT_STRUCTURE_NODES
TreeList_Cockpit.KeyFieldName = "PK_CFG_COCKPIT_DEFINITION_ID"
TreeList_Cockpit.ParentFieldName = "PARENT_ID"
TreeList_Cockpit.Columns("PK_RESULT_ID").SortOrder = SortOrder.Ascending
' ===== MODERNES DESIGN =====
' Schriftgröße und -art
TreeList_Cockpit.Appearance.Row.Font = New Font("Segoe UI", 12, FontStyle.Regular)
TreeList_Cockpit.Appearance.FocusedRow.Font = New Font("Segoe UI", 12, FontStyle.Bold)
TreeList_Cockpit.Appearance.HideSelectionRow.Font = New Font("Segoe UI", 12, FontStyle.Regular)
' Modernes Farbschema (passend zum Office2019-Skin)
TreeList_Cockpit.Appearance.Row.BackColor = Color.White
TreeList_Cockpit.Appearance.Row.ForeColor = Color.FromArgb(50, 50, 50)
TreeList_Cockpit.Appearance.FocusedRow.BackColor = Color.FromArgb(210, 230, 255)
TreeList_Cockpit.Appearance.FocusedRow.ForeColor = Color.FromArgb(20, 20, 20)
TreeList_Cockpit.Appearance.HideSelectionRow.BackColor = Color.FromArgb(225, 235, 250)
TreeList_Cockpit.Appearance.HideSelectionRow.ForeColor = Color.FromArgb(50, 50, 50)
' Zeilenhöhe erhöhen für bessere Lesbarkeit
TreeList_Cockpit.RowHeight = 28
Dim oVisibleColumns As New System.Collections.Generic.HashSet(Of String)(StringComparer.OrdinalIgnoreCase) From {"NAME"}
For Each oColumn As DevExpress.XtraTreeList.Columns.TreeListColumn In TreeList_Cockpit.Columns
oColumn.Visible = oVisibleColumns.Contains(oColumn.FieldName)
Next
Finally
TreeList_Cockpit.EndUpdate()
End Try
If oOverviewRows.Length = 1 Then
For Each oNode As DevExpress.XtraTreeList.Nodes.TreeListNode In TreeList_Cockpit.Nodes
oNode.Expanded = True
Next
ElseIf oOverviewRows.Length > 1 Then
For Each oNode As DevExpress.XtraTreeList.Nodes.TreeListNode In TreeList_Cockpit.Nodes
oNode.Expanded = False
Next
End If
' AddHandler TreeList_Cockpit.GetSelectImage, AddressOf TreeList1_GetSelectImage
TreeList_Cockpit.Refresh() ' ✅ Erzwingt sofortiges Neuzeichnen der Icons
' ===== ANZAHL ASYNCHRON NACHLADEN =====
If oDT_STRUCTURE_NODES.Columns.Contains("SQL_QUERY_COUNT") Then
AppendCountsToTreeAsync()
End If
Catch ex As Exception
LOGGER.Error(ex)
Finally
Me.Cursor = Cursors.Default
End Try
End Sub
Private Async Sub AppendCountsToTreeAsync()
@@ -612,6 +644,17 @@ Public Class frmMain
TreeList_Cockpit.NodesIterator.DoOperation(
Sub(oNode As DevExpress.XtraTreeList.Nodes.TreeListNode)
' ===== NUR KNOTEN MIT TYPE_ID = 0 ODER 1 VERARBEITEN =====
Dim oTypeId As Object = oNode.GetValue("TYPE_ID")
If oTypeId Is Nothing OrElse IsDBNull(oTypeId) Then
LOGGER.Debug($"AppendCountsToTreeAsync: Node [{oNode.GetValue("NAME")}] has no TYPE_ID - skipping.")
Exit Sub
End If
Dim oTypeIdInt As Integer = CInt(oTypeId)
If oTypeIdInt <> 0 AndAlso oTypeIdInt <> 1 Then
Exit Sub
End If
Dim oSqlCount As Object = oNode.GetValue("SQL_QUERY_COUNT")
If oSqlCount IsNot Nothing AndAlso Not IsDBNull(oSqlCount) AndAlso Not String.IsNullOrWhiteSpace(oSqlCount.ToString()) Then
Dim oPreparedSQL As String = PrepareSQLWithReplacements(oSqlCount.ToString())
@@ -991,170 +1034,170 @@ Public Class frmMain
End Try
End Sub
Sub LoadNavBar()
Dim profileGroupOpen As Boolean = False
If Not IsNothing(CurrNavBarGroup) Then
NavBarControl1.BeginUpdate() ' <-- Hinzufügen
Try
profileGroupOpen = CurrNavBarGroup.Expanded
Try
CurrNavBarGroup.ItemLinks.Clear()
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("CurrGroupClear - Error: " & ex.Message)
'Sub LoadNavBar()
' Dim profileGroupOpen As Boolean = False
' If Not IsNothing(CurrNavBarGroup) Then
' NavBarControl1.BeginUpdate() ' <-- Hinzufügen
' Try
' profileGroupOpen = CurrNavBarGroup.Expanded
' Try
' CurrNavBarGroup.ItemLinks.Clear()
' Catch ex As Exception
' LOGGER.Error(ex)
' LOGGER.Info("CurrGroupClear - Error: " & ex.Message)
End Try
' End Try
Catch ex As Exception
Finally
NavBarControl1.EndUpdate() ' <-- Hinzufügen
End Try
' Catch ex As Exception
' Finally
' NavBarControl1.EndUpdate() ' <-- Hinzufügen
' End Try
End If
Try
' End If
' Try
If Load_Profiles_for_User() = False Then
Throw New Exception("Could not load Profiles. Datatable is empty")
Exit Sub
End If
If NO_DETAIL_PROFILES = False Then
NavBarControl1.Visible = True
Dim oCountItems As Integer = 0
For Each oProfileRow As DataRow In CURR_DT_VWPM_PROFILE_ACTIVE.Rows
Dim ODisplayMode = oProfileRow.Item("DISPLAY_MODE")
If (ODisplayMode = "Overview and Detail" Or ODisplayMode = "Detail") Then
oCountItems += 1
Dim item1 As NavBarItem = NavBarControl1.Items.Add()
item1.Caption = oProfileRow.Item("TITLE")
item1.Hint = oProfileRow.Item("TITLE")
item1.Appearance.TextOptions.WordWrap = WordWrap.Wrap
item1.Tag = "itmProfile#" & oProfileRow.Item("GUID").ToString
' If Load_Profiles_for_User() = False Then
' Throw New Exception("Could not load Profiles. Datatable is empty")
' Exit Sub
' End If
' If NO_DETAIL_PROFILES = False Then
' NavBarControl1.Visible = True
' Dim oCountItems As Integer = 0
' For Each oProfileRow As DataRow In CURR_DT_VWPM_PROFILE_ACTIVE.Rows
' Dim ODisplayMode = oProfileRow.Item("DISPLAY_MODE")
' If (ODisplayMode = "Overview and Detail" Or ODisplayMode = "Detail") Then
' oCountItems += 1
' Dim item1 As NavBarItem = NavBarControl1.Items.Add()
' item1.Caption = oProfileRow.Item("TITLE")
' item1.Hint = oProfileRow.Item("TITLE")
' item1.Appearance.TextOptions.WordWrap = WordWrap.Wrap
' item1.Tag = "itmProfile#" & oProfileRow.Item("GUID").ToString
Dim _image As Image = Nothing
_image = DevExpress.Images.ImageResourceCache.Default.GetImage("images/business%20objects/bofileattachment_16x16.png")
item1.LargeImage = _image
item1.SmallImage = _image
' Dim _image As Image = Nothing
' _image = DevExpress.Images.ImageResourceCache.Default.GetImage("images/business%20objects/bofileattachment_16x16.png")
' item1.LargeImage = _image
' item1.SmallImage = _image
NavBarControl1.Groups(1).ItemLinks.Add(item1)
End If
Next
If oCountItems > 0 Then
If NavBarControl1.Groups(1).Visible = False Then
NavBarControl1.Groups(1).Visible = True
End If
Else
If NavBarControl1.Groups(1).Visible = True Then
NavBarControl1.Groups(1).Visible = False
End If
End If
' NavBarControl1.Groups(1).ItemLinks.Add(item1)
' End If
' Next
' If oCountItems > 0 Then
' If NavBarControl1.Groups(1).Visible = False Then
' NavBarControl1.Groups(1).Visible = True
' End If
' Else
' If NavBarControl1.Groups(1).Visible = True Then
' NavBarControl1.Groups(1).Visible = False
' End If
' End If
If Not IsNothing(CurrNavBarGroup) Then
CurrNavBarGroup.Expanded = profileGroupOpen
Else
NavBarControl1.Groups(1).Expanded = True
End If
Else
LOGGER.Debug("NavBarControl - No Detail Profiles")
NavBarControl1.Visible = False
End If
' If Not IsNothing(CurrNavBarGroup) Then
' CurrNavBarGroup.Expanded = profileGroupOpen
' Else
' NavBarControl1.Groups(1).Expanded = True
' End If
' Else
' LOGGER.Debug("NavBarControl - No Detail Profiles")
' NavBarControl1.Visible = False
' End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Load_Profile_items - Error: " & ex.Message)
'MsgBox("Unexpected Error in Load_Profile_items - Error: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
End Try
' Catch ex As Exception
' LOGGER.Error(ex)
' LOGGER.Info("Load_Profile_items - Error: " & ex.Message)
' 'MsgBox("Unexpected Error in Load_Profile_items - Error: " & vbNewLine & ex.Message, MsgBoxStyle.Critical)
' End Try
End Sub
Private Async Sub navBar_LinkClicked(ByVal sender As Object, ByVal e As NavBarLinkEventArgs)
If Application.OpenForms().OfType(Of frmValidator).Any Then
FormHelper.ShowInfoMessage(S.Bitte_schließen_Sie_den_offenen_Workflow_, omsgTitleWarning)
Exit Sub
End If
'End Sub
'Private Async Sub navBar_LinkClicked(ByVal sender As Object, ByVal e As NavBarLinkEventArgs)
' If Application.OpenForms().OfType(Of frmValidator).Any Then
' FormHelper.ShowInfoMessage(S.Bitte_schließen_Sie_den_offenen_Workflow_, omsgTitleWarning)
' Exit Sub
' End If
FRONTEND_ACTION = NAVBAR_CLICKED
Dim _tag = e.Link.Item.Tag
Timer_Inactivity_Reset_Disable("navBar_LinkClicked")
' FRONTEND_ACTION = NAVBAR_CLICKED
' Dim _tag = e.Link.Item.Tag
' Timer_Inactivity_Reset_Disable("navBar_LinkClicked")
Try
If Not IsNothing(_tag) Then
If _tag.ToString.Contains("itmProfile#") Then
' ========== PROFIL WURDE GEKLICKT ==========
_tag = _tag.ToString.Replace("itmProfile#", "")
If IsNumeric(_tag) Then
If CURRENT_CLICKED_PROFILE_ID <> _tag Then
LOGGER.Debug($"Profile with ID {_tag} clicked in NavBarControl...loading Profile...")
OverviewOrDEtail = "DETAIL"
If Not Application.OpenForms().OfType(Of frmValidator).Any Then
CURRENT_CLICKED_PROFILE_ID = _tag
CURRENT_CLICKED_PROFILE_TITLE = e.Link.Item.Caption
End If
' Try
' If Not IsNothing(_tag) Then
' If _tag.ToString.Contains("itmProfile#") Then
' ' ========== PROFIL WURDE GEKLICKT ==========
' _tag = _tag.ToString.Replace("itmProfile#", "")
' If IsNumeric(_tag) Then
' If CURRENT_CLICKED_PROFILE_ID <> _tag Then
' LOGGER.Debug($"Profile with ID {_tag} clicked in NavBarControl...loading Profile...")
' OverviewOrDEtail = "DETAIL"
' If Not Application.OpenForms().OfType(Of frmValidator).Any Then
' CURRENT_CLICKED_PROFILE_ID = _tag
' CURRENT_CLICKED_PROFILE_TITLE = e.Link.Item.Caption
' End If
GRID_LOAD_TYPE = "PROFILE#" & _tag.ToString
DetailLinkActive = True
' GRID_LOAD_TYPE = "PROFILE#" & _tag.ToString
' DetailLinkActive = True
' RefreshHelper VORHER speichern
If GridControlWorkflows.Visible = True And FormOpenClose = False Then
RefreshHelper.SaveViewInfo()
End If
' ' RefreshHelper VORHER speichern
' If GridControlWorkflows.Visible = True And FormOpenClose = False Then
' RefreshHelper.SaveViewInfo()
' End If
Me.Cursor = Cursors.WaitCursor
Try
LOGGER.Debug($"Loading profile with ID {_tag}...")
' Zentral über Decide_Load laden
Await Decide_Load(False, True)
Finally
Me.Cursor = Cursors.Default
End Try
Else
LOGGER.Debug($"Profile with ID {_tag} clicked in NavBarControl is already active...ignoring click.")
End If
End If
' Me.Cursor = Cursors.WaitCursor
' Try
' LOGGER.Debug($"Loading profile with ID {_tag}...")
' ' Zentral über Decide_Load laden
' Await Decide_Load(False, True)
' Finally
' Me.Cursor = Cursors.Default
' End Try
' Else
' LOGGER.Debug($"Profile with ID {_tag} clicked in NavBarControl is already active...ignoring click.")
' End If
' End If
ElseIf _tag = "OVERVIEW" Then
' ========== OVERVIEW WURDE GEKLICKT ==========
OverviewOrDEtail = "OVERVIEW"
GRID_LOAD_TYPE = "OVERVIEW"
' ElseIf _tag = "OVERVIEW" Then
' ' ========== OVERVIEW WURDE GEKLICKT ==========
' OverviewOrDEtail = "OVERVIEW"
' GRID_LOAD_TYPE = "OVERVIEW"
Dim oForce As Boolean = False
If DetailLinkActive = True Then
oForce = True
DetailLinkActive = False
OVERVIEW_ADDED_WHEN = ""
End If
' Dim oForce As Boolean = False
' If DetailLinkActive = True Then
' oForce = True
' DetailLinkActive = False
' OVERVIEW_ADDED_WHEN = ""
' End If
' RefreshHelper VORHER speichern
If GridControlWorkflows.Visible = True And FormOpenClose = False Then
RefreshHelper.SaveViewInfo()
End If
' ' RefreshHelper VORHER speichern
' If GridControlWorkflows.Visible = True And FormOpenClose = False Then
' RefreshHelper.SaveViewInfo()
' End If
' Zentral über Decide_Load laden
Await Decide_Load(False, oForce)
' ' Zentral über Decide_Load laden
' Await Decide_Load(False, oForce)
' RefreshHelper NACHHER laden
If GridControlWorkflows.Visible = True And FormOpenClose = False Then
RefreshHelper.LoadViewInfo()
End If
' ' RefreshHelper NACHHER laden
' If GridControlWorkflows.Visible = True And FormOpenClose = False Then
' RefreshHelper.LoadViewInfo()
' End If
' Gruppierung prüfen
If GridViewWorkflows.GroupCount = 0 And Not IsNothing(GridViewWorkflows.Columns("GROUP_TEXT")) Then
LOGGER.Info("NO GROUPS AFTER CLICK OVERVIEW...CREATING GROUPS NEW...")
Await Decide_Load(False, True)
If GridControlWorkflows.Visible = True And FormOpenClose = False Then
RefreshHelper.LoadViewInfo()
End If
End If
End If
End If
' ' Gruppierung prüfen
' If GridViewWorkflows.GroupCount = 0 And Not IsNothing(GridViewWorkflows.Columns("GROUP_TEXT")) Then
' LOGGER.Info("NO GROUPS AFTER CLICK OVERVIEW...CREATING GROUPS NEW...")
' Await Decide_Load(False, True)
' If GridControlWorkflows.Visible = True And FormOpenClose = False Then
' RefreshHelper.LoadViewInfo()
' End If
' End If
' End If
' End If
Catch ex As Exception
LOGGER.Error(ex)
FormHelper.ShowInfoMessage($"Fehler beim Laden: {ex.Message}", omsgTitleWarning)
Finally
FRONTEND_ACTION = FA_NONE
End Try
End Sub
' Catch ex As Exception
' LOGGER.Error(ex)
' FormHelper.ShowInfoMessage($"Fehler beim Laden: {ex.Message}", omsgTitleWarning)
' Finally
' FRONTEND_ACTION = FA_NONE
' End Try
'End Sub
Function Load_Profiles_for_User() As Boolean
Try
LOGGER.Debug($"Load_Profiles_for_User ...")
@@ -1501,9 +1544,8 @@ Public Class frmMain
End If
Try
'bwSync.ReportProgress(10)
LoadNavBar()
'bwSync.ReportProgress(60)
'LoadNavBar()
Dim oStopWatch As New RefreshHelper.SW("Decide_Load")
Await Decide_Load(False)
oStopWatch.Done()
@@ -3070,7 +3112,7 @@ Public Class frmMain
ResetLayout()
' Ansicht neu laden
LoadNavBar()
'LoadNavBar()
Await Decide_Load(FormLoad)
InResetlayout = False
End Function
@@ -3425,8 +3467,16 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
End Sub
Private Async Sub frmMain_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Me.Text = ADDITIONAL_TITLE
CurrNavBarGroup = NavBarControl1.Groups(1)
' CurrNavBarGroup = NavBarControl1.Groups(1)
FormShown = True
Try
If CONFIG.Config.MainTreeList_Width > 0 Then
TreeList_Cockpit.Width = CONFIG.Config.MainTreeList_Width
End If
Catch ex As Exception
End Try
Timer_Inactivity_Reset_Disable("Decide_Load")
' ===== ERSTEN KNOTEN AUSWÄHLEN (löst FocusedNodeChanged → Decide_Load aus) =====
@@ -3598,13 +3648,13 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
' SaveGridLayout()
'End If
Await Decide_Load(False, True)
LoadNavBar()
'LoadNavBar()
If GridControlWorkflows.Visible = True And FormOpenClose = False Then
RefreshHelper.LoadViewInfo()
End If
End Sub
Private Sub bbtniMonitor_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtniMonitor.ItemClick
Private Sub bbtniMonitor_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs)
If Not Application.OpenForms().OfType(Of frmMonitor).Any Then
frmMonitor.Show()
End If
@@ -3695,7 +3745,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
BarEditItem1.EditValue = e.ProgressPercentage
End Sub
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles bbtnitDashboardInv.ItemClick
Private Sub BarButtonItem2_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs)
If Application.OpenForms().OfType(Of frmInvDashboard).Any Then
Exit Sub
End If
@@ -3778,7 +3828,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
_Init.InitBasics2()
Dim onewUserLanguage = User.Language
GetBaseData("Load")
LoadNavBar()
'LoadNavBar()
If oUserLanguage <> onewUserLanguage Then
MsgBox($"Layout will be reset as language changed from {oUserLanguage} to {onewUserLanguage}", MsgBoxStyle.Exclamation, ADDITIONAL_TITLE)
Await GridLayout_Reset(True)
@@ -3800,7 +3850,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
BarButtonItemGhostMode.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
_Init.InitUserLogin()
GetBaseData("InactivateGM")
LoadNavBar()
'LoadNavBar()
Await Decide_Load(False)
If GridControlWorkflows.Visible = True And FormOpenClose = False Then RefreshHelper.LoadViewInfo()
End Sub
@@ -4155,7 +4205,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
CURRENT_DT_MASS_CHANGE_DOCS = NewDatatable
TimerRefresh.Enabled = False
frmMassValidator.ShowDialog()
LoadNavBar()
'LoadNavBar()
Await Decide_Load(False)
Else
'Dim oMSG = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("MASS_ERROR_WINDREAM")
@@ -4353,7 +4403,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
Dim oSqlQuery As Object = oNode.GetValue("SQL_QUERY")
Dim oProfileTitle As Object = oNode.GetValue("NAME")
LOGGER.Debug($"TreeList1 Node selected - PK_CFG_COCKPIT_DEFINITION_ID:[{oCockpitConfigID}] NAME:[{oProfileTitle}] TYPE_ID:[{oTypeId}] FK_PROFILE_ID:[{oFkProfileId}]")
LOGGER.Debug($"TreeList_Cockpit Node selected - PK_CFG_COCKPIT_DEFINITION_ID:[{oCockpitConfigID}] NAME:[{oProfileTitle}] TYPE_ID:[{oTypeId}] FK_PROFILE_ID:[{oFkProfileId}]")
If oTypeId Is Nothing OrElse IsDBNull(oTypeId) Then
LOGGER.Debug("ProcessTreeListNodeAsync: TYPE_ID is Nothing/DBNull - Folder node, skipping")
@@ -4374,7 +4424,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
Select Case oTypeIdInt
Case 0
LOGGER.Debug("TreeList1: Loading overview")
LOGGER.Debug("TreeList_Cockpit: Loading overview")
OverviewOrDEtail = "OVERVIEW"
GRID_LOAD_TYPE = "OVERVIEW"
@@ -4385,7 +4435,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
OVERVIEW_ADDED_WHEN = ""
End If
If IsDBNull(oSqlQuery) OrElse String.IsNullOrWhiteSpace(oSqlQuery?.ToString()) Then
LOGGER.Warn($"TreeList1: SQL_QUERY for ProfileID {oFkProfileId} is DBNull or empty for overview node - this should not happen, check data integrity of TreeList's DataSource")
LOGGER.Warn($"TreeList_Cockpit: SQL_QUERY for ProfileID {oFkProfileId} is DBNull or empty for overview node - this should not happen, check data integrity of TreeList's DataSource")
Exit Function
End If
CURRENT_CLICKED_PROFILE_ID = 0
@@ -4407,7 +4457,7 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
End If
If GridViewWorkflows.GroupCount = 0 AndAlso Not IsNothing(GridViewWorkflows.Columns("GROUP_TEXT")) Then
LOGGER.Info("TreeList1: NO GROUPS AFTER CLICK OVERVIEW - creating groups...")
LOGGER.Info("TreeList_Cockpit: NO GROUPS AFTER CLICK OVERVIEW - creating groups...")
Await Decide_Load(False, True)
If GridControlWorkflows.Visible = True And FormOpenClose = False Then
RefreshHelper.LoadViewInfo()
@@ -4416,29 +4466,29 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
Case 1
If oFkProfileId Is Nothing OrElse IsDBNull(oFkProfileId) Then
LOGGER.Warn("TreeList1: TYPE_ID=1 but FK_PROFILE_ID is Nothing/DBNull")
LOGGER.Warn("TreeList_Cockpit: TYPE_ID=1 but FK_PROFILE_ID is Nothing/DBNull")
Exit Function
End If
Dim oProfileId As Integer = CInt(oFkProfileId)
LOGGER.Debug($"TreeList1: Profile node clicked - FK_PROFILE_ID:[{oProfileId}]")
LOGGER.Debug($"TreeList_Cockpit: Profile node clicked - FK_PROFILE_ID:[{oProfileId}]")
If CURRENT_CLICKED_PROFILE_ID = oProfileId Then
LOGGER.Debug($"TreeList1: Profile [{oProfileId}] is already active - ignoring click")
LOGGER.Debug($"TreeList_Cockpit: Profile [{oProfileId}] is already active - ignoring click")
Exit Function
End If
LOGGER.Debug($"TreeList1: Loading profile with ID [{oProfileId}]...")
LOGGER.Debug($"TreeList_Cockpit: Loading profile with ID [{oProfileId}]...")
' ===== ANZAHL-SUFFIX ENTFERNEN (von AppendCountsToTreeAsync angehängt: "Titel (42)" → "Titel") =====
Dim oCleanProfileTitle As String = oProfileTitle?.ToString()
Dim oSuffixMatch = System.Text.RegularExpressions.Regex.Match(oCleanProfileTitle, "^(.*)\s+\(\d+\)$")
If oSuffixMatch.Success Then
oCleanProfileTitle = oSuffixMatch.Groups(1).Value.Trim()
LOGGER.Debug($"TreeList1: Stripped count suffix from title [{oProfileTitle}] → [{oCleanProfileTitle}]")
LOGGER.Debug($"TreeList_Cockpit: Stripped count suffix from title [{oProfileTitle}] → [{oCleanProfileTitle}]")
End If
OverviewOrDEtail = "DETAIL"
@@ -4459,31 +4509,32 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
End Try
Case 2
If oSqlQuery Is Nothing OrElse IsDBNull(oSqlQuery) Then
Dim oMONITOR_ID As Object = oNode.GetValue("FK_MONITOR_ID")
If oMONITOR_ID Is Nothing OrElse IsDBNull(oMONITOR_ID) Then
LOGGER.Warn($"TreeList_Cockpit: TYPE_ID=2 but FK_MONITOR_ID is Nothing/DBNull - PK_CFG_COCKPIT_DEFINITION_ID:[{oCockpitConfigID}]")
Exit Function
End If
Dim oSQL As String = oSqlQuery.ToString()
If String.IsNullOrWhiteSpace(oSQL) Then
COCKPIT_MONITOR_ID = oMONITOR_ID
If Not Application.OpenForms().OfType(Of frmMonitor).Any Then
frmMonitor.Show()
Else
MsgBox("Monitor is already open!", MsgBoxStyle.Information, "Information")
End If
Case 3
Dim oCHART_ID As Object = oNode.GetValue("FK_CHART_ID")
If oCHART_ID Is Nothing OrElse IsDBNull(oCHART_ID) Then
LOGGER.Warn($"TreeList_Cockpit: TYPE_ID=2 but FK_CHART_ID is Nothing/DBNull - PK_CFG_COCKPIT_DEFINITION_ID:[{oCockpitConfigID}]")
Exit Function
End If
LOGGER.Debug($"TreeList1: Executing custom SQL query from node")
oSQL = PrepareSQLWithReplacements(oSQL)
Dim oDT As DataTable = DatabaseFallback.GetDatatableECM(oSQL)
If oDT IsNot Nothing Then
LOGGER.Debug($"TreeList1 SQL result: {oDT.Rows.Count} rows")
DT_CURR_WF_ITEMS = oDT
NO_WORKFLOW_ITEMS = (oDT.Rows.Count = 0)
bindsourcegrid.DataSource = DT_CURR_WF_ITEMS
GridControlWorkflows.DataSource = bindsourcegrid
GridControlWorkflows.Visible = Not NO_WORKFLOW_ITEMS
UpdateGridCaption()
COCKPIT_CHART_ID = oCHART_ID
If Not Application.OpenForms().OfType(Of frmInvDashboard).Any Then
frmInvDashboard.Show()
Else
MsgBox("Dashboard is already open!", MsgBoxStyle.Information, "Information")
End If
Case Else
LOGGER.Debug($"ProcessTreeListNodeAsync: Unhandled TYPE_ID [{oTypeIdInt}]")
LOGGER.Warn($"ProcessTreeListNodeAsync: Unhandled TYPE_ID [{oTypeIdInt}] - PK_CFG_COCKPIT_DEFINITION_ID:[{oCockpitConfigID}]")
End Select
@@ -4510,4 +4561,8 @@ FROM VWPM_PROFILE_ACTIVE T WHERE T.GUID IN (SELECT PROFILE_ID FROM [dbo].[FNPM_G
LOGGER.Error(ex)
End Try
End Sub
Private Sub BarButtonItemCock_refresh_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItemCock_refresh.ItemClick
Load_Treeview()
End Sub
End Class

View File

@@ -211,20 +211,20 @@ Public Class frmMonitor
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2
LoadGrid1Layout()
LoadGrid2Layout()
LoadGridLayout(1)
LoadGridLayout(2)
SplitContainerControl1.SplitterPosition = CONFIG.Config.MonitorSplitter1_Distance
Case 3
LoadGrid1Layout()
LoadGrid2Layout()
LoadGrid3Layout()
LoadGridLayout(1)
LoadGridLayout(2)
LoadGridLayout(3)
SplitContainerControl1.SplitterPosition = CONFIG.Config.MonitorSplitter1_Distance
SplitContainerControl2.SplitterPosition = CONFIG.Config.MonitorSplitter2_Distance
Case 4
LoadGrid1Layout()
LoadGrid2Layout()
LoadGrid3Layout()
LoadGrid4Layout()
LoadGridLayout(1)
LoadGridLayout(2)
LoadGridLayout(3)
LoadGridLayout(4)
SplitContainerControl1.SplitterPosition = CONFIG.Config.MonitorSplitter1_Distance
SplitContainerControl2.SplitterPosition = CONFIG.Config.MonitorSplitter2_Distance
SplitContainerControl3.SplitterPosition = CONFIG.Config.MonitorSplitter3_Distance
@@ -243,212 +243,140 @@ Public Class frmMonitor
Async Function Load_Grid_Data() As Threading.Tasks.Task
Try
FormShown = False
Dim oSQL = "SELECT * FROM TBPM_MONITOR_KONFIG"
Dim oSQL = $"SELECT * FROM TBPM_MONITOR_KONFIG (NOLOCK) WHERE COCKPIT_ID = {COCKPIT_MONITOR_ID}"
DT_MONITOR_KONFIG = DatabaseFallback.GetDatatableECM(oSQL) ', "Monitor-Load_Grid_Data1")
If Not IsNothing(DT_MONITOR_KONFIG) Then
If DT_MONITOR_KONFIG.Rows.Count >= 1 Then
oSQL = DT_MONITOR_KONFIG.Rows(0).Item("GRID_SQL")
GridView1.Columns.Clear()
Dim oDTGRID1 As DataTable = Await DatabaseFallback.GetDatatableECMAsync(oSQL) ', "Monitor-Load_Grid_Data2")
GridControl1.DataSource = oDTGRID1
GRID1_TITLE = DT_MONITOR_KONFIG.Rows(0).Item("GRID_TITLE")
GridView1.ViewCaption = GRID1_TITLE
Format_Datetime_Columns(GridView1, "Grid 1")
Try
'GridView1.Columns.Item("FULL_FILE_PATH").Visible = False
Catch ex As Exception
LOGGER.Info($"Attention: No Column FULL_FILE_PATH in GridView1")
End Try
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2
SplitContainerControl2.Collapsed = True
Case 3
SplitContainerControl3.Collapsed = True
Case Else
SplitContainerControl2.Collapsed = False
SplitContainerControl3.Collapsed = False
End Select
If DT_MONITOR_KONFIG.Rows.Count > 1 Then
GRID2_TITLE = DT_MONITOR_KONFIG.Rows(1).Item("GRID_TITLE")
GRID2_SQL = DT_MONITOR_KONFIG.Rows(1).Item("GRID_SQL")
GridView2.ViewCaption = GRID2_TITLE
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 3
GRID3_TITLE = DT_MONITOR_KONFIG.Rows(2).Item("GRID_TITLE")
GRID3_SQL = DT_MONITOR_KONFIG.Rows(2).Item("GRID_SQL")
GridView3.ViewCaption = GRID3_TITLE
Case 4
GRID3_TITLE = DT_MONITOR_KONFIG.Rows(2).Item("GRID_TITLE")
GRID3_SQL = DT_MONITOR_KONFIG.Rows(2).Item("GRID_SQL")
GridView3.ViewCaption = GRID3_TITLE
GRID4_TITLE = DT_MONITOR_KONFIG.Rows(3).Item("GRID_TITLE")
GRID4_SQL = DT_MONITOR_KONFIG.Rows(3).Item("GRID_SQL")
GridView4.ViewCaption = GRID4_TITLE
End Select
End If
End If
If DT_MONITOR_KONFIG Is Nothing OrElse DT_MONITOR_KONFIG.Rows.Count = 0 Then
MsgBox("No configuration found for this monitor cockpit. Please contact your administrator.", MsgBoxStyle.Critical, "No Configuration")
Me.Close()
End If
oSQL = DT_MONITOR_KONFIG.Rows(0).Item("GRID_SQL")
GridView1.Columns.Clear()
Dim oDTGRID1 As DataTable = Await DatabaseFallback.GetDatatableECMAsync(oSQL) ', "Monitor-Load_Grid_Data2")
GridControl1.DataSource = oDTGRID1
GRID1_TITLE = DT_MONITOR_KONFIG.Rows(0).Item("GRID_TITLE")
GridView1.ViewCaption = GRID1_TITLE
Format_Datetime_Columns(GridView1, "Grid 1")
Try
'GridView1.Columns.Item("FULL_FILE_PATH").Visible = False
Catch ex As Exception
LOGGER.Info($"Attention: No Column FULL_FILE_PATH in GridView1")
End Try
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2
SplitContainerControl2.Collapsed = True
Case 3
SplitContainerControl3.Collapsed = True
Case Else
SplitContainerControl2.Collapsed = False
SplitContainerControl3.Collapsed = False
End Select
If DT_MONITOR_KONFIG.Rows.Count > 1 Then
GRID2_TITLE = DT_MONITOR_KONFIG.Rows(1).Item("GRID_TITLE")
GRID2_SQL = DT_MONITOR_KONFIG.Rows(1).Item("GRID_SQL")
GridView2.ViewCaption = GRID2_TITLE
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 3
GRID3_TITLE = DT_MONITOR_KONFIG.Rows(2).Item("GRID_TITLE")
GRID3_SQL = DT_MONITOR_KONFIG.Rows(2).Item("GRID_SQL")
GridView3.ViewCaption = GRID3_TITLE
Case 4
GRID3_TITLE = DT_MONITOR_KONFIG.Rows(2).Item("GRID_TITLE")
GRID3_SQL = DT_MONITOR_KONFIG.Rows(2).Item("GRID_SQL")
GridView3.ViewCaption = GRID3_TITLE
GRID4_TITLE = DT_MONITOR_KONFIG.Rows(3).Item("GRID_TITLE")
GRID4_SQL = DT_MONITOR_KONFIG.Rows(3).Item("GRID_SQL")
GridView4.ViewCaption = GRID4_TITLE
End Select
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Load_Grid_Data:")
Finally
FormShown = True
End Try
End Function
Sub LoadGrid1Layout()
Private Function GetGridLayoutPath(pGridNumber As Integer) As String
Dim oFilename As String = $"DevExpressGridViewMonitor_UserLayout_Grid{pGridNumber}_Cockpit{COCKPIT_MONITOR_ID}.xml"
Return System.IO.Path.Combine(USER_CONFIG_DIRECTORY, oFilename)
End Function
Private Sub SaveGridLayout(pGridNumber As Integer)
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid1.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
If File.Exists(xml) Then
GridView1.RestoreLayoutFromXml(xml, OptionsLayoutBase.FullLayout)
Dim oGridView As GridView = Nothing
Select Case pGridNumber
Case 1 : oGridView = GridView1
Case 2 : oGridView = GridView2
Case 3 : oGridView = GridView3
Case 4 : oGridView = GridView4
Case Else
LOGGER.Warn($"SaveGridLayout: Invalid grid number [{pGridNumber}]")
Exit Sub
End Select
oGridView.SaveLayoutToXml(GetGridLayoutPath(pGridNumber), OptionsLayoutBase.FullLayout)
LOGGER.Debug($"SaveGridLayout: Grid{pGridNumber} layout saved for Cockpit [{COCKPIT_MONITOR_ID}]")
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info($"Error while saving Grid{pGridNumber}Layout: {ex.Message}")
End Try
End Sub
Private Sub LoadGridLayout(pGridNumber As Integer)
Try
Dim oXml As String = GetGridLayoutPath(pGridNumber)
If Not File.Exists(oXml) Then Exit Sub
Dim oGridView As GridView = Nothing
Select Case pGridNumber
Case 1 : oGridView = GridView1
Case 2 : oGridView = GridView2
Case 3 : oGridView = GridView3
Case 4 : oGridView = GridView4
Case Else
LOGGER.Warn($"LoadGridLayout: Invalid grid number [{pGridNumber}]")
Exit Sub
End Select
oGridView.RestoreLayoutFromXml(oXml, OptionsLayoutBase.FullLayout)
LOGGER.Debug($"LoadGridLayout: Grid{pGridNumber} layout restored for Cockpit [{COCKPIT_MONITOR_ID}]")
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info($"Error while restoring Grid{pGridNumber}Layout: {ex.Message}")
End Try
End Sub
Private Sub RemoveGridLayout(pGridNumber As Integer)
Try
Dim oXml As String = GetGridLayoutPath(pGridNumber)
If File.Exists(oXml) Then
IO.File.Delete(oXml)
LOGGER.Debug($"RemoveGridLayout: Grid{pGridNumber} layout removed for Cockpit [{COCKPIT_MONITOR_ID}]")
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while restoring layout 1: " & ex.Message)
LOGGER.Info($"Error while removing Grid{pGridNumber}Layout: {ex.Message}")
End Try
End Sub
Sub LoadGrid2Layout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid2.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
If File.Exists(xml) Then
GridView2.RestoreLayoutFromXml(xml, OptionsLayoutBase.FullLayout)
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while restoring layout 2: " & ex.Message)
End Try
End Sub
Sub LoadGrid3Layout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid3.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
If File.Exists(xml) Then
GridView3.RestoreLayoutFromXml(xml, OptionsLayoutBase.FullLayout)
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while restoring layout 3: " & ex.Message)
End Try
End Sub
Sub LoadGrid4Layout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid4.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
If File.Exists(xml) Then
GridView4.RestoreLayoutFromXml(xml, OptionsLayoutBase.FullLayout)
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while restoring layout 4: " & ex.Message)
End Try
End Sub
Sub SaveGrid1layout()
Try
Dim o = USER_CONFIG_DIRECTORY
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid1.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
GridView1.SaveLayoutToXml(xml, OptionsLayoutBase.FullLayout)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving Grid1Layout: " & ex.Message)
End Try
End Sub
Sub RemoveLayout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid1.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
IO.File.Delete(xml)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving RemoveLayout1: " & ex.Message)
End Try
End Sub
Sub SaveGrid2layout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid2.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
GridView2.SaveLayoutToXml(xml, OptionsLayoutBase.FullLayout)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving Grid2Layout: " & ex.Message)
End Try
End Sub
Sub RemoveLayout2()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid2.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
IO.File.Delete(xml)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving RemoveLayout2: " & ex.Message)
End Try
End Sub
Sub SaveGrid3layout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid3.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
GridView3.SaveLayoutToXml(xml, OptionsLayoutBase.FullLayout)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving Grid3Layout: " & ex.Message)
End Try
End Sub
Sub RemoveLayout3()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid3.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
IO.File.Delete(xml)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving RemoveLayout3: " & ex.Message)
End Try
End Sub
Sub SaveGrid4layout()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid4.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
GridView4.SaveLayoutToXml(xml, OptionsLayoutBase.FullLayout)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving Grid4Layout: " & ex.Message)
End Try
End Sub
Sub RemoveLayout4()
Try
Dim Filename As String = String.Format("DevExpressGridViewMonitor_UserLayout_Grid4.xml")
Dim xml As String = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, Filename)
IO.File.Delete(xml)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error while saving RemoveLayout4: " & ex.Message)
End Try
End Sub
Private Sub frmMonitor_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2
SaveGrid1layout()
SaveGrid2layout()
SaveGridLayout(1)
SaveGridLayout(2)
Case 3
SaveGrid1layout()
SaveGrid2layout()
SaveGrid3layout()
SaveGridLayout(1)
SaveGridLayout(2)
SaveGridLayout(3)
CONFIG.Config.MonitorSplitter1_Distance = SplitContainerControl1.SplitterPosition
CONFIG.Config.MonitorSplitter2_Distance = SplitContainerControl2.SplitterPosition
Case 4
SaveGrid1layout()
SaveGrid2layout()
SaveGrid3layout()
SaveGrid4layout()
SaveGridLayout(1)
SaveGridLayout(2)
SaveGridLayout(3)
SaveGridLayout(4)
CONFIG.Config.MonitorSplitter1_Distance = SplitContainerControl1.SplitterPosition
CONFIG.Config.MonitorSplitter2_Distance = SplitContainerControl2.SplitterPosition
CONFIG.Config.MonitorSplitter3_Distance = SplitContainerControl3.SplitterPosition
@@ -549,17 +477,17 @@ Public Class frmMonitor
Private Async Sub BarButtonItem4_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem4.ItemClick
Select Case DT_MONITOR_KONFIG.Rows.Count
Case 2
RemoveLayout()
RemoveLayout2()
RemoveGridLayout(1)
RemoveGridLayout(2)
Case 3
RemoveLayout()
RemoveLayout2()
RemoveLayout3()
RemoveGridLayout(1)
RemoveGridLayout(2)
RemoveGridLayout(3)
Case 4
RemoveLayout()
RemoveLayout2()
RemoveLayout3()
RemoveLayout4()
RemoveGridLayout(1)
RemoveGridLayout(2)
RemoveGridLayout(3)
RemoveGridLayout(4)
End Select
GridView1.ShowLoadingPanel()