Compare commits

...

29 Commits

Author SHA1 Message Date
4ffebf147a Monitor: version 1.7.1.0 - Anzeige von Caption und Comment 2026-05-08 10:13:11 +02:00
d1308d8b78 Monitor: Version 1.7.0.0 2026-03-06 12:27:35 +01:00
fca7d1e0ff Monitor: Datumsspalten im langen Format / UserID des aktuellen Users kann verwendet werden / Speicheroptimierte Abfragen ohne Transaktion 2026-03-06 12:26:18 +01:00
6912f290cd Referenzen aktualisiert. GDPicture Lizenz&nuget 2026-02-17 15:18:33 +01:00
4fa3a666ef Version 1.6.7.0 2023-10-13 10:56:54 +02:00
eb375f5183 Schrift im Baum immer Schwarz 2023-10-13 10:56:03 +02:00
06d27df934 Version 1.6.6.0 2023-10-13 10:08:04 +02:00
ba1af665db 2023-10-13 2023-10-13 10:07:18 +02:00
d1517335a8 DD Palette & DarkMode 2023-07-17 16:40:05 +02:00
142c3b1d10 Monitor: Version 1.6.5.0 2023-05-04 14:46:07 +02:00
566acb5c91 Farbauswahl, Zweiter Titel 2023-05-04 14:45:08 +02:00
09d0676e08 Monitor: Version 1.6.4.0 2023-04-17 14:48:39 +02:00
e8e30e8f62 Anzeige von Labels, Chart-Typ: StackedBar, Dateinamen für Chart-Export 2023-04-17 14:47:51 +02:00
e735a061d8 Chart-Logik: Export-Funktionen implementiert 2023-04-13 13:01:12 +02:00
eca0a779ca Monitor: Version 1.6.3.0 2023-04-12 13:47:13 +02:00
32bb0f3c0c EXPANDED-Funktion für Root-Knoten ergänzt 2023-04-12 13:46:26 +02:00
e85363d35d Monitor: Version 1.6.2.0 2023-04-11 12:57:03 +02:00
f19faeee75 ToUpper 2023-04-11 12:56:14 +02:00
768337e968 Monitor: Version 1.6.0.1 2023-04-06 09:18:50 +02:00
83de375e73 Buttons in RibbonNar für Chartviews deaktivieren, da ohne Funktion 2023-04-06 09:17:55 +02:00
e0ec88d763 Monitor: version 1.6.0.0 2023-04-05 11:04:19 +02:00
10dd22fe46 Bereinigungen 2023-04-05 11:03:17 +02:00
72a831619f Chart-Integration 2023-04-05 10:42:52 +02:00
41338b596e Monitor: Version 1.5.1.0 2023-03-06 16:54:07 +01:00
dcac655129 .Net 4.6.2 2023-03-06 16:53:31 +01:00
8406808bf1 Version 1.5.0 2023-02-20 13:53:12 +01:00
d841c4b414 URL-Links in Tabellen-Views. Umstrukturierung 2023-02-20 13:52:21 +01:00
d4d3933bf6 Version 1.4.0.0 2023-01-20 11:03:02 +01:00
9dec88843d Change .Net Version to 4.8 2023-01-20 10:59:05 +01:00
22 changed files with 1822 additions and 438 deletions

View File

@@ -1,11 +1,4 @@
Namespace Constants
'Public Const STATE_SUCCESS As String = "SUCCESS"
'Public Const STATE_FAILURE As String = "FAILURE"
'Public Const STATE_WARNING As String = "WARNING"
'Public Const STATE_WAITING As String = "WAITING"
'Public Const STATE_HIGHLIGHT As String = "HIGHLIGHT"
'Public Const STATE_DEFAULT As String = "DEFAULT"
'Public Const STATE_USER As String = "USER"
Public Class State
Public Const STATE_SUCCESS As String = "SUCCESS"
@@ -15,10 +8,26 @@
Public Const STATE_HIGHLIGHT As String = "HIGHLIGHT"
End Class
Public Class DDDefaultColors
Public Const CHART_BACKGROUND_COLOR As String = "#172146"
Public Const CHART_TEXT_COLOR As String = "#8E9EB0"
Public Const CHART_LEGEND_BACKGROUND_COLOR As String = "#172146"
Public Const CHART_LEGEND_TEXT_COLOR As String = "#8E9EB0"
Public Const PALETTE_COLOR_1 As String = "#6859F6"
Public Const PALETTE_COLOR_2 As String = "#F046C1"
Public Const PALETTE_COLOR_3 As String = "#5E246C"
Public Const PALETTE_COLOR_4 As String = "#5051A5"
Public Const PALETTE_COLOR_5 As String = "#5E6A83"
End Class
Public Enum ReturnTypeEnum
Undefined
Table
TreeView
ChartView
End Enum
Public Enum DataTypeEnum
@@ -34,4 +43,41 @@
List
SQL
End Enum
Public Enum ChartPosEnum
Undefined
TopLeft
BottomLeft
TopRight
BottomRight
End Enum
Public Enum ChartTypeEnum
Undefined
Bar
Line
Area
Pie
StackedBar
End Enum
Public Enum LabelTypeEnum
NoLabels
DefaultLabels
End Enum
Public Enum DesignTypeEnum
DefaultColors 'Office
Mixed
Office2013
Aspect
Solstice
DDDefault
End Enum
Public Enum SkinModeEnum
LightMode
DarkMode
End Enum
End Namespace

View File

@@ -0,0 +1,18 @@
Public Class ChartParameter
Public Id As Integer
Public Title As String
Public SerieTitle As String
Public ChartPos As Constants.ChartPosEnum
Public SQLCommand As String
Public ChartType As Constants.ChartTypeEnum
Public Argument As String
Public Value As String
Public SearchId As Integer
Public LabelType As Constants.LabelTypeEnum
Public DesignType As Constants.DesignTypeEnum
Public DesignBaseColor As Integer
Public Overrides Function ToString() As String
Return Title
End Function
End Class

View File

@@ -4,4 +4,5 @@ Public Class Config
<ConnectionString>
Public Property ConnectionString As String = String.Empty
Public Property Debug As Boolean = False
Public Property DarkMode As Boolean = False
End Class

View File

@@ -1,9 +1,12 @@
Public Class Search
Public Id As Integer
Public Title As String
Public Description As String
Public Caption As String
Public Comment As String
Public SQLCommand As String
Public ReturnType As Constants.ReturnTypeEnum
Public ExpectedParameterCount As Integer
Public UseMOTLogic As Boolean
Public Parameters As List(Of SearchParameter)

View File

