Compare commits

...

16 Commits

14 changed files with 1036 additions and 161 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,6 +8,21 @@
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
@@ -50,6 +58,26 @@
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

@@ -1,12 +1,16 @@
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

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,10 +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

@@ -118,21 +118,107 @@
<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>
<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>196, 17</value>
<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>514, 17</value>
<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>673, 17</value>
<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>836, 17</value>
<value>829, 17</value>
</metadata>
</root>

View File

@@ -1,5 +1,11 @@
Imports System.Text.RegularExpressions
Imports System.Drawing.Imaging
Imports System.IO
Imports System.Text.RegularExpressions
Imports DevExpress.LookAndFeel
Imports DevExpress.Utils
Imports DevExpress.XtraBars
Imports DevExpress.XtraCharts
Imports DevExpress.XtraEditors
Imports DevExpress.XtraEditors.Controls
Imports DevExpress.XtraEditors.Repository
Imports DevExpress.XtraGrid
@@ -10,17 +16,14 @@ Imports DevExpress.XtraTab
Imports DevExpress.XtraTreeList
Imports DevExpress.XtraTreeList.Columns
Imports DevExpress.XtraTreeList.Nodes
Imports DevExpress.XtraCharts
Imports DigitalData.Controls.DocumentViewer
Imports DigitalData.GUIs.Common
Imports DigitalData.GUIs.Monitor.Constants
Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Language
Imports DigitalData.Modules.Language.Utils
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Patterns
Imports DevExpress.XtraEditors
Public Class frmMonitor
@@ -50,7 +53,7 @@ Public Class frmMonitor
Private FileResultViewers As List(Of DocumentViewer)
Private FileResultTabs As List(Of XtraTabPage)
Private FileResultViewerIndex As Integer = 0
'Private FileResultViewerIndex As Integer = 0
Private HtmlResultViewers As List(Of RichEditControl)
Private HtmlResultTabs As List(Of XtraTabPage)
@@ -84,9 +87,13 @@ Public Class frmMonitor
Private Validator As Validator
Private GridLoader As GridLoader
Private SelectedChart As ChartControl
Private SkinMode As SkinModeEnum
Private Sub frmStart_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
LogConfig = New LogConfig(LogConfig.PathType.AppData, Nothing, Nothing, "Digital Data", "Monitor")
Logger = LogConfig.GetLogger()
@@ -96,7 +103,7 @@ Public Class frmMonitor
Patterns = New Patterns2(LogConfig)
FormHelper = New FormHelper(LogConfig, Me)
ControlHelper = New Common.ControlHelper(LogConfig)
Workspace = New DocumentResultList.Workspace(Of Config)(LogConfig, ConfigManager, WorkspaceManager1)
Workspace = New DocumentResultList.Workspace(Of Config)(LogConfig, ConfigManager, WorkspaceManager1, "de-DE")
SplitContainerBuilderHTML = New SplitContainerBuilder(LogConfig, Me, SplitContainerFileHTML)
SplitContainerBuilderHTML.InitAutoResize()
@@ -125,9 +132,21 @@ Public Class frmMonitor
Validator = New Validator(LogConfig, LayoutControl1, AdornerUIManager2, ControlHelper)
GridLoader = New GridLoader(LogConfig, SvgImageCollection1)
btnDarkMode.Visibility = BarItemVisibility.Never ' DarkMode ist erstmal aus
ribbonGroupEinstellungen.Visible = False
'If ConfigManager.Config.DarkMode = False Then
SkinMode = SkinModeEnum.LightMode
'Else
'SkinMode = SkinModeEnum.DarkMode
'End If
'SetDarkMode()
AddHandler GridLoader.ChartControlClicked, AddressOf ChartControl_Click
InitGrid()
InitTreeList()
InitChartContainer()
InitBarItems()
Dim oGrids As GridView() = New List(Of GridView) From {GridView1, GridView2, GridView3, GridView4}.ToArray
GridBuilder.SetDefaults(oGrids)
@@ -145,7 +164,8 @@ Public Class frmMonitor
LoadSearches()
Dim oLicense = LoadGDPicture()
' TODO - GDPicture Version konfigurierbar machen
Dim oLicense = LoadGDPicture("11.2024")
For Each oGrid In SQLResultGrids
AddHandler oGrid.Enter, Sub()
@@ -166,6 +186,7 @@ Public Class frmMonitor
SplitContainerFileHTML.Collapsed = True
SetResultCount(0)
SetSearchTimeValue("")
SetVersion()
Catch ex As Exception
@@ -173,9 +194,9 @@ Public Class frmMonitor
End Try
End Sub
Private Function LoadGDPicture() As String
Dim oSQL = "SELECT LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE'"
Return Database.GetScalarValue(oSQL)
Private Function LoadGDPicture(pVersion As String) As String
Dim oSQL = "SELECT LICENSE FROM TBDD_3RD_PARTY_MODULES WHERE NAME = 'GDPICTURE' AND VERSION = '" + pVersion + "'"
Return CStr(Database.GetScalarValue(oSQL))
End Function
@@ -194,7 +215,7 @@ Public Class frmMonitor
Return False
End If
Dim oSearch As Search = cmbSearches.EditValue
Dim oSearch As Search = CType(cmbSearches.EditValue, Search)
InvisibleMarkedColumns.Clear()
VisibleMarkedColumns.Clear()
@@ -214,17 +235,25 @@ Public Class frmMonitor
Dim oControls As List(Of Control) = LayoutControl1.Controls.Cast(Of Control).ToList()
Dim oSQL As String
Dim oTable As DataTable
Dim oTable As DataTable = Nothing
If oSearch.SQLCommand.Length > 0 Then
oSQL = Patterns.ReplaceControlValues(oSearch.SQLCommand, oControls)
Logger.Debug($"SQL after replacing placeholder: [{0}]", oSQL)
oTable = Await Database.GetDatatableAsync(oSQL)
If oSearch.UseMOTLogic = True Then
' MOT-Abfragen müssen OHNE Transaktion aufgerufen werden
oTable = Await Database.GetDatatableWithoutTransactionAsync(oSQL)
Else
' sonstige Abfragen wie bisher mit Transaktion
oTable = Await Database.GetDatatableAsync(oSQL)
End If
End If
Dim oStartTime = Now
If oSearch.ReturnType = ReturnTypeEnum.TreeView Then
' Baum
SetResultVisbility(ReturnTypeEnum.TreeView)
@@ -234,8 +263,6 @@ Public Class frmMonitor
TreeListResults.DataSource = oTable
lbResultCount.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
Dim oMaxLength = 0
For Each oRow As DataRow In oTable.Rows
Dim oProcess = oRow.Item("COLUMN1")
@@ -251,13 +278,13 @@ Public Class frmMonitor
For Each oColumn In TreeListResults.Columns
oColumn.Visible = DisplayColumns.Contains(oColumn.FieldName)
Next
GridBuilder.SetDateTimeColumns(TreeListResults)
GridBuilder.SetDateTimeColumns(TreeListResults, "G")
Dim oStateColumn As TreeListColumn = TreeListResults.Columns.Item("STATE")
For Each oNode As TreeListNode In TreeListResults.Nodes
ExpandNodes(oNode, Function(n)
Dim oObjectValue = n.GetValue(oStateColumn)
Dim oValue As String = NotNull(oObjectValue.ToString, String.Empty)
Dim oValue As String = ObjectEx.NotNull(oObjectValue.ToString, String.Empty)
Return oValue IsNot Nothing AndAlso (oValue = State.STATE_WARNING Or oValue = State.STATE_FAILURE)
End Function)
Next
@@ -318,6 +345,7 @@ Public Class frmMonitor
End Select
SetChartTitle(ChartViewResults, oChartParameterSet.Title)
SetChartDesign(ChartViewResults, oChartParameterSet.DesignType, oChartParameterSet.DesignBaseColor)
Dim oSerie As Series = Await GetChartSerie(oChartParameterSet, oControls)
ChartViewResults.Series.Add(oSerie)
Next
@@ -336,9 +364,7 @@ Public Class frmMonitor
GridControlResults.DataSource = oTable
GridViewResults.PopulateColumns()
GridBuilder.SetDateTimeColumns(GridViewResults)
lbResultCount.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
GridBuilder.SetDateTimeColumns(GridViewResults, "G")
For Each oColumn As GridColumn In GridViewResults.Columns
If oColumn.ColumnType = GetType(Integer) Then
@@ -402,7 +428,7 @@ Public Class frmMonitor
ActivateMenuBarButtons(oSearch.ReturnType)
Dim oTotalTime = Now.Subtract(oStartTime)
lbSearchTime.Caption = oTotalTime.ToString("mm':'ss")
SetSearchTimeValue(oTotalTime.ToString("mm':'ss"))
Return True
Catch ex As Exception
@@ -413,6 +439,26 @@ Public Class frmMonitor
End Try
End Function
Private Sub SetChartDesign(pChartView As ChartControl, pDesignType As DesignTypeEnum, pDesignBaseColor As Integer)
Select Case pDesignType
Case DesignTypeEnum.Aspect
pChartView.PaletteName = "Aspect"
Case DesignTypeEnum.Mixed
pChartView.PaletteName = "Mixed"
Case DesignTypeEnum.Office2013
pChartView.PaletteName = "Office 2013"
Case DesignTypeEnum.Solstice
pChartView.PaletteName = "Solstice"
Case DesignTypeEnum.DDDefault
pChartView.PaletteName = "DDDefault Palette"
Case Else
pChartView.PaletteName = "Office"
End Select
pChartView.PaletteBaseColorNumber = pDesignBaseColor
End Sub
Private Sub ActivateMenuBarButtons(pSearchType As ReturnTypeEnum)
Select Case pSearchType
Case ReturnTypeEnum.ChartView
@@ -429,21 +475,33 @@ Public Class frmMonitor
Private Async Function GetChartSerie(pChartParameters As ChartParameter, pControls As List(Of Control)) As Threading.Tasks.Task(Of Series)
Dim oSerie As Series
Dim serieTitle As String
If String.IsNullOrEmpty(pChartParameters.SerieTitle) = False Then
serieTitle = pChartParameters.SerieTitle
Else
serieTitle = pChartParameters.Title
End If
Select Case pChartParameters.ChartType
Case ChartTypeEnum.Bar
oSerie = New Series(pChartParameters.Title, ViewType.Bar)
oSerie = New Series(serieTitle, ViewType.Bar)
Case ChartTypeEnum.Line
oSerie = New Series(pChartParameters.Title, ViewType.Line)
oSerie = New Series(serieTitle, ViewType.Line)
Case ChartTypeEnum.Area
oSerie = New Series(pChartParameters.Title, ViewType.Area)
oSerie = New Series(serieTitle, ViewType.Area)
Case ChartTypeEnum.Pie
oSerie = New Series(pChartParameters.Title, ViewType.Pie)
oSerie.Label.TextPattern = "{V}"
oSerie.LegendTextPattern = "{A}"
oSerie = New Series(serieTitle, ViewType.Pie) With {
.LegendTextPattern = "{A}"
}
Case ChartTypeEnum.StackedBar
oSerie = New Series(serieTitle, ViewType.StackedBar)
Case Else
Return Nothing
End Select
SetSerieLabels(oSerie, pChartParameters.ChartType, pChartParameters.LabelType)
Dim oSQL As String = Patterns.ReplaceControlValues(pChartParameters.SQLCommand, pControls)
Logger.Debug($"SQL after replacing placeholder: [{0}]", oSQL)
Dim oTable As DataTable = Await Database.GetDatatableAsync(oSQL)
@@ -452,8 +510,8 @@ Public Class frmMonitor
Dim yAxisTitle As String = pChartParameters.Value
For Each oRow In oTable.Rows
Dim value1 As String = oRow.Item(xAxisTitle)
Dim value2 As String = oRow.Item(yAxisTitle)
Dim value1 As String = CStr(oRow.Item(xAxisTitle))
Dim value2 As String = CStr(oRow.Item(yAxisTitle))
oSerie.Points.Add(New SeriesPoint(value1, value2))
Next
@@ -463,11 +521,53 @@ Public Class frmMonitor
End Function
Private Sub SetSerieLabels(pSerie As Series, pChartType As ChartTypeEnum, pLabelType As LabelTypeEnum)
If (pLabelType = LabelTypeEnum.NoLabels) Then
pSerie.LabelsVisibility = DefaultBoolean.False
Exit Sub
End If
pSerie.LabelsVisibility = DefaultBoolean.True
pSerie.Label.TextPattern = "{V}"
Select Case pChartType
Case ChartTypeEnum.Bar
Dim barLabel As SideBySideBarSeriesLabel = TryCast(pSerie.Label, SideBySideBarSeriesLabel)
If barLabel IsNot Nothing Then
barLabel.Position = BarSeriesLabelPosition.Top
End If
Case ChartTypeEnum.Line
Dim lineLabel As PointSeriesLabel = TryCast(pSerie.Label, PointSeriesLabel)
If lineLabel IsNot Nothing Then
lineLabel.Position = PointLabelPosition.Outside
End If
Case ChartTypeEnum.Area
Dim areaLabel As PointSeriesLabel = TryCast(pSerie.Label, PointSeriesLabel)
If areaLabel IsNot Nothing Then
areaLabel.Position = PointLabelPosition.Outside
End If
Case ChartTypeEnum.Pie
Dim pieLabel As PieSeriesLabel = TryCast(pSerie.Label, PieSeriesLabel)
If pieLabel IsNot Nothing Then
pieLabel.Position = PieSeriesLabelPosition.Outside
End If
Case ChartTypeEnum.StackedBar
Dim stackedBarLabel As StackedBarSeriesLabel = TryCast(pSerie.Label, StackedBarSeriesLabel)
If stackedBarLabel IsNot Nothing Then
stackedBarLabel.Position = BarSeriesLabelPosition.Auto
End If
Case Else
End Select
End Sub
Private Sub SetChartTitle(pChartView As ChartControl, pTitle As String)
' Wenn bereits ein Titel vorhanden ist, wird kein neuer ergänzt
' relevant bei mehrere Charts in einem ChartControl
If pChartView.Titles.Count = 0 Then
Dim oTitle As ChartTitle = New ChartTitle With {
Dim oTitle As New ChartTitle With {
.Text = pTitle
}
pChartView.Titles.Add(oTitle)
@@ -524,7 +624,6 @@ Public Class frmMonitor
End Sub
Private Sub SetResultVisbility(pSearchMode As ReturnTypeEnum)
Select Case pSearchMode
Case ReturnTypeEnum.TreeView
@@ -534,8 +633,13 @@ Public Class frmMonitor
TreeListResults.Dock = DockStyle.Fill
ChartViewResultContainer.Visible = False
ChartViewResultContainer.Dock = DockStyle.None
btnExportDetails.Enabled = True
btnExportMain.Enabled = True
lbResultCount.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
EnableButtons(btnExportMain)
EnableButtons(btnExportDetails)
DisableButtons(btnExportChart2PDF)
DisableButtons(btnExportChart2PNG)
Case ReturnTypeEnum.ChartView
GridControlResults.Visible = False
@@ -544,8 +648,13 @@ Public Class frmMonitor
TreeListResults.Dock = DockStyle.None
ChartViewResultContainer.Visible = True
ChartViewResultContainer.Dock = DockStyle.Fill
btnExportDetails.Enabled = False
btnExportMain.Enabled = False
lbResultCount.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
DisableButtons(btnExportMain)
DisableButtons(btnExportDetails)
EnableButtons(btnExportChart2PDF)
EnableButtons(btnExportChart2PNG)
Case ReturnTypeEnum.Table
GridControlResults.Visible = True
@@ -554,12 +663,40 @@ Public Class frmMonitor
TreeListResults.Dock = DockStyle.None
ChartViewResultContainer.Visible = False
ChartViewResultContainer.Dock = DockStyle.None
btnExportDetails.Enabled = True
btnExportMain.Enabled = True
lbResultCount.Visibility = DevExpress.XtraBars.BarItemVisibility.Always
EnableButtons(btnExportMain)
EnableButtons(btnExportDetails)
DisableButtons(btnExportChart2PDF)
DisableButtons(btnExportChart2PNG)
End Select
End Sub
Private Sub DisableButtons(pBarButtonItem As BarButtonItem)
pBarButtonItem.Enabled = False
pBarButtonItem.Visibility = BarItemVisibility.Never
End Sub
Private Sub EnableButtons(pBarButtonItem As BarButtonItem)
pBarButtonItem.Enabled = True
pBarButtonItem.Visibility = BarItemVisibility.Always
End Sub
Private Sub InitBarItems()
btnExportMain.Visibility = BarItemVisibility.Always
btnExportMain.Enabled = False
btnExportDetails.Visibility = BarItemVisibility.Always
btnExportDetails.Enabled = False
DisableButtons(btnExportChart2PDF)
DisableButtons(btnExportChart2PNG)
lbResultCount.Visibility = BarItemVisibility.Never
lbSearchTime.Visibility = BarItemVisibility.Never
End Sub
''' <summary>
''' Linklogik für Hyperlink-Spalten
''' </summary>
@@ -577,7 +714,7 @@ Public Class frmMonitor
Return
Else
Dim oControl As Control = LayoutControl1.Controls.Find(oSearchParameter.PatternTitle, True).FirstOrDefault()
oControl.Text = e.EditValue
oControl.Text = CStr(e.EditValue)
End If
Await LoadData()
@@ -621,11 +758,16 @@ Public Class frmMonitor
Exit Sub
End If
If CType(pRootNode.Item("PARENT_ID"), Int32) = 0 Then
' Auswertung für Parent-Knoten
ExpandCollapseNode(pRootNode)
End If
For Each oNode As TreeListNode In pRootNode.Nodes
Try
Dim oExpanded As TristateBoolean = NotNull(oNode.Item("EXPANDED"), TristateBoolean.Indeterminate)
ExpandCollapseNode(oNode, oExpanded)
ExpandCollapseNode(oNode)
' Und rein in die Rekursion
SetExpandedForChildNodes(oNode, pDepth + 1)
Catch ex As Exception
Logger.Error(ex)
@@ -662,6 +804,9 @@ Public Class frmMonitor
DisposeGrid()
InitGrid()
DisposeCharts()
InitChartContainer()
SplitContainerSQL.Collapsed = True
SplitContainerFileHTML.Collapsed = True
@@ -669,6 +814,7 @@ Public Class frmMonitor
btnExportDetails.Enabled = False
SetResultCount(0)
InitBarItems()
LoadSearch()
HideAllTabs()
@@ -687,6 +833,7 @@ Public Class frmMonitor
AdornerUIManager2.Hide()
AdornerUIManager2.Elements.Clear()
' TODO - Hier passt etwas noch nicht
Root.Clear(disposeItemAndControls:=False)
LayoutControl1.Clear(True, True)
@@ -717,6 +864,9 @@ Public Class frmMonitor
Dim oSQL = pParam.ItemString
Dim oTable = Database.GetDatatable(oSQL)
Return oTable
Case Else
Return Nothing
End Select
End Function
@@ -757,7 +907,7 @@ Public Class frmMonitor
Try
Dim oExtracted = ExtractTitle(oSQLCommand.Value)
Dim oCommand = oExtracted.Item1
Dim oTitle = NotNull(oExtracted.Item2, oSQLCommand.Key)
Dim oTitle = ObjectEx.NotNull(oExtracted.Item2, oSQLCommand.Key)
Dim oTable As DataTable = Database.GetDatatable(oCommand)
@@ -860,8 +1010,9 @@ Public Class frmMonitor
End If
End Sub
Private Sub ExpandCollapseNode(pNode As TreeListNode, pState As TristateBoolean)
Select Case pState
Private Sub ExpandCollapseNode(pNode As TreeListNode)
Dim oExpanded As TristateBoolean = ObjectEx.NotNull(pNode.Item("EXPANDED"), TristateBoolean.Indeterminate)
Select Case oExpanded
Case TristateBoolean.False
pNode.Collapse()
Case TristateBoolean.True
@@ -876,7 +1027,7 @@ Public Class frmMonitor
Dim oTabPage = DirectCast(RichEditControl.Parent, XtraTabPage)
oTabPage.PageVisible = True
oTabPage.Text = NotNull(Title, oTabPage.Text)
oTabPage.Text = ObjectEx.NotNull(Title, oTabPage.Text)
XtraTabControlFileHTML.SelectedTabPage = oTabPage
End Sub
@@ -886,7 +1037,7 @@ Public Class frmMonitor
Dim oTabPage = DirectCast(DocumentViewer.Parent, XtraTabPage)
oTabPage.PageVisible = True
oTabPage.Text = NotNull(Title, oTabPage.Text)
oTabPage.Text = ObjectEx.NotNull(Title, oTabPage.Text)
XtraTabControlFileHTML.SelectedTabPage = oTabPage
End Sub
@@ -896,10 +1047,12 @@ Public Class frmMonitor
GridControl.DataSource = Table
GridControl.DefaultView.PopulateColumns()
'Hiermit wird das Datumsformat für Untertabellen auf lang gesetzt
GridBuilder.SetDateTimeColumns(GridControl.DefaultView, "G")
Dim oTabPage = DirectCast(GridControl.Parent, XtraTabPage)
oTabPage.PageVisible = True
oTabPage.Text = $"{NotNull(Title, oTabPage.Text)} ({Table.Rows.Count})"
oTabPage.Text = $"{ObjectEx.NotNull(Title, oTabPage.Text)} ({Table.Rows.Count})"
XtraTabControlSQL.SelectedTabPage = oTabPage
End Sub
@@ -933,7 +1086,7 @@ Public Class frmMonitor
Private Sub TreeListResults_CustomDrawNodeCell(sender As Object, e As DevExpress.XtraTreeList.CustomDrawNodeCellEventArgs)
Dim oColumn = TreeListResults.Columns.Item("STATE")
Dim oState = NotNull(e.Node.GetValue(oColumn), Nothing)
Dim oState = ObjectEx.NotNull(e.Node.GetValue(oColumn), Nothing)
If oState Is Nothing Then
Exit Sub
@@ -952,6 +1105,7 @@ Public Class frmMonitor
oColor = Color.LightSkyBlue
End Select
e.Appearance.ForeColor = Color.Black 'TODO - funktioniert nicht immer GraphicsEx.GetContrastedColor(oColor)
e.Appearance.BackColor = oColor
e.Appearance.Options.UseBackColor = True
e.Handled = False
@@ -1144,7 +1298,7 @@ Public Class frmMonitor
End Sub
Private Sub GridViewResults_ColumnFilterChanged(sender As Object, e As EventArgs)
Dim oView As GridView = sender
Dim oView As GridView = CType(sender, GridView)
SetResultCount(oView.DataRowCount)
End Sub
@@ -1170,10 +1324,14 @@ Public Class frmMonitor
DisposeGrid()
InitGrid()
DisposeCharts()
InitChartContainer()
HideAllTabs()
Await LoadData()
SetResultCount(0)
InitBarItems()
End If
End Sub
@@ -1184,12 +1342,25 @@ Public Class frmMonitor
GridControlResults = Nothing
End Sub
Private Sub DisposeCharts()
ChartViewResultContainer.Dispose()
ChartViewResultContainer = Nothing
End Sub
Private Sub SetResultCount(pResults As Integer)
lbResultCount.Caption = String.Format(lbResultCount.Tag, pResults)
lbResultCount.Caption = String.Format(CStr(lbResultCount.Tag), pResults)
End Sub
Private Sub SetSearchTimeValue(pValue As String)
If pValue.Equals("00:00") Then
lbSearchTime.Caption = ""
Else
lbSearchTime.Caption = pValue
End If
End Sub
Private Sub SetVersion()
lbVersion.Caption = String.Format(lbVersion.Tag, System.Reflection.Assembly.GetEntryAssembly().GetName().Version)
lbVersion.Caption = String.Format(CStr(lbVersion.Tag), System.Reflection.Assembly.GetEntryAssembly().GetName().Version)
End Sub
Private Sub InitGrid()
@@ -1219,8 +1390,8 @@ Public Class frmMonitor
Private Sub InitChartContainer()
ChartViewResultContainer = GridLoader.InitChartViewResultContainer()
SplitContainerSQL.Panel1.Controls.Add(ChartViewResultContainer)
SelectedChart = Nothing
End Sub
Private Sub ResizeCharContainer()
@@ -1250,5 +1421,122 @@ Public Class frmMonitor
End Try
End Sub
Private Sub ChartControl_Click(sender As Object, e As EventArgs)
SelectedChart = CType(sender, ChartControl)
End Sub
Private Sub btnExportChart2PDF_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExportChart2PDF.ItemClick
Try
If Not IsNothing(SelectedChart) Then
XtraSaveFileDialog1.Filter = "PDF Files (*.pdf*)|*.pdf"
XtraSaveFileDialog1.FileName = SelectedChart.Titles(0).ToString()
If XtraSaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
ExportChart2Pdf(SelectedChart, XtraSaveFileDialog1.FileName)
End If
Else
FormHelper.ShowInfoMessage("Bitte einen Chart auswählen", "Chart Export per PDF")
End If
Catch ex As Exception
FormHelper.ShowErrorMessage(ex, "Chart Export nach PDF")
End Try
End Sub
Private Sub btnExportChart2PNG_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnExportChart2PNG.ItemClick
Try
If Not IsNothing(SelectedChart) Then
XtraSaveFileDialog1.Filter = "PNG Files (*.png*)|*.png"
XtraSaveFileDialog1.FileName = SelectedChart.Titles(0).ToString()
If XtraSaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
ExportChartToImage(SelectedChart, XtraSaveFileDialog1.FileName)
End If
Else
FormHelper.ShowInfoMessage("Bitte einen Chart auswählen", "Chart Export per PNG")
End If
Catch ex As Exception
FormHelper.ShowErrorMessage(ex, "Chart Export nach PNG")
End Try
End Sub
Sub ExportChart2Pdf(pMyChart As ChartControl, pFilePath As String)
Try
pMyChart.OptionsPrint.ImageFormat = DevExpress.XtraCharts.Printing.PrintImageFormat.Metafile
pMyChart.ExportToPdf(pFilePath, New DevExpress.XtraPrinting.PdfExportOptions With {
.ConvertImagesToJpeg = False
})
' Exports to a stream as PDF.
Dim pdfStream As FileStream = New FileStream(pFilePath, FileMode.Create)
pMyChart.ExportToPdf(pdfStream)
' ...
pdfStream.Close()
Catch ex As Exception
Logger.Error(ex)
End Try
End Sub
Sub ExportChartToImage(pMyChart As ChartControl, pFilePath As String)
Try
SaveChartImageToFile(pMyChart, ImageFormat.Png, pFilePath)
Dim image As Image = GetChartImage(pMyChart, ImageFormat.Png)
image.Save(pFilePath)
Catch ex As Exception
Logger.Error(ex)
End Try
End Sub
Private Sub SaveChartImageToFile(ByVal chart As ChartControl, ByVal format As ImageFormat, ByVal fileName As String)
' Create an image in the specified format from the chart
' and save it to the specified path.
chart.ExportToImage(fileName, format)
End Sub
Private Function GetChartImage(ByVal chart As ChartControl, ByVal format As ImageFormat) As Image
' Create an image.
Dim image As Image = Nothing
' Create an image of the chart.
Using s As New MemoryStream()
chart.ExportToImage(s, format)
image = System.Drawing.Image.FromStream(s)
End Using
' Return the image.
Return image
End Function
Private Sub btnDarkMode_ItemClick(sender As Object, e As ItemClickEventArgs) Handles btnDarkMode.ItemClick
SwitchDarkMode()
End Sub
Private Sub frmMonitor_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
If SkinMode = SkinModeEnum.LightMode Then
ConfigManager.Config.DarkMode = False
Else
ConfigManager.Config.DarkMode = True
End If
ConfigManager.Save()
End Sub
Private Sub SwitchDarkMode()
If SkinMode = SkinModeEnum.LightMode Then
WindowsFormsSettings.DefaultLookAndFeel.SetSkinStyle(SkinSvgPalette.DefaultSkin.BlueDark)
SkinMode = SkinModeEnum.DarkMode
Else
WindowsFormsSettings.DefaultLookAndFeel.SetSkinStyle(SkinSvgPalette.DefaultSkin.Default)
SkinMode = SkinModeEnum.LightMode
End If
End Sub
Private Sub SetDarkMode()
If SkinMode = SkinModeEnum.LightMode Then
WindowsFormsSettings.DefaultLookAndFeel.SetSkinStyle(SkinSvgPalette.DefaultSkin.Default)
Else
WindowsFormsSettings.DefaultLookAndFeel.SetSkinStyle(SkinSvgPalette.DefaultSkin.BlueDark)
End If
End Sub
End Class

View File

@@ -1,4 +1,5 @@
Imports DevExpress.Utils
Imports DevExpress.LookAndFeel
Imports DevExpress.Utils
Imports DevExpress.Utils.Extensions
Imports DevExpress.XtraCharts
Imports DevExpress.XtraEditors
@@ -8,6 +9,7 @@ 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
@@ -23,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}
@@ -114,23 +118,34 @@ Public Class GridLoader
oChartViewResultContainer.Panel1.AddControl(oSplitContainerTop)
oChartViewResultContainer.Panel2.AddControl(oSplitContainerBottom)
Dim oChartControlTopLeft As ChartControl = New ChartControl With {
Dim oChartControlTopLeft As New ChartControl With {
.Name = "ChartControlTopLeft",
.Dock = DockStyle.Fill
}
Dim oChartControlTopRight As ChartControl = New ChartControl With {
Dim oChartControlTopRight As New ChartControl With {
.Name = "ChartControlTopRight",
.Dock = DockStyle.Fill
}
Dim oChartControlBottomLeft As ChartControl = New ChartControl With {
Dim oChartControlBottomLeft As New ChartControl With {
.Name = "ChartControlBottomLeft",
.Dock = DockStyle.Fill
}
Dim oChartControlBottomRight As ChartControl = New ChartControl With {
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)
@@ -139,6 +154,10 @@ Public Class GridLoader
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")
@@ -236,4 +255,16 @@ 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

@@ -1,7 +1,6 @@
Imports DigitalData.Modules.Base
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language
Imports DigitalData.GUIs.Monitor.Constants
Public Class SearchLoader
@@ -10,6 +9,8 @@ Public Class SearchLoader
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)
@@ -37,9 +38,11 @@ Public Class SearchLoader
Dim oSearch = New Search With {
.Id = oSearchId,
.Title = oRow.ItemEx("TITLE", String.Empty),
.Description = oRow.ItemEx("CAPTION", 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
}
@@ -56,6 +59,11 @@ Public Class SearchLoader
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
@@ -93,7 +101,7 @@ Public Class SearchLoader
End Sub
Public Sub LoadChartParameters()
Dim oSQL As String = $"SELECT * FROM TBMON_CHARTS"
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)
@@ -106,13 +114,38 @@ Public Class SearchLoader
.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)
.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"
@@ -132,11 +165,30 @@ Public Class SearchLoader
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"
@@ -162,11 +214,57 @@ Public Class SearchLoader
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

View File

@@ -16,6 +16,8 @@
<OptionStrict>Off</OptionStrict>
<OptionInfer>On</OptionInfer>
<TargetFrameworkProfile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -46,19 +48,57 @@
<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="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="DevExpress.BonusSkins.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.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>
@@ -71,56 +111,203 @@
<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" />
<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="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>..\..\DDMonorepo\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewer.dll</HintPath>
<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>
<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.Database">
<HintPath>..\..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Logging">
<HintPath>..\..\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
<HintPath>..\..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Patterns">
<HintPath>..\..\DDModules\Patterns\bin\Debug\DigitalData.Modules.Patterns.dll</HintPath>
<HintPath>..\..\..\2_DLL Projekte\DDModules\Patterns\bin\Debug\DigitalData.Modules.Patterns.dll</HintPath>
</Reference>
<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" />
@@ -243,6 +430,13 @@
</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 © 2023")>
<Assembly: AssemblyTrademark("1.6.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.6.2.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: AssemblyVersion("1.7.1.0")>
<Assembly: AssemblyFileVersion("1.7.1.0")>

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System">
<section name="DevExpress.LookAndFeel.Design.AppSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
<section name="DevExpress.LookAndFeel.Design.AppSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
@@ -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>
@@ -41,29 +41,29 @@
<value></value>
</setting>
<setting name="CustomPaletteCollection" serializeAs="Xml">
<value/>
<value />
</setting>
</DevExpress.LookAndFeel.Design.AppSettings>
</applicationSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
<system.diagnostics>
<sources>
<!-- This section defines the logging configuration for My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
<add name="FileLog" />
<!-- Uncomment the below section to write to the Application Event Log -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information"/>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter"/>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter" />
<!-- Uncomment the below section and replace APPLICATION_NAME with the name of your application to write to the Application Event Log -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
@@ -71,13 +71,61 @@
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="FirebirdSql.Data.FirebirdClient" publicKeyToken="3750abcc3150b00c" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-7.5.0.0" newVersion="7.5.0.0"/>
<assemblyIdentity name="FirebirdSql.Data.FirebirdClient" publicKeyToken="3750abcc3150b00c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.5.0.0" newVersion="7.5.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
<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>
</configuration>

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>