@@ -23,6 +23,7 @@ Partial Class frmMonitor
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMonitor))
Dim PushTransition1 As DevExpress.Utils.Animation.PushTransition = New DevExpress.Utils.Animation.PushTransition()
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
Me.ApplicationMenu1 = New DevExpress.XtraBars.Ribbon.ApplicationMenu(Me.components)
@@ -37,11 +38,15 @@ Partial Class frmMonitor
Me.BarButtonItem2 = New DevExpress.XtraBars.BarButtonItem()
Me.lbVersion = New DevExpress.XtraBars.BarStaticItem()
Me.lbSearchTime = New DevExpress.XtraBars.BarStaticItem()
Me.btnExportChart2PDF = New DevExpress.XtraBars.BarButtonItem()
Me.btnExportChart2PNG = New DevExpress.XtraBars.BarButtonItem()
Me.btnDarkMode = New DevExpress.XtraBars.BarButtonItem()
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup3 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonPageGroup4 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.ribbonGroupEinstellungen = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
Me.XtraTabControlFileHTML = New DevExpress.XtraTab.XtraTabControl()
@@ -144,13 +149,13 @@ Partial Class frmMonitor
'
Me.RibbonControl1.ApplicationButtonDropDownControl = Me.ApplicationMenu1
Me.RibbonControl1.ExpandCollapseItem.Id = 0
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.buttonSearch, Me.BarButtonItem1, Me.btnExportDetails, Me.btnExportMain, Me.lbResultCount, Me.btnReloadSearches, Me.btnResetLayout, Me.BarButtonItem2, Me.lbVersion, Me.BarButtonItem3, Me.lbSearchTime})
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.RibbonControl1.SearchEditItem, Me.buttonSearch, Me.BarButtonItem1, Me.btnExportDetails, Me.btnExportMain, Me.lbResultCount, Me.btnReloadSearches, Me.btnResetLayout, Me.BarButtonItem2, Me.lbVersion, Me.BarButtonItem3, Me.lbSearchTime, Me.btnExportChart2PDF, Me.btnExportChart2PNG, Me.btnDarkMode})
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl1.MaxItemId = 14
Me.RibbonControl1.MaxItemId = 21
Me.RibbonControl1.Name = "RibbonControl1"
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
Me.RibbonControl1.ShowToolbarCustomizeItem = False
Me.RibbonControl1.Size = New System.Drawing.Size(1379, 160)
Me.RibbonControl1.Size = New System.Drawing.Size(1379, 158)
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
Me.RibbonControl1.Toolbar.ShowCustomizeItem = False
'
@@ -241,13 +246,36 @@ Partial Class frmMonitor
'
'lbSearchTime
'
Me.lbSearchTime.Caption = "BarStaticItem1"
Me.lbSearchTime.Caption = "lbSearchTime"
Me.lbSearchTime.Id = 13
Me.lbSearchTime.Name = "lbSearchTime"
'
'btnExportChart2PDF
'
Me.btnExportChart2PDF.Caption = "Export Charts als PDF"
Me.btnExportChart2PDF.Enabled = False
Me.btnExportChart2PDF.Id = 14
Me.btnExportChart2PDF.ImageOptions.SvgImage = CType(resources.GetObject("btnExportChart2PDF.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnExportChart2PDF.Name = "btnExportChart2PDF"
'
'btnExportChart2PNG
'
Me.btnExportChart2PNG.Caption = "Export Charts als Bild"
Me.btnExportChart2PNG.Enabled = False
Me.btnExportChart2PNG.Id = 15
Me.btnExportChart2PNG.ImageOptions.SvgImage = CType(resources.GetObject("btnExportChart2PNG.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnExportChart2PNG.Name = "btnExportChart2PNG"
'
'btnDarkMode
'
Me.btnDarkMode.Caption = "Dark Mode"
Me.btnDarkMode.Id = 20
Me.btnDarkMode.ImageOptions.SvgImage = CType(resources.GetObject("btnDarkMode.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.btnDarkMode.Name = "btnDarkMode"
'
'RibbonPage1
'
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup3, Me.RibbonPageGroup2, Me.RibbonPageGroup4})
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup3, Me.RibbonPageGroup2, Me.RibbonPageGroup4, Me.ribbonGroupEinstellungen})
Me.RibbonPage1.Name = "RibbonPage1"
Me.RibbonPage1.Text = "Start"
'
@@ -270,6 +298,8 @@ Partial Class frmMonitor
Me.RibbonPageGroup2.Alignment = DevExpress.XtraBars.Ribbon.RibbonPageGroupAlignment.Far
Me.RibbonPageGroup2.ItemLinks.Add(Me.btnExportMain)
Me.RibbonPageGroup2.ItemLinks.Add(Me.btnExportDetails)
Me.RibbonPageGroup2.ItemLinks.Add(Me.btnExportChart2PDF)
Me.RibbonPageGroup2.ItemLinks.Add(Me.btnExportChart2PNG)
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
Me.RibbonPageGroup2.Text = "Export"
'
@@ -280,15 +310,21 @@ Partial Class frmMonitor
Me.RibbonPageGroup4.Name = "RibbonPageGroup4"
Me.RibbonPageGroup4.Text = "Suche"
'
'ribbonGroupEinstellungen
'
Me.ribbonGroupEinstellungen.ItemLinks.Add(Me.btnDarkMode)
Me.ribbonGroupEinstellungen.Name = "ribbonGroupEinstellungen"
Me.ribbonGroupEinstellungen.Text = "Einstellungen"
'
'RibbonStatusBar1
'
Me.RibbonStatusBar1.ItemLinks.Add(Me.lbResultCount)
Me.RibbonStatusBar1.ItemLinks.Add(Me.lbVersion)
Me.RibbonStatusBar1.ItemLinks.Add(Me.lbSearchTime)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 749)
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 747)
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1379, 22)
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1379, 24)
'
'RibbonPage2
'
@@ -309,7 +345,7 @@ Partial Class frmMonitor
'
Me.XtraTabPageFile1.Controls.Add(Me.DocumentViewer1)
Me.XtraTabPageFile1.Name = "XtraTabPageFile1"
Me.XtraTabPageFile1.Size = New System.Drawing.Size(388, 564)
Me.XtraTabPageFile1.Size = New System.Drawing.Size(388, 562)
Me.XtraTabPageFile1.Text = "File 1"
'
'DocumentViewer1
@@ -318,14 +354,15 @@ Partial Class frmMonitor
Me.DocumentViewer1.FileLoaded = False
Me.DocumentViewer1.Location = New System.Drawing.Point(0, 0)
Me.DocumentViewer1.Name = "DocumentViewer1"
Me.DocumentViewer1.Size = New System.Drawing.Size(388, 564)
Me.DocumentViewer1.Size = New System.Drawing.Size(388, 562)
Me.DocumentViewer1.TabIndex = 0
Me.DocumentViewer1.Viewer_ForceTemporaryMode = False
'
'XtraTabPageFile2
'
Me.XtraTabPageFile2.Controls.Add(Me.DocumentViewer2)
Me.XtraTabPageFile2.Name = "XtraTabPageFile2"
Me.XtraTabPageFile2.Size = New System.Drawing.Size(388, 564)
Me.XtraTabPageFile2.Size = New System.Drawing.Size(388, 562)
Me.XtraTabPageFile2.Text = "File 2"
'
'DocumentViewer2
@@ -334,14 +371,15 @@ Partial Class frmMonitor
Me.DocumentViewer2.FileLoaded = False
Me.DocumentViewer2.Location = New System.Drawing.Point(0, 0)
Me.DocumentViewer2.Name = "DocumentViewer2"
Me.DocumentViewer2.Size = New System.Drawing.Size(388, 564)
Me.DocumentViewer2.Size = New System.Drawing.Size(388, 562)
Me.DocumentViewer2.TabIndex = 1
Me.DocumentViewer2.Viewer_ForceTemporaryMode = False
'
'XtraTabPageHtml1
'
Me.XtraTabPageHtml1.Controls.Add(Me.RichEditControl1)
Me.XtraTabPageHtml1.Name = "XtraTabPageHtml1"
Me.XtraTabPageHtml1.Size = New System.Drawing.Size(388, 564)
Me.XtraTabPageHtml1.Size = New System.Drawing.Size(388, 562)
Me.XtraTabPageHtml1.Text = "HTML 1"
'
'RichEditControl1
@@ -354,14 +392,14 @@ Partial Class frmMonitor
Me.RichEditControl1.Name = "RichEditControl1"
Me.RichEditControl1.Options.HorizontalRuler.Visibility = DevExpress.XtraRichEdit.RichEditRulerVisibility.Hidden
Me.RichEditControl1.Options.VerticalRuler.Visibility = DevExpress.XtraRichEdit.RichEditRulerVisibility.Hidden
Me.RichEditControl1.Size = New System.Drawing.Size(388, 564)
Me.RichEditControl1.Size = New System.Drawing.Size(388, 562)
Me.RichEditControl1.TabIndex = 0
'
'XtraTabPageHtml2
'
Me.XtraTabPageHtml2.Controls.Add(Me.RichEditControl2)
Me.XtraTabPageHtml2.Name = "XtraTabPageHtml2"
Me.XtraTabPageHtml2.Size = New System.Drawing.Size(388, 564)
Me.XtraTabPageHtml2.Size = New System.Drawing.Size(388, 562)
Me.XtraTabPageHtml2.Text = "HTML 2"
'
'RichEditControl2
@@ -372,7 +410,7 @@ Partial Class frmMonitor
Me.RichEditControl2.Location = New System.Drawing.Point(0, 0)
Me.RichEditControl2.MenuManager = Me.RibbonControl1
Me.RichEditControl2.Name = "RichEditControl2"
Me.RichEditControl2.Size = New System.Drawing.Size(388, 564)
Me.RichEditControl2.Size = New System.Drawing.Size(388, 562)
Me.RichEditControl2.TabIndex = 1
'
'GridControl1
@@ -382,7 +420,7 @@ Partial Class frmMonitor
Me.GridControl1.MainView = Me.GridView1
Me.GridControl1.MenuManager = Me.RibbonControl1
Me.GridControl1.Name = "GridControl1"
Me.GridControl1.Size = New System.Drawing.Size(730, 373)
Me.GridControl1.Size = New System.Drawing.Size(730, 371)
Me.GridControl1.TabIndex = 0
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1})
'
@@ -456,6 +494,7 @@ Partial Class frmMonitor
Me.LayoutControl2.Dock = System.Windows.Forms.DockStyle.Top
Me.LayoutControl2.Location = New System.Drawing.Point(0, 0)
Me.LayoutControl2.Name = "LayoutControl2"
Me.LayoutControl2.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = New System.Drawing.Rectangle(249, 90, 650, 400)
Me.LayoutControl2.Root = Me.LayoutControlGroup1
Me.LayoutControl2.Size = New System.Drawing.Size(235, 83)
Me.LayoutControl2.TabIndex = 1
@@ -478,7 +517,7 @@ Partial Class frmMonitor
Me.LayoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.LayoutControlGroup1.GroupBordersVisible = False
Me.LayoutControlGroup1.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.lbParams, Me.EmptySpaceItem1})
Me.LayoutControlGroup1.Name = "LayoutControlGroup1"
Me.LayoutControlGroup1.Name = "Root"
Me.LayoutControlGroup1.Padding = New DevExpress.XtraLayout.Utils.Padding(10, 10, 10, 0)
Me.LayoutControlGroup1.Size = New System.Drawing.Size(235, 83)
Me.LayoutControlGroup1.TextVisible = False
@@ -549,7 +588,7 @@ Partial Class frmMonitor
'
Me.XtraTabPageSQL1.Controls.Add(Me.GridControl2)
Me.XtraTabPageSQL1.Name = "XtraTabPageSQL1"
Me.XtraTabPageSQL1.Size = New System.Drawing.Size(730, 373)
Me.XtraTabPageSQL1.Size = New System.Drawing.Size(730, 371)
Me.XtraTabPageSQL1.Text = "SQL 1"
'
'GridControl2
@@ -559,7 +598,7 @@ Partial Class frmMonitor
Me.GridControl2.MainView = Me.GridView2
Me.GridControl2.MenuManager = Me.RibbonControl1
Me.GridControl2.Name = "GridControl2"
Me.GridControl2.Size = New System.Drawing.Size(730, 373)
Me.GridControl2.Size = New System.Drawing.Size(730, 371)
Me.GridControl2.TabIndex = 1
Me.GridControl2.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView2})
'
@@ -572,7 +611,7 @@ Partial Class frmMonitor
'
Me.XtraTabPageSQL2.Controls.Add(Me.GridControl3)
Me.XtraTabPageSQL2.Name = "XtraTabPageSQL2"
Me.XtraTabPageSQL2.Size = New System.Drawing.Size(730, 373)
Me.XtraTabPageSQL2.Size = New System.Drawing.Size(730, 371)
Me.XtraTabPageSQL2.Text = "SQL 2"
'
'GridControl3
@@ -582,7 +621,7 @@ Partial Class frmMonitor
Me.GridControl3.MainView = Me.GridView3
Me.GridControl3.MenuManager = Me.RibbonControl1
Me.GridControl3.Name = "GridControl3"
Me.GridControl3.Size = New System.Drawing.Size(730, 373)
Me.GridControl3.Size = New System.Drawing.Size(730, 371)
Me.GridControl3.TabIndex = 1
Me.GridControl3.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView3})
'
@@ -595,7 +634,7 @@ Partial Class frmMonitor
'
Me.XtraTabPageSQL3.Controls.Add(Me.GridControl4)
Me.XtraTabPageSQL3.Name = "XtraTabPageSQL3"
Me.XtraTabPageSQL3.Size = New System.Drawing.Size(730, 373)
Me.XtraTabPageSQL3.Size = New System.Drawing.Size(730, 371)
Me.XtraTabPageSQL3.Text = "SQL 3"
'
'GridControl4
@@ -605,7 +644,7 @@ Partial Class frmMonitor
Me.GridControl4.MainView = Me.GridView4
Me.GridControl4.MenuManager = Me.RibbonControl1
Me.GridControl4.Name = "GridControl4"
Me.GridControl4.Size = New System.Drawing.Size(730, 373)
Me.GridControl4.Size = New System.Drawing.Size(730, 371)
Me.GridControl4.TabIndex = 1
Me.GridControl4.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView4})
'
@@ -618,7 +657,7 @@ Partial Class frmMonitor
'
Me.XtraTabPageSQL4.Controls.Add(Me.GridControl1)
Me.XtraTabPageSQL4.Name = "XtraTabPageSQL4"
Me.XtraTabPageSQL4.Size = New System.Drawing.Size(730, 373)
Me.XtraTabPageSQL4.Size = New System.Drawing.Size(730, 371)
Me.XtraTabPageSQL4.Text = "SQL 4"
'
'SplitContainerFileHTML
@@ -644,7 +683,7 @@ Partial Class frmMonitor
'XtraTabControl2
'
Me.XtraTabControl2.Dock = System.Windows.Forms.DockStyle.Fill
Me.XtraTabControl2.Location = New System.Drawing.Point(0, 160)
Me.XtraTabControl2.Location = New System.Drawing.Point(0, 158)
Me.XtraTabControl2.Name = "XtraTabControl2"
Me.XtraTabControl2.SelectedTabPage = Me.XtraTabPage3
Me.XtraTabControl2.ShowTabHeader = DevExpress.Utils.DefaultBoolean.[False]
@@ -820,4 +859,8 @@ Partial Class frmMonitor
Friend WithEvents lbVersion As DevExpress.XtraBars.BarStaticItem
Friend WithEvents BarButtonItem3 As DevExpress.XtraBars.BarButtonItem
Friend WithEvents lbSearchTime As DevExpress.XtraBars.BarStaticItem
Friend WithEvents btnExportChart2PDF As DevExpress.XtraBars.BarButtonItem
Friend WithEvents btnExportChart2PNG As DevExpress.XtraBars.BarButtonItem
Friend WithEvents ribbonGroupEinstellungen As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents btnDarkMode As DevExpress.XtraBars.BarButtonItem
End Class

View File

@@ -0,0 +1,224 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="ApplicationMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>359, 17</value>
</metadata>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="btnExportChart2PDF.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABoHAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs
YWNre2ZpbGw6IzcyNzI3Mjt9Cgkuc3Qwe29wYWNpdHk6MC4yO30KPC9zdHlsZT4NCiAgPHBhdGggZD0i
TTgsNGgxOHY2aDJWM2MwLTAuNS0wLjUtMS0xLTFIN0M2LjUsMiw2LDIuNSw2LDN2N2gyVjR6IiBjbGFz
cz0iQmxhY2siIC8+DQogIDxwYXRoIGQ9Ik0yNiwyNkg4VjE2SDZ2MTFjMCwwLjUsMC41LDEsMSwxaDIw
YzAuNSwwLDEtMC41LDEtMVYxNmgtMlYyNnoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPHBhdGggZD0iTTEw
LjMsMTEuNkg5LjZWMTRoMC42YzAuOSwwLDEuMy0wLjQsMS4zLTEuMkMxMS41LDEyLDExLjEsMTEuNiwx
MC4zLDExLjZ6IiBjbGFzcz0iUmVkIiAvPg0KICA8cGF0aCBkPSJNMTYuNywxMS43aC0wLjh2NC45aDAu
OGMwLjcsMCwxLjMtMC4yLDEuNi0wLjdzMC42LTEuMSwwLjYtMS44YzAtMC43LTAuMi0xLjMtMC42LTEu
NyAgQzE4LDExLjksMTcuNCwxMS43LDE2LjcsMTEuN3oiIGNsYXNzPSJSZWQiIC8+DQogIDxwYXRoIGQ9
Ik0yOSw4SDVDNC40LDgsNCw4LjQsNCw5djEwYzAsMC42LDAuNCwxLDEsMWgyNGMwLjYsMCwxLTAuNCwx
LTFWOUMzMCw4LjQsMjkuNiw4LDI5LDh6IE0xMi41LDE0LjYgIGMtMC41LDAuNS0xLjIsMC43LTIuMSww
LjdIOS42VjE4SDh2LTcuN2gyLjVjMS44LDAsMi43LDAuOCwyLjcsMi41QzEzLjIsMTMuNSwxMywxNC4y
LDEyLjUsMTQuNnogTTE5LjYsMTYuOSAgQzE4LjksMTcuNiwxOCwxOCwxNi44LDE4aC0yLjV2LTcuN2gy
LjVjMi41LDAsMy44LDEuMywzLjgsMy44QzIwLjcsMTUuMywyMC4zLDE2LjIsMTkuNiwxNi45eiBNMjYs
MTEuN2gtMi41djEuOWgyLjNWMTVoLTIuM3YzICBoLTEuNnYtNy43SDI2VjExLjd6IiBjbGFzcz0iUmVk
IiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cGF0aCBkPSJNMTAuMywxMS42SDkuNlYxNGgwLjZj
MC45LDAsMS4zLTAuNCwxLjMtMS4yQzExLjUsMTIsMTEuMSwxMS42LDEwLjMsMTEuNnoiIGNsYXNzPSJC
bGFjayIgLz4NCiAgICA8cGF0aCBkPSJNMTYuNywxMS43aC0wLjh2NC45aDAuOGMwLjcsMCwxLjMtMC4y
LDEuNi0wLjdzMC42LTEuMSwwLjYtMS44YzAtMC43LTAuMi0xLjMtMC42LTEuNyAgIEMxOCwxMS45LDE3
LjQsMTEuNywxNi43LDExLjd6IiBjbGFzcz0iQmxhY2siIC8+DQogICAgPHBhdGggZD0iTTI5LDhINUM0
LjQsOCw0LDguNCw0LDl2MTBjMCwwLjYsMC40LDEsMSwxaDI0YzAuNiwwLDEtMC40LDEtMVY5QzMwLDgu
NCwyOS42LDgsMjksOHogTTEyLjUsMTQuNiAgIGMtMC41LDAuNS0xLjIsMC43LTIuMSwwLjdIOS42VjE4
SDh2LTcuN2gyLjVjMS44LDAsMi43LDAuOCwyLjcsMi41QzEzLjIsMTMuNSwxMywxNC4yLDEyLjUsMTQu
NnogTTE5LjYsMTYuOSAgIEMxOC45LDE3LjYsMTgsMTgsMTYuOCwxOGgtMi41di03LjdoMi41YzIuNSww
LDMuOCwxLjMsMy44LDMuOEMyMC43LDE1LjMsMjAuMywxNi4yLDE5LjYsMTYuOXogTTI2LDExLjdoLTIu
NXYxLjloMi4zVjE1aC0yLjN2MyAgIGgtMS42di03LjdIMjZWMTEuN3oiIGNsYXNzPSJCbGFjayIgLz4N
CiAgPC9nPg0KPC9zdmc+Cw==
</value>
</data>
<data name="btnExportChart2PNG.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANECAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iUGljdHVyZSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
R3JlZW57ZmlsbDojMDM5QzIzO30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5zdDB7b3BhY2l0eTow
LjU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMjksNEgzQzIuNSw0LDIsNC41LDIsNXYyMmMwLDAuNSww
LjUsMSwxLDFoMjZjMC41LDAsMS0wLjUsMS0xVjVDMzAsNC41LDI5LjUsNCwyOSw0eiBNMjgsMjZINFY2
aDI0VjI2eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8Y2lyY2xlIGN4PSIyMSIgY3k9IjExIiByPSIzIiBj
bGFzcz0iWWVsbG93IiAvPg0KICA8cG9seWdvbiBwb2ludHM9IjIwLDI0IDEwLDE0IDYsMTggNiwyNCAi
IGNsYXNzPSJHcmVlbiIgLz4NCiAgPGcgY2xhc3M9InN0MCI+DQogICAgPHBvbHlnb24gcG9pbnRzPSIy
MiwyNCAxOCwyMCAyMCwxOCAyNiwyNCAgIiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<data name="btnDarkMode.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOYEAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlllbGxvd3tmaWxsOiNGRkIxMTU7fQoJ
LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3
RDc7fQoJLldoaXRle2ZpbGw6I0ZGRkZGRjt9CgkuR3JlZW57ZmlsbDojMDM5QzIzO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tm
aWxsOiNGRkIxMTU7fQo8L3N0eWxlPg0KICA8ZyAvPg0KICA8ZyBpZD0iTG9jYWxDb2xvcnMiPg0KICAg
IDxwYXRoIGQ9Ik0zMSwxMEgxMWMtMC41LDAtMSwwLjUtMSwxdjIwYzAsMC41LDAuNSwxLDEsMWgyMGMw
LjUsMCwxLTAuNSwxLTFWMTFDMzIsMTAuNSwzMS41LDEwLDMxLDEweiBNMzAsMzBIMTJWMTIgICBoMThW
MzB6IE0xMCwyMkgxYy0wLjUsMC0xLTAuNS0xLTFWMWMwLTAuNSwwLjUtMSwxLTFoMjBjMC41LDAsMSww
LjUsMSwxdjloLTJWMkgydjE4aDhWMjJ6IiBjbGFzcz0iQmxhY2siIC8+DQogICAgPHBhdGggZD0iTTgs
MThINHYtNmg0VjE4eiBNMjgsMjBoLTZ2LTZoNlYyMHogTTIwLDI4aC02di02aDZWMjh6IE05LDhoMVY0
SDR2Nmg0VjlDOCw4LjQsOC40LDgsOSw4eiIgY2xhc3M9IlllbGxvdyIgLz4NCiAgICA8cGF0aCBkPSJN
MTgsOGgtNlY0aDZWOHoiIGNsYXNzPSJSZWQiIC8+DQogICAgPHBhdGggZD0iTTIwLDIwaC02di02aDZW
MjB6IE0yOCwyMGgtNnYtNmg2VjIweiIgY2xhc3M9IkdyZWVuIiAvPg0KICAgIDxwYXRoIGQ9Ik0yOCwy
OGgtNnYtNmg2VjI4eiIgY2xhc3M9IkJsdWUiIC8+DQogICAgPGcgY2xhc3M9InN0MSI+DQogICAgICA8
cGF0aCBkPSJNMjAsMjhoLTZ2LTZoNlYyOHoiIGNsYXNzPSJHcmVlbiIgLz4NCiAgICAgIDxwYXRoIGQ9
Ik0yOCwyMGgtNnYtNmg2VjIweiIgY2xhc3M9IkJsdWUiIC8+DQogICAgICA8cGF0aCBkPSJNOCwxOEg0
di02aDRWMTh6IiBjbGFzcz0iUmVkIiAvPg0KICAgIDwvZz4NCiAgPC9nPg0KPC9zdmc+Cw==
</value>
</data>
<metadata name="SvgImageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>193, 17</value>
</metadata>
<metadata name="XtraSaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>511, 17</value>
</metadata>
<metadata name="AdornerUIManager2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>668, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>35</value>
</metadata>
<metadata name="WorkspaceManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>829, 17</value>
</metadata>
</root>

View File

@@ -1,10 +1,15 @@
Imports DevExpress.Utils
Imports DevExpress.LookAndFeel
Imports DevExpress.Utils
Imports DevExpress.Utils.Extensions
Imports DevExpress.XtraCharts
Imports DevExpress.XtraEditors
Imports DevExpress.XtraEditors.Controls
Imports DevExpress.XtraEditors.Repository
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraTreeList
Imports DigitalData.GUIs.Common
Imports DigitalData.GUIs.Monitor.Constants
Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Logging
@@ -20,6 +25,8 @@ Public Class GridLoader
Public ReadOnly Property SvgImageCollection As SvgImageCollection
Public ReadOnly Property GridBuilder As GridBuilder
Public Event ChartControlClicked As EventHandler
Private ReadOnly StateIcons As New Dictionary(Of String, NodeImage) From {
{STATE_SUCCESS, NodeImage.Success},
{STATE_FAILURE, NodeImage.Failure}
@@ -75,11 +82,82 @@ Public Class GridLoader
GridBuilder.SetDefaults(oView)
GridBuilder.SetClipboardHandler(oView)
GridBuilder.SetReadOnlyOptions(oView)
' GridBuilder.SetReadOnlyOptions(oView)
' TODO Spalten die nicht HyperLinks sind readonly machen
Return oGrid
End Function
Public Function InitChartViewResultContainer() As SplitContainerControl
' Vorbereiten der SplitContainer-Struktur inkl. der ChartControls
Dim oChartViewResultContainer As SplitContainerControl
Dim oSplitContainerTop As SplitContainerControl
Dim oSplitContainerBottom As SplitContainerControl
oChartViewResultContainer = New SplitContainerControl With {
.Name = "ChartViewResultContainer",
.Visible = False,
.Dock = DockStyle.Fill,
.Horizontal = False,
.IsSplitterFixed = True
}
oSplitContainerTop = New SplitContainerControl With {
.Name = "SplitContainerTop",
.Dock = DockStyle.Fill,
.Horizontal = True,
.IsSplitterFixed = True
}
oSplitContainerBottom = New SplitContainerControl With {
.Name = "SplitContainerBottom",
.Dock = DockStyle.Fill,
.Horizontal = True,
.IsSplitterFixed = True
}
oChartViewResultContainer.Panel1.AddControl(oSplitContainerTop)
oChartViewResultContainer.Panel2.AddControl(oSplitContainerBottom)
Dim oChartControlTopLeft As New ChartControl With {
.Name = "ChartControlTopLeft",
.Dock = DockStyle.Fill
}
Dim oChartControlTopRight As New ChartControl With {
.Name = "ChartControlTopRight",
.Dock = DockStyle.Fill
}
Dim oChartControlBottomLeft As New ChartControl With {
.Name = "ChartControlBottomLeft",
.Dock = DockStyle.Fill
}
Dim oChartControlBottomRight As New ChartControl With {
.Name = "ChartControlBottomRight",
.Dock = DockStyle.Fill
}
' Registrieren der Haus-eigenen Palette
oChartControlTopLeft.PaletteRepository.RegisterPalette(GetDDDefaulPalette())
oChartControlTopRight.PaletteRepository.RegisterPalette(GetDDDefaulPalette())
oChartControlBottomLeft.PaletteRepository.RegisterPalette(GetDDDefaulPalette())
oChartControlBottomRight.PaletteRepository.RegisterPalette(GetDDDefaulPalette())
AddHandler oChartControlTopLeft.Click, AddressOf ChartControl_Click
AddHandler oChartControlTopRight.Click, AddressOf ChartControl_Click
AddHandler oChartControlBottomLeft.Click, AddressOf ChartControl_Click
AddHandler oChartControlBottomRight.Click, AddressOf ChartControl_Click
oSplitContainerTop.Panel1.AddControl(oChartControlTopLeft)
oSplitContainerTop.Panel2.AddControl(oChartControlTopRight)
oSplitContainerBottom.Panel1.AddControl(oChartControlBottomLeft)
oSplitContainerBottom.Panel2.AddControl(oChartControlBottomRight)
Return oChartViewResultContainer
End Function
Private Sub ChartControl_Click(sender As Object, e As EventArgs)
RaiseEvent ChartControlClicked(sender, Nothing)
End Sub
Public Sub InitTreeListColumns(pTreeList As TreeList, pMaxLength As Integer)
Dim oColumn1 = pTreeList.Columns.Item("COLUMN1")
Dim oColumn2 = pTreeList.Columns.Item("COLUMN2")
@@ -176,4 +254,17 @@ Public Class GridLoader
Return oStateEdit
End Function
Public Function GetDDDefaulPalette() As Palette
' Digital Data Default Palette für Dark Mode
Dim palette As Palette = New Palette("DDDefault Palette")
palette.Add(ColorTranslator.FromHtml(DDDefaultColors.PALETTE_COLOR_1))
palette.Add(ColorTranslator.FromHtml(DDDefaultColors.PALETTE_COLOR_2))
palette.Add(ColorTranslator.FromHtml(DDDefaultColors.PALETTE_COLOR_3))
palette.Add(ColorTranslator.FromHtml(DDDefaultColors.PALETTE_COLOR_4))
palette.Add(ColorTranslator.FromHtml(DDDefaultColors.PALETTE_COLOR_5))
Return palette
End Function
End Class

View File

@@ -1,4 +1,5 @@
Imports DevExpress.Utils
Imports DevExpress.Data.ExpressionEditor
Imports DevExpress.Utils
Imports DevExpress.XtraEditors
Imports DevExpress.XtraEditors.Controls
Imports DevExpress.XtraLayout
@@ -42,9 +43,11 @@ Public Class ParameterLoader
End Function
Public Sub LoadParameters(pSearch As Search)
For Each oParam As SearchParameter In pSearch.Parameters
Dim oControl As Control
Dim oControl As Control
For Each oParam As SearchParameter In pSearch.Parameters
oControl = Nothing
Select Case oParam.DataType
Case Constants.DataTypeEnum.Boolean
Dim oDefaultValue As Boolean = GetDefaultValue(oParam)
@@ -52,7 +55,6 @@ Public Class ParameterLoader
.Text = oParam.Title,
.Checked = oDefaultValue
}
oControl = oCheckbox
@@ -127,9 +129,33 @@ Public Class ParameterLoader
oItem.TextLocation = Locations.Top
oItem.TextToControlDistance = 3
oItem.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 10, 0)
Next
If String.IsNullOrEmpty(pSearch.Caption) = False Then
' Beschreibung anzeigen
Dim oMemoEdit = New MemoEdit() With {
.EditValue = pSearch.Caption,
.ReadOnly = True,
.BorderStyle = BorderStyles.NoBorder
}
oMemoEdit.Name = "SearchCaption"
oMemoEdit.Tag = "SearchCaption"
oMemoEdit.Properties.ScrollBars = ScrollBars.None
If String.IsNullOrEmpty(pSearch.Comment) = False Then
oMemoEdit.ToolTip = pSearch.Comment
End If
Dim oItem1 As LayoutControlItem = LayoutControl.AddItem()
oItem1.Text = "Beschreibung:"
oItem1.Control = oMemoEdit
oItem1.TextLocation = Locations.Top
oItem1.TextToControlDistance = 3
oItem1.Padding = New DevExpress.XtraLayout.Utils.Padding(0, 0, 5, 0)
End If
End Sub
Private Function GetClearButtonForControl(pControl As Control) As EditorButton

View File

@@ -0,0 +1,283 @@
Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Imports DigitalData.GUIs.Monitor.Constants
Public Class SearchLoader
Inherits BaseClass
Private ReadOnly Config As Config
Private ReadOnly Database As MSSQLServer
Private _currentUserId As Int16 = 0
Public Searches As New List(Of Search)
Public Parameters As New List(Of SearchParameter)
Public ChartParameters As New List(Of ChartParameter)
Public Sub New(pLogConfig As LogConfig, pConfig As Config, pDatabase As MSSQLServer)
MyBase.New(pLogConfig)
Config = pConfig
Database = pDatabase
End Sub
Public Sub LoadSearches()
Try
Searches.Clear()
Dim oSQL = $"SELECT * FROM TBMON_PROFILE WHERE ACTIVE = 1 ORDER BY SEQUENCE"
Dim oTable = Database.GetDatatable(oSQL)
For Each oRow As DataRow In oTable.Rows
Dim oSearchId = oRow.ItemEx("GUID", 0)
Dim oParams = Parameters.
Where(Function(param) param.SearchId = oSearchId).
OrderBy(Function(param) param.Sequence).
ToList()
Dim oSearch = New Search With {
.Id = oSearchId,
.Title = oRow.ItemEx("TITLE", String.Empty),
.Caption = oRow.ItemEx("CAPTION", String.Empty),
.Comment = oRow.ItemEx("COMMENT", String.Empty),
.ReturnType = GetReturnType(oRow.ItemEx("RETURN_TYPE", String.Empty)),
.SQLCommand = oRow.ItemEx("EXEC_SQL", String.Empty),
.UseMOTLogic = GetMOTLogicType(oRow.ItemEx("RETURN_TYPE", String.Empty)),
.Parameters = oParams
}
' Erzeuge einen Titel, falls der leer ist
If oSearch.Title.Length <= 0 Then
Logger.Warn($"For searchId [{0}] an empty title were defined!", oSearch.Id)
oSearch.Title = "Suche " + oSearch.Id.ToString
End If
' Es wurde kein SQL Command definiert, ohne geht nix
' Außer es ist eine Chart-Suche
If oSearch.ReturnType <> ReturnTypeEnum.ChartView And (oSearch.SQLCommand Is Nothing Or oSearch.SQLCommand.Length = 0) Then
Logger.Error($"For searchId [{0}] is NO SQLCommand defined!", oSearch.Id)
Continue For
End If
If oSearch.SQLCommand.Contains("{#USER#USER_ID}") = True Then
SetUserID()
oSearch.SQLCommand = oSearch.SQLCommand.Replace("{#USER#USER_ID}", _currentUserId.ToString())
End If
' Anzahl der erwarteten Parameter
oSearch.ExpectedParameterCount = oSearch.SQLCommand.Split({"#CTRL#"}, StringSplitOptions.None).Length - 1
Searches.Add(oSearch)
Next
Catch ex As Exception
Logger.Error(ex)
Throw ex
End Try
End Sub
Public Sub LoadSearchParameters()
Dim oSQL As String = $"SELECT * FROM TBMON_PROFILE_PARAM WHERE ACTIVE = 1"
Dim oTable As DataTable = Database.GetDatatable(oSQL)
Dim oParameters As New List(Of SearchParameter)
For Each oRow As DataRow In oTable.Rows
oParameters.Add(New SearchParameter With {
.Id = oRow.ItemEx("GUID", 0),
.Title = oRow.ItemEx("CAPTION", String.Empty),
.Description = oRow.ItemEx("DESCRIPTION", String.Empty),
.DataType = GetDataType(oRow.ItemEx("DATA_TYPE", "VARCHAR")),
.ItemString = oRow.ItemEx("ITEMS", String.Empty),
.ItemType = GetItemType(oRow.ItemEx("ITEM_TYPE", String.Empty)),
.Required = oRow.ItemEx("REQUIRED", True),
.PatternTitle = oRow.ItemEx("PATTERN", String.Empty),
.SearchId = oRow.ItemEx("PROFILE_ID", 0),
.DefaultValue = oRow.ItemEx("DEFAULT_VALUE", String.Empty),
.Sequence = oRow.ItemEx("SEQUENCE", 0)
})
Next
Parameters = oParameters
End Sub
Public Sub LoadChartParameters()
Dim oSQL As String = $"SELECT * FROM TBMON_CHARTS WHERE ACTIVE = 1"
Dim oTable As DataTable = Database.GetDatatable(oSQL)
Dim oParameters As New List(Of ChartParameter)
For Each oRow As DataRow In oTable.Rows
oParameters.Add(New ChartParameter With {
.Id = oRow.ItemEx("GUID", 0),
.Title = oRow.ItemEx("TITLE", String.Empty),
.SearchId = oRow.ItemEx("PROFILE_ID", 0),
.ChartPos = GetChartPosType(oRow.ItemEx("POS_ID", 0)),
.SQLCommand = oRow.ItemEx("SQL_COMMAND", String.Empty),
.ChartType = GetChartType(oRow.ItemEx("CHART_TYPE", String.Empty)),
.Argument = oRow.ItemEx("ARGUMENT", String.Empty),
.Value = oRow.ItemEx("VALUE", String.Empty),
.LabelType = GetLabelType(oRow.ItemEx("LABEL_TYPE", String.Empty)),
.SerieTitle = oRow.ItemEx("SERIE_TITLE", String.Empty),
.DesignType = GetDesignType(oRow.ItemEx("DESIGN_TYPE", String.Empty)),
.DesignBaseColor = GetDesignBaseColor(oRow.ItemEx("DESIGN_TYPE", String.Empty))
})
Next
ChartParameters = oParameters
End Sub
Private Sub SetUserID()
If (_currentUserId > 0) Then
Return
End If
Dim oCurrentUsername As String = Environment.UserName
_currentUserId = 1
If String.IsNullOrEmpty(oCurrentUsername) = False Then
Dim oSql = "SELECT GUID FROM TBDD_USER WHERE USERNAME = '" + oCurrentUsername + "'"
Dim oSqlResult = CStr(Database.GetScalarValue(oSql))
Dim userID As Int16
If Int16.TryParse(oSqlResult, userID) = False Then
userID = 1
End If
_currentUserId = userID
End If
End Sub
Private Function GetItemType(pTypeString As String) As ItemTypeEnum
Select Case pTypeString
Case "LIST"
Return ItemTypeEnum.List
Case "SQL"
Return ItemTypeEnum.SQL
Case Else
Return ItemTypeEnum.Undefined
End Select
End Function
Private Function GetReturnType(pTypeString As String) As ReturnTypeEnum
Select Case pTypeString
Case "Table"
Return ReturnTypeEnum.Table
Case "TreeView"
Return ReturnTypeEnum.TreeView
Case "ChartView"
Return ReturnTypeEnum.ChartView
Case "TableMOT"
Return ReturnTypeEnum.Table
Case "TreeViewMOT"
Return ReturnTypeEnum.TreeView
Case "ChartViewMOT"
Return ReturnTypeEnum.ChartView
Case Else
Return ReturnTypeEnum.Undefined
End Select
End Function
Private Function GetMOTLogicType(pTypeString As String) As Boolean
If String.IsNullOrEmpty(pTypeString) Then
Return False
End If
If pTypeString.Contains("MOT") Then
Return True
End If
Return False
End Function
Private Function GetDataType(pTypeString As String) As DataTypeEnum
Select Case pTypeString.ToUpper
Case "BIT"
Return DataTypeEnum.Boolean
Case "VARCHAR"
Return DataTypeEnum.String
Case "INT"
Return DataTypeEnum.Integer
Case "DATE"
Return DataTypeEnum.Date
Case Else
Return DataTypeEnum.Undefined
End Select
End Function
Private Function GetChartType(pTypeString As String) As ChartTypeEnum
Select Case pTypeString.ToUpper
Case "BAR"
Return ChartTypeEnum.Bar
Case "AREA"
Return ChartTypeEnum.Area
Case "LINE"
Return ChartTypeEnum.Line
Case "PIE"
Return ChartTypeEnum.Pie
Case "STACKEDBAR"
Return ChartTypeEnum.StackedBar
Case Else
Return ChartTypeEnum.Undefined
End Select
End Function
Private Function GetLabelType(pTypeString As String) As LabelTypeEnum
Select Case pTypeString.ToUpper
Case "NOLABELS"
Return LabelTypeEnum.NoLabels
Case "DEFAULT"
Return LabelTypeEnum.DefaultLabels
Case Else
Return LabelTypeEnum.NoLabels
End Select
End Function
Private Function GetDesignType(pTypeString As String) As DesignTypeEnum
Dim items() As String = pTypeString.Split("|"c)
Select Case items(0).ToUpper
Case "ASPECT"
Return DesignTypeEnum.Aspect
Case "MIXED"
Return DesignTypeEnum.Mixed
Case "OFFICE2013"
Return DesignTypeEnum.Office2013
Case "SOLSTICE"
Return DesignTypeEnum.Solstice
Case "DDDEFAULT"
Return DesignTypeEnum.DDDefault
Case Else
Return DesignTypeEnum.DefaultColors
End Select
End Function
Private Function GetDesignBaseColor(pTypeString As String) As Integer
Dim items() As String = pTypeString.Split("|"c)
Dim retValue As Integer = 0
If items.Length > 1 Then
If Integer.TryParse(items(1), retValue) = False Then
retValue = 0
End If
End If
Return retValue
End Function
Private Function GetChartPosType(pPosTypeId As Integer) As ChartPosEnum
Select Case pPosTypeId
Case 1
Return ChartPosEnum.TopLeft
Case 2
Return ChartPosEnum.TopRight
Case 3
Return ChartPosEnum.BottomLeft
Case 4
Return ChartPosEnum.BottomRight
Case Else
Return ChartPosEnum.Undefined
End Select
End Function
End Class

View File

@@ -8,7 +8,7 @@
<OutputType>WinExe</OutputType>
<RootNamespace>DigitalData.GUIs.Monitor</RootNamespace>
<AssemblyName>DigitalData.GUIs.Monitor</AssemblyName>
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<StartupObject>Monitor.Program</StartupObject>
<FileAlignment>512</FileAlignment>
<OptionExplicit>On</OptionExplicit>
@@ -16,6 +16,8 @@
<OptionStrict>Off</OptionStrict>
<OptionInfer>On</OptionInfer>
<TargetFrameworkProfile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -46,75 +48,266 @@
<ApplicationIcon>ChartType_Line.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.BonusSkins.v21.2" />
<Reference Include="DevExpress.Data.v21.2" />
<Reference Include="DevExpress.Dialogs.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Office.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Printing.v21.2.Core" />
<Reference Include="DevExpress.RichEdit.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Charts.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.DataVisualization.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Spreadsheet.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.Desktop.v21.2" />
<Reference Include="DevExpress.Utils.v21.2" />
<Reference Include="DevExpress.XtraBars.v21.2" />
<Reference Include="DevExpress.Sparkline.v21.2.Core" />
<Reference Include="DevExpress.XtraDialogs.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v21.2" />
<Reference Include="DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraPrinting.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraRichEdit.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraSpreadsheet.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DigitalData.Controls.DocumentViewer">
<HintPath>..\..\DDMonorepo\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll</HintPath>
<Reference Include="BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938, processorArchitecture=MSIL">
<HintPath>..\packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Controls.SQLConfig, Version=1.0.2.0, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="DevExpress.BonusSkins.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDMonorepo\SQLConfig\bin\Debug\DigitalData.Controls.SQLConfig.dll</HintPath>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.BonusSkins.v21.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Charts.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Charts.v21.2.Core.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Data.Desktop.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Data.Desktop.v21.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Data.v21.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.DataVisualization.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.DataVisualization.v21.2.Core.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Dialogs.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Dialogs.v21.2.Core.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Office.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Office.v21.2.Core.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Printing.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Printing.v21.2.Core.dll</HintPath>
</Reference>
<Reference Include="DevExpress.RichEdit.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.RichEdit.v21.2.Core.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Spreadsheet.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Spreadsheet.v21.2.Core.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.Utils.v21.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraBars.v21.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.XtraCharts.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraCharts.v21.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.XtraCharts.v21.2.UI, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraCharts.v21.2.UI.dll</HintPath>
</Reference>
<Reference Include="DevExpress.XtraCharts.v21.2.Wizard, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraCharts.v21.2.Wizard.dll</HintPath>
</Reference>
<Reference Include="DevExpress.XtraDialogs.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraDialogs.v21.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraEditors.v21.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraGrid.v21.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraLayout.v21.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.XtraPrinting.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraPrinting.v21.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.XtraRichEdit.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraRichEdit.v21.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.XtraSpreadsheet.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraSpreadsheet.v21.2.dll</HintPath>
</Reference>
<Reference Include="DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>D:\ProgramFiles\DevExpress 21.2\Components\Bin\Framework\DevExpress.XtraTreeList.v21.2.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Controls.DocumentViewer">
<HintPath>..\..\..\2_DLL Projekte\DDMonoRepo\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll</HintPath>
</Reference>
<Reference Include="DigitalData.GUIs.Common, Version=1.7.8.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDMonorepo\GUIs.Common\bin\Debug\DigitalData.GUIs.Common.dll</HintPath>
<HintPath>..\..\..\2_DLL Projekte\DDMonoRepo\GUIs.Common\bin\Debug\DigitalData.GUIs.Common.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Base, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
<Reference Include="DigitalData.Modules.Base">
<HintPath>..\..\..\2_DLL Projekte\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Config, Version=1.1.4.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
<Reference Include="DigitalData.Modules.Config">
<HintPath>..\..\..\2_DLL Projekte\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Database, Version=2.2.7.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
<Reference Include="DigitalData.Modules.Database">
<HintPath>..\..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Language, Version=1.6.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDModules\Language\bin\Debug\DigitalData.Modules.Language.dll</HintPath>
<Reference Include="DigitalData.Modules.Logging">
<HintPath>..\..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Logging, Version=2.5.4.2, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
<Reference Include="DigitalData.Modules.Patterns">
<HintPath>..\..\..\2_DLL Projekte\DDModules\Patterns\bin\Debug\DigitalData.Modules.Patterns.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Patterns, Version=1.1.0.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\DDModules\Patterns\bin\Debug\DigitalData.Modules.Patterns.dll</HintPath>
<Reference Include="DocumentFormat.OpenXml, Version=3.2.0.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<HintPath>..\packages\DocumentFormat.OpenXml.3.2.0\lib\net46\DocumentFormat.OpenXml.dll</HintPath>
</Reference>
<Reference Include="DocumentFormat.OpenXml.Framework, Version=3.2.0.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<HintPath>..\packages\DocumentFormat.OpenXml.Framework.3.2.0\lib\net46\DocumentFormat.OpenXml.Framework.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.barcode.1d.writer, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.barcode.2d.writer, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.CAD, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.CAD.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.CAD.DWG, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.CAD.DWG.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Common, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.Common.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Document, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.Document.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Email, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.Email.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.HTML, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.HTML.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.Imaging.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.Imaging.Formats.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats.Conversion, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.Imaging.Rendering, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.MSOfficeBinary, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenDocument, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.OpenDocument.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenXML, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.OpenXML.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.OpenXML.Templating, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.PDF, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.PDF.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.RTF, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.RTF.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.SVG, Version=14.3.18.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.SVG.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.wia.gateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6973b5c22dcf45f7, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.18\lib\net462\GdPicture.NET.14.wia.gateway.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json.Bson, Version=1.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.Bson.1.0.2\lib\net45\Newtonsoft.Json.Bson.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath>
</Reference>
<Reference Include="OpenMcdf, Version=2.4.1.0, Culture=neutral, PublicKeyToken=fdbb1629d7c00800, processorArchitecture=MSIL">
<HintPath>..\packages\OpenMcdf.2.4.1\lib\net40\OpenMcdf.dll</HintPath>
</Reference>
<Reference Include="PresentationCore" />
<Reference Include="protobuf-net, Version=3.0.0.0, Culture=neutral, PublicKeyToken=257b51d87d2e4d67, processorArchitecture=MSIL">
<HintPath>..\packages\protobuf-net.3.2.46\lib\net462\protobuf-net.dll</HintPath>
</Reference>
<Reference Include="protobuf-net.Core, Version=3.0.0.0, Culture=neutral, PublicKeyToken=257b51d87d2e4d67, processorArchitecture=MSIL">
<HintPath>..\packages\protobuf-net.Core.3.2.46\lib\net462\protobuf-net.Core.dll</HintPath>
</Reference>
<Reference Include="RtfPipe, Version=2.0.7677.4303, Culture=neutral, PublicKeyToken=5f6ab4ce530296d2, processorArchitecture=MSIL">
<HintPath>..\packages\RtfPipe.2.0.7677.4303\lib\net45\RtfPipe.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Collections.Immutable, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Collections.Immutable.8.0.0\lib\net462\System.Collections.Immutable.dll</HintPath>
</Reference>
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Packaging, Version=8.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Packaging.8.0.1\lib\net462\System.IO.Packaging.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.Http.Formatting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Remoting" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.Security.Cryptography.Pkcs, Version=8.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.8.0.1\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
</Reference>
<Reference Include="System.Text.Json, Version=8.0.0.6, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.8.0.6\lib\net462\System.Text.Json.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
@@ -139,33 +332,34 @@
</ItemGroup>
<ItemGroup>
<Compile Include="ApplicationEvents.vb" />
<Compile Include="Config.vb" />
<Compile Include="Data\ChartParameter.vb" />
<Compile Include="Data\Config.vb" />
<Compile Include="Constants.vb" />
<Compile Include="frmMonitor.Designer.vb">
<Compile Include="Forms\frmMonitor.Designer.vb">
<DependentUpon>frmMonitor.vb</DependentUpon>
</Compile>
<Compile Include="frmMonitor.vb">
<Compile Include="Forms\frmMonitor.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="GridLoader.vb" />
<Compile Include="Helper\GridLoader.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
<DependentUpon>Application.myapp</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="ParameterLoader.vb" />
<Compile Include="Search.vb" />
<Compile Include="SearchLoader.vb" />
<Compile Include="SearchParameter.vb" />
<Compile Include="frmLoading.Designer.vb">
<Compile Include="Helper\ParameterLoader.vb" />
<Compile Include="Data\Search.vb" />
<Compile Include="Helper\SearchLoader.vb" />
<Compile Include="Data\SearchParameter.vb" />
<Compile Include="Forms\frmLoading.Designer.vb">
<DependentUpon>frmLoading.vb</DependentUpon>
</Compile>
<Compile Include="frmLoading.vb">
<Compile Include="Forms\frmLoading.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Validator.vb" />
<EmbeddedResource Include="frmMonitor.resx">
<Compile Include="Helper\Validator.vb" />
<EmbeddedResource Include="Forms\frmMonitor.resx">
<DependentUpon>frmMonitor.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="My Project\licenses.licx" />
@@ -180,7 +374,7 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<EmbeddedResource Include="frmLoading.resx">
<EmbeddedResource Include="Forms\frmLoading.resx">
<DependentUpon>frmLoading.vb</DependentUpon>
</EmbeddedResource>
<None Include="app.config" />
@@ -234,7 +428,15 @@
<None Include="Resources\deletetable.svg" />
<None Include="Resources\actions_reload.svg" />
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<Import Project="..\packages\GdPicture.runtimes.windows.14.3.18\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.3.18\build\net462\GdPicture.runtimes.windows.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\GdPicture.runtimes.windows.14.3.18\build\net462\GdPicture.runtimes.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\GdPicture.runtimes.windows.14.3.18\build\net462\GdPicture.runtimes.windows.targets'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">

View File

@@ -10,8 +10,8 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyConfiguration("")>
<Assembly: AssemblyCompany("Digital Data")>
<Assembly: AssemblyProduct("Monitor")>
<Assembly: AssemblyCopyright("Copyright © 2022")>
<Assembly: AssemblyTrademark("1.3.2.0")>
<Assembly: AssemblyCopyright("Copyright © 2026")>
<Assembly: AssemblyTrademark("1.7.1.0")>
<Assembly: AssemblyCulture("")>
' Setting ComVisible to false makes the types in this assembly not visible
@@ -32,5 +32,5 @@ Imports System.Runtime.InteropServices
' You can specify all the values or you can default the Build and Revision Numbers
' by using the '*' as shown below:
' [assembly: AssemblyVersion("1.0.*")]
<Assembly: AssemblyVersion("1.3.2.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: AssemblyVersion("1.7.1.0")>
<Assembly: AssemblyFileVersion("1.7.1.0")>

View File

@@ -12,15 +12,16 @@ Option Strict On
Option Explicit On
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class Settings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As Settings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New Settings()),Settings)
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class Settings
Inherits Global.System.Configuration.ApplicationSettingsBase
Private Shared defaultInstance As Settings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New Settings()),Settings)
#Region "Automatische My.Settings-Speicherfunktion"
#If _MyType = "WindowsForms" Then
Private Shared addedHandler As Boolean
@@ -29,16 +30,16 @@ Partial Friend NotInheritable Class Settings
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs)
If My.Application.SaveMySettingsOnExit Then
My.Settings.Save()
End If
End Sub
' If My.Application.SaveMySettingsOnExit Then
' My.Settings.Save()
' End If
End Sub
#End If
#End Region
Public Shared ReadOnly Property [Default]() As Settings
Get
Public Shared ReadOnly Property [Default]() As Settings
Get
#If _MyType = "WindowsForms" Then
If Not addedHandler Then
SyncLock addedHandlerLockObject
@@ -49,10 +50,11 @@ Partial Friend NotInheritable Class Settings
End SyncLock
End If
#End If
Return defaultInstance
End Get
End Property
End Class
Return defaultInstance
End Get
End Property
End Class
End Namespace
Namespace My
@@ -62,9 +64,9 @@ Namespace My
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.DigitalData.GUIs.Monitor.Settings
Friend ReadOnly Property Settings() As Global.DigitalData.GUIs.Monitor.My.Settings
Get
Return Global.DigitalData.GUIs.Monitor.Settings.Default
Return Global.DigitalData.GUIs.Monitor.My.Settings.Default
End Get
End Property
End Module

View File

@@ -1,115 +0,0 @@
Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language
Imports DigitalData.GUIs.Monitor.Constants
Public Class SearchLoader
Inherits BaseClass
Private ReadOnly Config As Config
Private ReadOnly Database As MSSQLServer
Public Searches As New List(Of Search)
Public Parameters As New List(Of SearchParameter)
Public Sub New(pLogConfig As LogConfig, pConfig As Config, pDatabase As MSSQLServer)
MyBase.New(pLogConfig)
Config = pConfig
Database = pDatabase
End Sub
Public Sub LoadSearches()
Try
Searches.Clear()
Dim oSQL = $"SELECT * FROM TBMON_PROFILE WHERE ACTIVE = 1 ORDER BY SEQUENCE"
Dim oTable = Database.GetDatatable(oSQL)
For Each oRow As DataRow In oTable.Rows
Dim oSearchId = oRow.ItemEx("GUID", 0)
Dim oParams = Parameters.
Where(Function(param) param.SearchId = oSearchId).
OrderBy(Function(param) param.Sequence).
ToList()
Searches.Add(New Search With {
.Id = oSearchId,
.Title = oRow.ItemEx("TITLE", String.Empty),
.Description = oRow.ItemEx("CAPTION", String.Empty),
.ReturnType = GetReturnType(oRow.ItemEx("RETURN_TYPE", String.Empty)),
.SQLCommand = oRow.ItemEx("EXEC_SQL", String.Empty),
.Parameters = oParams
})
Next
Catch ex As Exception
Logger.Error(ex)
Throw ex
End Try
End Sub
Public Sub LoadSearchParameters()
Dim oSQL As String = $"SELECT * FROM TBMON_PROFILE_PARAM WHERE ACTIVE = 1"
Dim oTable As DataTable = Database.GetDatatable(oSQL)
Dim oParameters As New List(Of SearchParameter)
For Each oRow As DataRow In oTable.Rows
oParameters.Add(New SearchParameter With {
.Id = oRow.ItemEx("GUID", 0),
.Title = oRow.ItemEx("CAPTION", String.Empty),
.Description = oRow.ItemEx("DESCRIPTION", String.Empty),
.DataType = GetDataType(oRow.ItemEx("DATA_TYPE", "VARCHAR")),
.ItemString = oRow.ItemEx("ITEMS", String.Empty),
.ItemType = GetItemType(oRow.ItemEx("ITEM_TYPE", String.Empty)),
.Required = oRow.ItemEx("REQUIRED", True),
.PatternTitle = oRow.ItemEx("PATTERN", String.Empty),
.SearchId = oRow.ItemEx("PROFILE_ID", 0),
.DefaultValue = oRow.ItemEx("DEFAULT_VALUE", String.Empty),
.Sequence = oRow.ItemEx("SEQUENCE", 0)
})
Next
Parameters = oParameters
End Sub
Private Function GetItemType(pTypeString As String) As ItemTypeEnum
Select Case pTypeString
Case "LIST"
Return ItemTypeEnum.List
Case "SQL"
Return ItemTypeEnum.SQL
Case Else
Return ItemTypeEnum.Undefined
End Select
End Function
Private Function GetReturnType(pTypeString As String) As ReturnTypeEnum
Select Case pTypeString
Case "Table"
Return ReturnTypeEnum.Table
Case "TreeView"
Return ReturnTypeEnum.TreeView
Case Else
Return ReturnTypeEnum.Undefined
End Select
End Function
Private Function GetDataType(pTypeString As String) As DataTypeEnum
Select Case pTypeString
Case "BIT"
Return DataTypeEnum.Boolean
Case "VARCHAR"
Return DataTypeEnum.String
Case "INT"
Return DataTypeEnum.Integer
Case "DATE"
Return DataTypeEnum.Date
Case Else
Return DataTypeEnum.Undefined
End Select
End Function
End Class

View File

@@ -14,10 +14,10 @@
<value>True</value>
</setting>
<setting name="DefaultAppSkin" serializeAs="String">
<value>Skin/Office 2019 Colorful</value>
<value></value>
</setting>
<setting name="DefaultPalette" serializeAs="String">
<value>Yale</value>
<value></value>
</setting>
<setting name="TouchUI" serializeAs="String">
<value></value>
@@ -46,7 +46,7 @@
</DevExpress.LookAndFeel.Design.AppSettings>
</applicationSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
<system.diagnostics>
<sources>
@@ -78,6 +78,54 @@
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="GdPicture.NET.14" publicKeyToken="f52a2e60ad468dbb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.3.18.0" newVersion="14.3.18.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="GdPicture.NET.14.Common" publicKeyToken="f52a2e60ad468dbb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.3.18.0" newVersion="14.3.18.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="GdPicture.NET.14.Imaging" publicKeyToken="f52a2e60ad468dbb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.3.18.0" newVersion="14.3.18.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.1.0" newVersion="6.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.4.0" newVersion="4.0.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.5.0" newVersion="4.1.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.1" newVersion="8.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.6" newVersion="8.0.0.6" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Packaging" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.1" newVersion="8.0.0.1" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -1,138 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="ApplicationMenu1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>362, 17</value>
</metadata>
<metadata name="SvgImageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>196, 17</value>
</metadata>
<metadata name="XtraSaveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>514, 17</value>
</metadata>
<metadata name="AdornerUIManager2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>673, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>35</value>
</metadata>
<metadata name="WorkspaceManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>836, 17</value>
</metadata>
</root>

View File

@@ -1,4 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="BouncyCastle.Cryptography" version="2.5.0" targetFramework="net462" />
<package id="DocumentFormat.OpenXml" version="3.2.0" targetFramework="net462" />
<package id="DocumentFormat.OpenXml.Framework" version="3.2.0" targetFramework="net462" />
<package id="GdPicture" version="14.3.18" targetFramework="net462" />
<package id="GdPicture.runtimes.windows" version="14.3.18" targetFramework="net462" />
<package id="Microsoft.AspNet.WebApi.Client" version="6.0.0" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net462" />
<package id="Microsoft.CSharp" version="4.7.0" targetFramework="net462" />
<package id="Microsoft.VisualBasic" version="10.3.0" targetFramework="net462" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
<package id="Newtonsoft.Json.Bson" version="1.0.2" targetFramework="net462" />
<package id="NLog" version="5.0.5" targetFramework="net461" />
<package id="OpenMcdf" version="2.4.1" targetFramework="net462" />
<package id="protobuf-net" version="3.2.46" targetFramework="net462" />
<package id="protobuf-net.Core" version="3.2.46" targetFramework="net462" />
<package id="RtfPipe" version="2.0.7677.4303" targetFramework="net462" />
<package id="System.Buffers" version="4.6.0" targetFramework="net462" />
<package id="System.Collections.Immutable" version="8.0.0" targetFramework="net462" />
<package id="System.IO.Packaging" version="8.0.1" targetFramework="net462" />
<package id="System.Memory" version="4.6.0" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.6.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Pkcs" version="8.0.1" targetFramework="net462" />
<package id="System.Text.Encodings.Web" version="8.0.0" targetFramework="net462" />
<package id="System.Text.Json" version="8.0.6" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
</packages>