Load Dynamic Form for frmEdit, Save Application Skin, add UIConfig
This commit is contained in:
parent
08e3ca9dd3
commit
72788c84bd
@ -51,17 +51,21 @@ Public Class ConfigManager(Of T)
|
|||||||
_Serializer = New XmlSerializer(_Blueprint.GetType)
|
_Serializer = New XmlSerializer(_Blueprint.GetType)
|
||||||
|
|
||||||
If Not Directory.Exists(UserConfigPath) Then
|
If Not Directory.Exists(UserConfigPath) Then
|
||||||
Throw New DirectoryNotFoundException($"Path {UserConfigPath} does not exist!")
|
Directory.CreateDirectory(UserConfigPath)
|
||||||
End If
|
|
||||||
|
|
||||||
If Not Directory.Exists(ComputerConfigPath) Then
|
'Throw New DirectoryNotFoundException($"Path {UserConfigPath} does not exist!")
|
||||||
Throw New DirectoryNotFoundException($"Path {ComputerConfigPath} does not exist!")
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
If Not _File.TestPathIsDirectory(UserConfigPath) Then
|
If Not _File.TestPathIsDirectory(UserConfigPath) Then
|
||||||
Throw New ArgumentException($"Path {UserConfigPath} is not a directory!")
|
Throw New ArgumentException($"Path {UserConfigPath} is not a directory!")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If Not Directory.Exists(ComputerConfigPath) Then
|
||||||
|
Directory.CreateDirectory(ComputerConfigPath)
|
||||||
|
|
||||||
|
'Throw New DirectoryNotFoundException($"Path {ComputerConfigPath} does not exist!")
|
||||||
|
End If
|
||||||
|
|
||||||
If Not _File.TestPathIsDirectory(ComputerConfigPath) Then
|
If Not _File.TestPathIsDirectory(ComputerConfigPath) Then
|
||||||
Throw New ArgumentException($"Path {ComputerConfigPath} is not a directory!")
|
Throw New ArgumentException($"Path {ComputerConfigPath} is not a directory!")
|
||||||
End If
|
End If
|
||||||
|
|||||||
@ -14,10 +14,16 @@ Namespace My
|
|||||||
|
|
||||||
Public Sub App_Startup() Handles Me.Startup
|
Public Sub App_Startup() Handles Me.Startup
|
||||||
Dim oLogConfig As New LogConfig(PathType.AppData)
|
Dim oLogConfig As New LogConfig(PathType.AppData)
|
||||||
Dim oConfigManager As New ConfigManager(Of ClassConfig)(oLogConfig, Windows.Forms.Application.UserAppDataPath, Windows.Forms.Application.CommonAppDataPath)
|
|
||||||
|
' TODO: WHERE SHOULD CONFIG BE SAVED? LOCAL/ROAMING
|
||||||
|
Dim oUIConfigPAth = IO.Path.Combine(Windows.Forms.Application.UserAppDataPath, ClassConstants.FOLDER_NAME_LAYOUT)
|
||||||
|
|
||||||
|
Dim oSystemConfigManager As New ConfigManager(Of ClassConfig)(oLogConfig, Windows.Forms.Application.UserAppDataPath, Windows.Forms.Application.CommonAppDataPath)
|
||||||
|
Dim oUIConfigManager As New ConfigManager(Of ClassUIConfig)(oLogConfig, oUIConfigPAth, oUIConfigPAth)
|
||||||
|
|
||||||
LogConfig = oLogConfig
|
LogConfig = oLogConfig
|
||||||
ConfigManager = oConfigManager
|
SystemConfigManager = oSystemConfigManager
|
||||||
|
UIConfigManager = oUIConfigManager
|
||||||
|
|
||||||
_Logger = LogConfig.GetLogger()
|
_Logger = LogConfig.GetLogger()
|
||||||
_Logger.Debug("Starting Client Suite..")
|
_Logger.Debug("Starting Client Suite..")
|
||||||
|
|||||||
@ -9,4 +9,12 @@
|
|||||||
Public Const FOLDER_NAME_LAYOUT = "Layout"
|
Public Const FOLDER_NAME_LAYOUT = "Layout"
|
||||||
|
|
||||||
Public Const ATTRIBUTE_ID_COLUMN = "RECORD_ID"
|
Public Const ATTRIBUTE_ID_COLUMN = "RECORD_ID"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Public Const DB_USER_ATTRIBUTE_ID = 1
|
||||||
|
Public Const DB_USER_ATTRIBUTE_SYSKEY = "001"
|
||||||
|
|
||||||
|
Public Const DB_GROUP_ATTRIBUTE_ID = 2
|
||||||
|
Public Const DB_GROUP_ATTRIBUTE_SYSKEY = "002"
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
Imports System.IO
|
Imports System.IO
|
||||||
|
Imports DevExpress.XtraGrid.Views.Base
|
||||||
|
|
||||||
''' <summary>
|
''' <summary>
|
||||||
''' Helper Class to save DevExpress layouts
|
''' Helper Class to save DevExpress layouts
|
||||||
@ -17,6 +18,7 @@
|
|||||||
Public Class ClassLayout
|
Public Class ClassLayout
|
||||||
Public Enum GroupName
|
Public Enum GroupName
|
||||||
LayoutMain
|
LayoutMain
|
||||||
|
LayoutUserManager
|
||||||
End Enum
|
End Enum
|
||||||
|
|
||||||
Public Enum LayoutComponent
|
Public Enum LayoutComponent
|
||||||
@ -35,6 +37,29 @@ Public Class ClassLayout
|
|||||||
Return Path.Combine(GetLayoutDirectory(), oFileName)
|
Return Path.Combine(GetLayoutDirectory(), oFileName)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Returns a path for the chosen Devexpress layout file
|
||||||
|
''' </summary>
|
||||||
|
''' <param name="Group">The Group to which the the component belongs to. For example, a form could be a Layout</param>
|
||||||
|
''' <param name="Component">The component to which the layout belongs to</param>
|
||||||
|
''' <returns></returns>
|
||||||
|
Public Shared Function GetLayoutPath(Group As GroupName, Component As String) As String
|
||||||
|
Dim oFileName As String = $"{Group.ToString}-{Component}.xml"
|
||||||
|
Return Path.Combine(GetLayoutDirectory(), oFileName)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Returns a path for the chosen Devexpress layout file
|
||||||
|
''' </summary>
|
||||||
|
''' <param name="Group">The Group to which the the component belongs to. For example, a form could be a Layout</param>
|
||||||
|
''' <param name="Component">The component to which the layout belongs to</param>
|
||||||
|
''' <param name="SubComponent">The sub component under the component</param>
|
||||||
|
''' <returns></returns>
|
||||||
|
Public Shared Function GetLayoutPath(Group As GroupName, Component As String, SubComponent As String) As String
|
||||||
|
Dim oFileName As String = $"{Group.ToString}-{Component}-{SubComponent}.xml"
|
||||||
|
Return Path.Combine(GetLayoutDirectory(), oFileName)
|
||||||
|
End Function
|
||||||
|
|
||||||
Public Shared Function GetLayoutDirectory() As String
|
Public Shared Function GetLayoutDirectory() As String
|
||||||
Return Path.Combine(GetAppDataFolder(), ClassConstants.FOLDER_NAME_LAYOUT)
|
Return Path.Combine(GetAppDataFolder(), ClassConstants.FOLDER_NAME_LAYOUT)
|
||||||
End Function
|
End Function
|
||||||
|
|||||||
@ -19,7 +19,7 @@ Public Class ClassService
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Public Function TestConnection() As ConnectionTestResult
|
Public Function TestConnection() As ConnectionTestResult
|
||||||
Return TestConnection(My.Config.ServiceConnection)
|
Return TestConnection(My.SysConfig.ServiceConnection)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function TestConnection(EndpointURL As String) As ConnectionTestResult
|
Public Function TestConnection(EndpointURL As String) As ConnectionTestResult
|
||||||
@ -41,7 +41,7 @@ Public Class ClassService
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Async Function TestConnectionAsync() As Task(Of ConnectionTestResult)
|
Public Async Function TestConnectionAsync() As Task(Of ConnectionTestResult)
|
||||||
Return Await TestConnectionAsync(My.Config.ServiceConnection)
|
Return Await TestConnectionAsync(My.SysConfig.ServiceConnection)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Async Function TestConnectionAsync(EndpointURL As String) As Task(Of ConnectionTestResult)
|
Public Async Function TestConnectionAsync(EndpointURL As String) As Task(Of ConnectionTestResult)
|
||||||
@ -65,7 +65,7 @@ Public Class ClassService
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function GetChannelFactory() As IChannelFactory(Of IEDMServiceChannel)
|
Public Function GetChannelFactory() As IChannelFactory(Of IEDMServiceChannel)
|
||||||
Return GetChannelFactory(My.Config.ServiceConnection)
|
Return GetChannelFactory(My.SysConfig.ServiceConnection)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Function GetChannelFactory(EndpointURL As String) As ChannelFactory(Of IEDMServiceChannel)
|
Public Function GetChannelFactory(EndpointURL As String) As ChannelFactory(Of IEDMServiceChannel)
|
||||||
|
|||||||
3
EDMI_ClientSuite/ClassUIConfig.vb
Normal file
3
EDMI_ClientSuite/ClassUIConfig.vb
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Public Class ClassUIConfig
|
||||||
|
Public Property SkinName As String = "Office 2016 Colorful"
|
||||||
|
End Class
|
||||||
@ -123,6 +123,7 @@
|
|||||||
<Compile Include="ClassLayout.vb" />
|
<Compile Include="ClassLayout.vb" />
|
||||||
<Compile Include="ClassService.vb" />
|
<Compile Include="ClassService.vb" />
|
||||||
<Compile Include="ClassTimer.vb" />
|
<Compile Include="ClassTimer.vb" />
|
||||||
|
<Compile Include="ClassUIConfig.vb" />
|
||||||
<Compile Include="ClassUIUtils.vb" />
|
<Compile Include="ClassUIUtils.vb" />
|
||||||
<Compile Include="ClassUtils.vb" />
|
<Compile Include="ClassUtils.vb" />
|
||||||
<Compile Include="DockManagerTest.Designer.vb">
|
<Compile Include="DockManagerTest.Designer.vb">
|
||||||
|
|||||||
@ -1,9 +1,10 @@
|
|||||||
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
DevExpress.XtraDataLayout.DataLayoutControl, DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
|
||||||
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
|
||||||
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
|
||||||
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
|
||||||
DevExpress.XtraVerticalGrid.PropertyGridControl, DevExpress.XtraVerticalGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
DevExpress.XtraVerticalGrid.PropertyGridControl, DevExpress.XtraVerticalGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
DevExpress.XtraBars.Docking.DockManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
DevExpress.XtraEditors.ButtonEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
|
DevExpress.XtraBars.Docking2010.DocumentManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
DevExpress.XtraTabbedMdi.XtraTabbedMdiManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
DevExpress.XtraTabbedMdi.XtraTabbedMdiManager, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
|
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
|
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
|
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
|
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
|
||||||
|
|||||||
@ -11,12 +11,20 @@ Namespace My
|
|||||||
''' </summary>
|
''' </summary>
|
||||||
<HideModuleName()>
|
<HideModuleName()>
|
||||||
Module Extension
|
Module Extension
|
||||||
Property ConfigManager As ConfigManager(Of ClassConfig)
|
Property SystemConfigManager As ConfigManager(Of ClassConfig)
|
||||||
ReadOnly Property Config As ClassConfig
|
ReadOnly Property SysConfig As ClassConfig
|
||||||
Get
|
Get
|
||||||
Return ConfigManager.Config
|
Return SystemConfigManager.Config
|
||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
Property UIConfigManager As ConfigManager(Of ClassUIConfig)
|
||||||
|
ReadOnly Property UIConfig As ClassUIConfig
|
||||||
|
Get
|
||||||
|
Return UIConfigManager.Config
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
Property LogConfig As LogConfig
|
Property LogConfig As LogConfig
|
||||||
Property ChannelFactory As ChannelFactory(Of IEDMServiceChannel)
|
Property ChannelFactory As ChannelFactory(Of IEDMServiceChannel)
|
||||||
Property Channel As IEDMServiceChannel
|
Property Channel As IEDMServiceChannel
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
Imports DevExpress.XtraGrid
|
Imports DevExpress.XtraGrid
|
||||||
Imports DevExpress.XtraGrid.Views.Base
|
Imports DevExpress.XtraGrid.Views.Base
|
||||||
Imports DevExpress.XtraGrid.Views.Grid
|
Imports DevExpress.XtraGrid.Views.Grid
|
||||||
|
Imports DigitalData.GUIs.ClientSuite.ClassLayout
|
||||||
|
|
||||||
Public Class UserControlAssignment
|
Public Class UserControlAssignment
|
||||||
Private _DragDropManager As ClassDragDrop
|
Private _DragDropManager As ClassDragDrop
|
||||||
@ -41,6 +42,22 @@ Public Class UserControlAssignment
|
|||||||
GridAssignedToParent = ClassUIUtils.ConfigureGridControlDefaults(GridAssignedToParent, [ReadOnly]:=True)
|
GridAssignedToParent = ClassUIUtils.ConfigureGridControlDefaults(GridAssignedToParent, [ReadOnly]:=True)
|
||||||
ViewAssignedToParent.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect
|
ViewAssignedToParent.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CheckBoxRowSelect
|
||||||
ViewAssignedToParent.OptionsSelection.MultiSelect = True
|
ViewAssignedToParent.OptionsSelection.MultiSelect = True
|
||||||
|
|
||||||
|
' Load view layouts
|
||||||
|
|
||||||
|
Dim ViewParentListPath = GetLayoutPath(GroupName.LayoutUserManager, Name, ViewParentList.Name)
|
||||||
|
Dim ViewAssignedPath = GetLayoutPath(GroupName.LayoutUserManager, Name, ViewAssignedToParent.Name)
|
||||||
|
Dim ViewNotAssignedPath = GetLayoutPath(GroupName.LayoutUserManager, Name, ViewNotAssignedToParent.Name)
|
||||||
|
|
||||||
|
If IO.File.Exists(ViewParentListPath) Then
|
||||||
|
ViewParentList.RestoreLayoutFromXml(ViewParentListPath)
|
||||||
|
End If
|
||||||
|
If IO.File.Exists(ViewAssignedPath) Then
|
||||||
|
ViewAssignedToParent.RestoreLayoutFromXml(ViewAssignedPath)
|
||||||
|
End If
|
||||||
|
If IO.File.Exists(ViewNotAssignedPath) Then
|
||||||
|
ViewNotAssignedToParent.RestoreLayoutFromXml(ViewNotAssignedPath)
|
||||||
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Function MaybeCopyToDataTable(RowCollection As EnumerableRowCollection(Of DataRow)) As DataTable
|
Private Function MaybeCopyToDataTable(RowCollection As EnumerableRowCollection(Of DataRow)) As DataTable
|
||||||
@ -174,4 +191,10 @@ Public Class UserControlAssignment
|
|||||||
GridAssignedToParent.DataSource = MaybeCopyToDataTable(oAssignedChildren)
|
GridAssignedToParent.DataSource = MaybeCopyToDataTable(oAssignedChildren)
|
||||||
GridNotAssignedToParent.DataSource = MaybeCopyToDataTable(oNotAssignedChildren)
|
GridNotAssignedToParent.DataSource = MaybeCopyToDataTable(oNotAssignedChildren)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub View_LayoutChanged(sender As Object, e As EventArgs) Handles ViewNotAssignedToParent.Layout, ViewAssignedToParent.Layout, ViewParentList.Layout
|
||||||
|
Dim oView As BaseView = sender
|
||||||
|
Dim oLayoutPath = GetLayoutPath(GroupName.LayoutUserManager, Name, oView.Name)
|
||||||
|
oView.SaveLayoutToXml(oLayoutPath)
|
||||||
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
113
EDMI_ClientSuite/UserManager/frmEdit.Designer.vb
generated
113
EDMI_ClientSuite/UserManager/frmEdit.Designer.vb
generated
@ -1,6 +1,6 @@
|
|||||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
|
||||||
Partial Class frmEdit
|
Partial Class frmEdit
|
||||||
Inherits System.Windows.Forms.Form
|
Inherits DevExpress.XtraBars.Ribbon.RibbonForm
|
||||||
|
|
||||||
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
|
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
|
||||||
<System.Diagnostics.DebuggerNonUserCode()>
|
<System.Diagnostics.DebuggerNonUserCode()>
|
||||||
@ -22,27 +22,38 @@ Partial Class frmEdit
|
|||||||
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
|
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
|
||||||
<System.Diagnostics.DebuggerStepThrough()>
|
<System.Diagnostics.DebuggerStepThrough()>
|
||||||
Private Sub InitializeComponent()
|
Private Sub InitializeComponent()
|
||||||
|
Me.components = New System.ComponentModel.Container()
|
||||||
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
|
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
|
||||||
Me.GridList = New DevExpress.XtraGrid.GridControl()
|
Me.GridList = New DevExpress.XtraGrid.GridControl()
|
||||||
Me.ViewList = New DevExpress.XtraGrid.Views.Grid.GridView()
|
Me.ViewList = New DevExpress.XtraGrid.Views.Grid.GridView()
|
||||||
Me.PanelEditControls = New DevExpress.XtraEditors.PanelControl()
|
Me.LayoutControl1 = New DevExpress.XtraLayout.LayoutControl()
|
||||||
|
Me.LayoutControlGroup1 = New DevExpress.XtraLayout.LayoutControlGroup()
|
||||||
|
Me.RibbonControl1 = New DevExpress.XtraBars.Ribbon.RibbonControl()
|
||||||
|
Me.RibbonPage1 = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||||
|
Me.RibbonPageGroup1 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||||
|
Me.RibbonPageGroup2 = New DevExpress.XtraBars.Ribbon.RibbonPageGroup()
|
||||||
|
Me.RibbonStatusBar1 = New DevExpress.XtraBars.Ribbon.RibbonStatusBar()
|
||||||
|
Me.RibbonPage2 = New DevExpress.XtraBars.Ribbon.RibbonPage()
|
||||||
|
Me.BarButtonItem1 = New DevExpress.XtraBars.BarButtonItem()
|
||||||
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
Me.SplitContainerControl1.SuspendLayout()
|
Me.SplitContainerControl1.SuspendLayout()
|
||||||
CType(Me.GridList, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.GridList, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.ViewList, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.ViewList, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
CType(Me.PanelEditControls, System.ComponentModel.ISupportInitialize).BeginInit()
|
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
|
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||||
Me.SuspendLayout()
|
Me.SuspendLayout()
|
||||||
'
|
'
|
||||||
'SplitContainerControl1
|
'SplitContainerControl1
|
||||||
'
|
'
|
||||||
Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 0)
|
Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 146)
|
||||||
Me.SplitContainerControl1.Name = "SplitContainerControl1"
|
Me.SplitContainerControl1.Name = "SplitContainerControl1"
|
||||||
Me.SplitContainerControl1.Panel1.Controls.Add(Me.GridList)
|
Me.SplitContainerControl1.Panel1.Controls.Add(Me.GridList)
|
||||||
Me.SplitContainerControl1.Panel1.Text = "Panel1"
|
Me.SplitContainerControl1.Panel1.Text = "Panel1"
|
||||||
Me.SplitContainerControl1.Panel2.Controls.Add(Me.PanelEditControls)
|
Me.SplitContainerControl1.Panel2.Controls.Add(Me.LayoutControl1)
|
||||||
Me.SplitContainerControl1.Panel2.Text = "Panel2"
|
Me.SplitContainerControl1.Panel2.Text = "Panel2"
|
||||||
Me.SplitContainerControl1.Size = New System.Drawing.Size(1104, 505)
|
Me.SplitContainerControl1.Size = New System.Drawing.Size(1104, 338)
|
||||||
Me.SplitContainerControl1.SplitterPosition = 332
|
Me.SplitContainerControl1.SplitterPosition = 332
|
||||||
Me.SplitContainerControl1.TabIndex = 0
|
Me.SplitContainerControl1.TabIndex = 0
|
||||||
Me.SplitContainerControl1.Text = "SplitContainerControl1"
|
Me.SplitContainerControl1.Text = "SplitContainerControl1"
|
||||||
@ -53,7 +64,7 @@ Partial Class frmEdit
|
|||||||
Me.GridList.Location = New System.Drawing.Point(0, 0)
|
Me.GridList.Location = New System.Drawing.Point(0, 0)
|
||||||
Me.GridList.MainView = Me.ViewList
|
Me.GridList.MainView = Me.ViewList
|
||||||
Me.GridList.Name = "GridList"
|
Me.GridList.Name = "GridList"
|
||||||
Me.GridList.Size = New System.Drawing.Size(332, 505)
|
Me.GridList.Size = New System.Drawing.Size(332, 338)
|
||||||
Me.GridList.TabIndex = 0
|
Me.GridList.TabIndex = 0
|
||||||
Me.GridList.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ViewList})
|
Me.GridList.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ViewList})
|
||||||
'
|
'
|
||||||
@ -62,13 +73,70 @@ Partial Class frmEdit
|
|||||||
Me.ViewList.GridControl = Me.GridList
|
Me.ViewList.GridControl = Me.GridList
|
||||||
Me.ViewList.Name = "ViewList"
|
Me.ViewList.Name = "ViewList"
|
||||||
'
|
'
|
||||||
'PanelEditControls
|
'LayoutControl1
|
||||||
'
|
'
|
||||||
Me.PanelEditControls.Dock = System.Windows.Forms.DockStyle.Fill
|
Me.LayoutControl1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||||
Me.PanelEditControls.Location = New System.Drawing.Point(0, 0)
|
Me.LayoutControl1.Location = New System.Drawing.Point(0, 0)
|
||||||
Me.PanelEditControls.Name = "PanelEditControls"
|
Me.LayoutControl1.Name = "LayoutControl1"
|
||||||
Me.PanelEditControls.Size = New System.Drawing.Size(760, 505)
|
Me.LayoutControl1.OptionsCustomizationForm.DesignTimeCustomizationFormPositionAndSize = New System.Drawing.Rectangle(-870, 211, 650, 400)
|
||||||
Me.PanelEditControls.TabIndex = 0
|
Me.LayoutControl1.Root = Me.LayoutControlGroup1
|
||||||
|
Me.LayoutControl1.Size = New System.Drawing.Size(760, 338)
|
||||||
|
Me.LayoutControl1.TabIndex = 0
|
||||||
|
Me.LayoutControl1.Text = "LayoutControl1"
|
||||||
|
'
|
||||||
|
'LayoutControlGroup1
|
||||||
|
'
|
||||||
|
Me.LayoutControlGroup1.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
|
||||||
|
Me.LayoutControlGroup1.GroupBordersVisible = False
|
||||||
|
Me.LayoutControlGroup1.Name = "Root"
|
||||||
|
Me.LayoutControlGroup1.Size = New System.Drawing.Size(760, 338)
|
||||||
|
Me.LayoutControlGroup1.TextVisible = False
|
||||||
|
'
|
||||||
|
'RibbonControl1
|
||||||
|
'
|
||||||
|
Me.RibbonControl1.ExpandCollapseItem.Id = 0
|
||||||
|
Me.RibbonControl1.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl1.ExpandCollapseItem, Me.BarButtonItem1})
|
||||||
|
Me.RibbonControl1.Location = New System.Drawing.Point(0, 0)
|
||||||
|
Me.RibbonControl1.MaxItemId = 2
|
||||||
|
Me.RibbonControl1.Name = "RibbonControl1"
|
||||||
|
Me.RibbonControl1.Pages.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPage() {Me.RibbonPage1})
|
||||||
|
Me.RibbonControl1.Size = New System.Drawing.Size(1104, 146)
|
||||||
|
Me.RibbonControl1.StatusBar = Me.RibbonStatusBar1
|
||||||
|
'
|
||||||
|
'RibbonPage1
|
||||||
|
'
|
||||||
|
Me.RibbonPage1.Groups.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageGroup() {Me.RibbonPageGroup1, Me.RibbonPageGroup2})
|
||||||
|
Me.RibbonPage1.Name = "RibbonPage1"
|
||||||
|
Me.RibbonPage1.Text = "RibbonPage1"
|
||||||
|
'
|
||||||
|
'RibbonPageGroup1
|
||||||
|
'
|
||||||
|
Me.RibbonPageGroup1.ItemLinks.Add(Me.BarButtonItem1)
|
||||||
|
Me.RibbonPageGroup1.Name = "RibbonPageGroup1"
|
||||||
|
Me.RibbonPageGroup1.Text = "RibbonPageGroup1"
|
||||||
|
'
|
||||||
|
'RibbonPageGroup2
|
||||||
|
'
|
||||||
|
Me.RibbonPageGroup2.Name = "RibbonPageGroup2"
|
||||||
|
Me.RibbonPageGroup2.Text = "RibbonPageGroup2"
|
||||||
|
'
|
||||||
|
'RibbonStatusBar1
|
||||||
|
'
|
||||||
|
Me.RibbonStatusBar1.Location = New System.Drawing.Point(0, 484)
|
||||||
|
Me.RibbonStatusBar1.Name = "RibbonStatusBar1"
|
||||||
|
Me.RibbonStatusBar1.Ribbon = Me.RibbonControl1
|
||||||
|
Me.RibbonStatusBar1.Size = New System.Drawing.Size(1104, 21)
|
||||||
|
'
|
||||||
|
'RibbonPage2
|
||||||
|
'
|
||||||
|
Me.RibbonPage2.Name = "RibbonPage2"
|
||||||
|
Me.RibbonPage2.Text = "RibbonPage2"
|
||||||
|
'
|
||||||
|
'BarButtonItem1
|
||||||
|
'
|
||||||
|
Me.BarButtonItem1.Caption = "BarButtonItem1"
|
||||||
|
Me.BarButtonItem1.Id = 1
|
||||||
|
Me.BarButtonItem1.Name = "BarButtonItem1"
|
||||||
'
|
'
|
||||||
'frmEdit
|
'frmEdit
|
||||||
'
|
'
|
||||||
@ -76,19 +144,34 @@ Partial Class frmEdit
|
|||||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||||
Me.ClientSize = New System.Drawing.Size(1104, 505)
|
Me.ClientSize = New System.Drawing.Size(1104, 505)
|
||||||
Me.Controls.Add(Me.SplitContainerControl1)
|
Me.Controls.Add(Me.SplitContainerControl1)
|
||||||
|
Me.Controls.Add(Me.RibbonStatusBar1)
|
||||||
|
Me.Controls.Add(Me.RibbonControl1)
|
||||||
Me.Name = "frmEdit"
|
Me.Name = "frmEdit"
|
||||||
|
Me.Ribbon = Me.RibbonControl1
|
||||||
|
Me.StatusBar = Me.RibbonStatusBar1
|
||||||
Me.Text = "frmEdit"
|
Me.Text = "frmEdit"
|
||||||
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
Me.SplitContainerControl1.ResumeLayout(False)
|
Me.SplitContainerControl1.ResumeLayout(False)
|
||||||
CType(Me.GridList, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.GridList, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me.ViewList, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.ViewList, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
CType(Me.PanelEditControls, System.ComponentModel.ISupportInitialize).EndInit()
|
CType(Me.LayoutControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.LayoutControlGroup1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
|
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||||
Me.ResumeLayout(False)
|
Me.ResumeLayout(False)
|
||||||
|
Me.PerformLayout()
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl
|
Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl
|
||||||
Friend WithEvents GridList As DevExpress.XtraGrid.GridControl
|
Friend WithEvents GridList As DevExpress.XtraGrid.GridControl
|
||||||
Friend WithEvents ViewList As DevExpress.XtraGrid.Views.Grid.GridView
|
Friend WithEvents ViewList As DevExpress.XtraGrid.Views.Grid.GridView
|
||||||
Friend WithEvents PanelEditControls As DevExpress.XtraEditors.PanelControl
|
Friend WithEvents LayoutControl1 As DevExpress.XtraLayout.LayoutControl
|
||||||
|
Friend WithEvents LayoutControlGroup1 As DevExpress.XtraLayout.LayoutControlGroup
|
||||||
|
Friend WithEvents RibbonControl1 As DevExpress.XtraBars.Ribbon.RibbonControl
|
||||||
|
Friend WithEvents RibbonPage1 As DevExpress.XtraBars.Ribbon.RibbonPage
|
||||||
|
Friend WithEvents RibbonPageGroup1 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||||
|
Friend WithEvents RibbonPageGroup2 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
|
||||||
|
Friend WithEvents RibbonStatusBar1 As DevExpress.XtraBars.Ribbon.RibbonStatusBar
|
||||||
|
Friend WithEvents RibbonPage2 As DevExpress.XtraBars.Ribbon.RibbonPage
|
||||||
|
Friend WithEvents BarButtonItem1 As DevExpress.XtraBars.BarButtonItem
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@ -1,11 +1,104 @@
|
|||||||
Public Class frmEdit
|
Imports DevExpress.XtraEditors
|
||||||
Public Property Datatable As DataTable
|
Imports DevExpress.XtraLayout
|
||||||
|
|
||||||
Private Sub frmEdit_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
Public Class frmEdit
|
||||||
GridList = ClassUIUtils.ConfigureGridControlDefaults(GridList)
|
Private ReadOnly _Datatable As DataTable
|
||||||
|
Private _LanguageDatatable As DataTable
|
||||||
|
Private _AttributeId As Integer
|
||||||
|
|
||||||
|
Public Sub New(AttributeId As Integer, Datatable As DataTable)
|
||||||
|
' Dieser Aufruf ist für den Designer erforderlich.
|
||||||
|
InitializeComponent()
|
||||||
|
|
||||||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||||
_Datatable = DataTable
|
_Datatable = Datatable
|
||||||
GridList.DataSource = DataTable
|
_AttributeId = AttributeId
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Async Sub frmEdit_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||||
|
GridList = ClassUIUtils.ConfigureGridControlDefaults(GridList, [ReadOnly]:=True)
|
||||||
|
|
||||||
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||||||
|
GridList.DataSource = _Datatable
|
||||||
|
|
||||||
|
Dim oUserLanguage = My.Application.User.Language
|
||||||
|
Await LoadLanguageTableAsync(oUserLanguage)
|
||||||
|
LoadFormLayout()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Async Function LoadLanguageTableAsync(UserLanguage As String) As Task
|
||||||
|
Dim oSQL = $"SELECT * FROM VWICM_ATTRIBUTE_LANGUAGE WHERE LANGUAGE_CODE = '{UserLanguage}' AND PARENT_ATTRIBUTE_ID = '{_AttributeId}' ORDER BY ""SEQUENCE"";"
|
||||||
|
|
||||||
|
Await My.Channel.CreateDatabaseRequestAsync("Language Syskey", False)
|
||||||
|
Dim oResult = Await My.Channel.ReturnDatatableAsync(oSQL)
|
||||||
|
_LanguageDatatable = oResult.Table
|
||||||
|
|
||||||
|
Await My.Channel.CloseDatabaseRequestAsync()
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function GetColumnEditor(Column As DataColumn, AttributeId As Integer)
|
||||||
|
Dim oEditor As BaseEdit
|
||||||
|
|
||||||
|
Select Case Column.DataType
|
||||||
|
Case GetType(Int64)
|
||||||
|
Dim oTextEdit = New TextEdit()
|
||||||
|
oTextEdit.Name = Column.ColumnName
|
||||||
|
oTextEdit.Properties.Mask.MaskType = Mask.MaskType.Numeric
|
||||||
|
oTextEdit.Properties.Mask.EditMask = "n"
|
||||||
|
oEditor = oTextEdit
|
||||||
|
Case Else
|
||||||
|
oEditor = New TextEdit() With {.Name = Column.ColumnName}
|
||||||
|
End Select
|
||||||
|
|
||||||
|
If AttributeId > 0 Then
|
||||||
|
oEditor.Tag = AttributeId
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return oEditor
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function GetColumnCaption(Column As DataColumn, SequenceId As Integer)
|
||||||
|
Dim oRow = GetRowBySequence(SequenceId)
|
||||||
|
Dim oCaption = Column.ColumnName
|
||||||
|
|
||||||
|
If oRow IsNot Nothing Then
|
||||||
|
oCaption = oRow.Item("LANGUAGE_TERM")
|
||||||
|
ElseIf oCaption = ClassConstants.ATTRIBUTE_ID_COLUMN Then
|
||||||
|
oCaption = "ID"
|
||||||
|
End If
|
||||||
|
|
||||||
|
Return oCaption
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function GetRowBySequence(SequenceId As Integer)
|
||||||
|
Return _LanguageDatatable.Select($"SEQUENCE = {SequenceId}").FirstOrDefault()
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function GetRowItemBySequence(SequenceId As Integer, ColumnName As String)
|
||||||
|
Dim oRow = _LanguageDatatable.Select($"SEQUENCE = {SequenceId}").FirstOrDefault()
|
||||||
|
Return oRow?.Item(ColumnName)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Sub LoadFormLayout()
|
||||||
|
' Counter is used to match SEQUENCE in Attributes
|
||||||
|
' to column order in the used View (eg. VWICM_USER)
|
||||||
|
Dim oCounter = 0
|
||||||
|
|
||||||
|
For Each oColumn As DataColumn In _Datatable.Columns
|
||||||
|
Dim oAttributeId As Integer = GetRowItemBySequence(oCounter, "ATTRIBUTE_ID")
|
||||||
|
Dim oCaption = GetColumnCaption(oColumn, oCounter)
|
||||||
|
Dim oEditor = GetColumnEditor(oColumn, oAttributeId)
|
||||||
|
oEditor.DataBindings.Add(New Binding("Text", _Datatable, oColumn.ColumnName))
|
||||||
|
|
||||||
|
' Add Control to Layout
|
||||||
|
LayoutControlGroup1.AddItem(oCaption, oEditor)
|
||||||
|
ViewList.Columns.Item(oColumn.ColumnName).Caption = oCaption
|
||||||
|
|
||||||
|
oCounter = oCounter + 1
|
||||||
|
Next
|
||||||
|
|
||||||
|
' General Layout Tweaks
|
||||||
|
LayoutControlGroup1.AddItem(New EmptySpaceItem())
|
||||||
|
LayoutControlGroup1.LayoutMode = Utils.LayoutMode.Flow
|
||||||
End Sub
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
@ -18,6 +18,8 @@ Public Class frmUserManager
|
|||||||
|
|
||||||
AddHandler UCUserToGroup.ChildRemoved, AddressOf HandleUserAssignedToGroup
|
AddHandler UCUserToGroup.ChildRemoved, AddressOf HandleUserAssignedToGroup
|
||||||
AddHandler UCUserToGroup.ChildAdded, AddressOf HandleUserDismissedFromGroup
|
AddHandler UCUserToGroup.ChildAdded, AddressOf HandleUserDismissedFromGroup
|
||||||
|
|
||||||
|
RibbonControl.SelectPage(RibbonPageUserManager)
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Async Function InitUserToGroupData() As Task
|
Private Async Function InitUserToGroupData() As Task
|
||||||
@ -65,19 +67,20 @@ Public Class frmUserManager
|
|||||||
|
|
||||||
Private Async Sub BarButtonUserEdit_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonUserEdit.ItemClick
|
Private Async Sub BarButtonUserEdit_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonUserEdit.ItemClick
|
||||||
Dim oDatatable = Await GetAttributeListAsync("User")
|
Dim oDatatable = Await GetAttributeListAsync("User")
|
||||||
Dim oForm As New frmEdit()
|
Dim oForm As New frmEdit(ClassConstants.DB_USER_ATTRIBUTE_ID, oDatatable)
|
||||||
oForm.Datatable = oDatatable
|
'oForm.MdiParent = o
|
||||||
oForm.Show()
|
oForm.Show()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Async Sub BarButtonGroupEdit_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonGroupEdit.ItemClick
|
Private Async Sub BarButtonGroupEdit_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonGroupEdit.ItemClick
|
||||||
Dim oDatatable = Await GetAttributeListAsync("Group")
|
Dim oDatatable = Await GetAttributeListAsync("Group")
|
||||||
Dim oForm As New frmEdit()
|
Dim oForm As New frmEdit(ClassConstants.DB_GROUP_ATTRIBUTE_ID, oDatatable)
|
||||||
oForm.Datatable = oDatatable
|
|
||||||
oForm.Show()
|
oForm.Show()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Async Sub BarButtonRefresh_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonRefresh.ItemClick
|
Private Async Sub BarButtonRefresh_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonRefresh.ItemClick
|
||||||
Await UpdateUserToGroupData()
|
Await UpdateUserToGroupData()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
End Class
|
End Class
|
||||||
@ -4,9 +4,9 @@
|
|||||||
Private Sub frmServiceConfig_Load(sender As Object, e As EventArgs) Handles Me.Load
|
Private Sub frmServiceConfig_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||||
_Service = New ClassService(My.LogConfig)
|
_Service = New ClassService(My.LogConfig)
|
||||||
|
|
||||||
If My.ConfigManager.Config.ServiceConnection <> String.Empty Then
|
If My.SystemConfigManager.Config.ServiceConnection <> String.Empty Then
|
||||||
txtIPAddress.Text = My.ConfigManager.Config.ServiceIP
|
txtIPAddress.Text = My.SystemConfigManager.Config.ServiceIP
|
||||||
txtPort.Text = My.ConfigManager.Config.ServicePort
|
txtPort.Text = My.SystemConfigManager.Config.ServicePort
|
||||||
End If
|
End If
|
||||||
|
|
||||||
txtIPAddress.Focus()
|
txtIPAddress.Focus()
|
||||||
@ -18,14 +18,14 @@
|
|||||||
Dim oEndpointURL = $"net.tcp://{oIPAddress}:{oPort}/DigitalData/Services/Main"
|
Dim oEndpointURL = $"net.tcp://{oIPAddress}:{oPort}/DigitalData/Services/Main"
|
||||||
Dim oResult As ClassService.ConnectionTestResult
|
Dim oResult As ClassService.ConnectionTestResult
|
||||||
|
|
||||||
My.Config.ServiceIP = oIPAddress
|
My.SysConfig.ServiceIP = oIPAddress
|
||||||
My.Config.ServicePort = Integer.Parse(oPort)
|
My.SysConfig.ServicePort = Integer.Parse(oPort)
|
||||||
|
|
||||||
lblStatus.Text = "Verbindung wird hergestellt..."
|
lblStatus.Text = "Verbindung wird hergestellt..."
|
||||||
oResult = Await _Service.TestConnectionAsync()
|
oResult = Await _Service.TestConnectionAsync()
|
||||||
|
|
||||||
If oResult = ClassService.ConnectionTestResult.Successful Then
|
If oResult = ClassService.ConnectionTestResult.Successful Then
|
||||||
My.ConfigManager.Save()
|
My.SystemConfigManager.Save()
|
||||||
lblStatus.Text = "Verbindung hergestellt."
|
lblStatus.Text = "Verbindung hergestellt."
|
||||||
Else
|
Else
|
||||||
Select Case oResult
|
Select Case oResult
|
||||||
|
|||||||
@ -14,7 +14,7 @@ Public Class frmConfigUser
|
|||||||
Private Sub frmUserBasics_Load(sender As Object, e As EventArgs) Handles Me.Load
|
Private Sub frmUserBasics_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||||
_Logger = My.LogConfig.GetLogger()
|
_Logger = My.LogConfig.GetLogger()
|
||||||
|
|
||||||
chkLogErrorsOnly.Checked = Not My.Config.LogDebug
|
chkLogErrorsOnly.Checked = Not My.SysConfig.LogDebug
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub btnLogFolder_Click(sender As Object, e As EventArgs) Handles btnLogFolder.Click
|
Private Sub btnLogFolder_Click(sender As Object, e As EventArgs) Handles btnLogFolder.Click
|
||||||
@ -28,7 +28,7 @@ Public Class frmConfigUser
|
|||||||
Private Sub chkLogErrorsOnly_CheckedChanged(sender As Object, e As EventArgs) Handles chkLogErrorsOnly.CheckedChanged
|
Private Sub chkLogErrorsOnly_CheckedChanged(sender As Object, e As EventArgs) Handles chkLogErrorsOnly.CheckedChanged
|
||||||
Dim oLogDebug = Not chkLogErrorsOnly.Checked
|
Dim oLogDebug = Not chkLogErrorsOnly.Checked
|
||||||
My.LogConfig.Debug = oLogDebug
|
My.LogConfig.Debug = oLogDebug
|
||||||
My.Config.LogDebug = oLogDebug
|
My.SysConfig.LogDebug = oLogDebug
|
||||||
My.ConfigManager.Save()
|
My.SystemConfigManager.Save()
|
||||||
End Sub
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
@ -123,57 +123,56 @@
|
|||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="BarButtonExit.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="BarButtonExit.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAHXRFWHRUaXRsZQBDbG9zZTtF
|
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAddEVYdFRpdGxlAENsb3NlO0V4aXQ7QmFycztSaWJi
|
||||||
eGl0O0JhcnM7UmliYm9uO0YDuegAAAC0SURBVDhPrZJBCsJAEAQ9Bf1XfuJHVCJINPgWPfkUf7N2LztL
|
b247RgO56AAAALRJREFUOE+tkkEKwkAQBD0F/Vd+4kdUIkg0+BY9+RR/s3YvO0vv7HiQeCjE7ukiBjfv
|
||||||
7+x4kHgoxO7pIgY37/2Y1vB3wROcXaZMgDc1UwGLIaWcnSQ3DqUbwMNyFcw8MPBdJXks3WKdCsjFHR6B
|
/ZjW8HfBE5xdpkyANzVTAYshpZydJDcOpRvAw3IVzDww8F0leSzdYp0KyMUdHoEfX8ttKCCNREHXjEkk
|
||||||
H1/LbSggjURB14xJJCCdBFk3Jt8EzWMXAX9OdxsJurGBrpN4gX9hNxC92FAwuUOOrfOS+mdTwQvsgrGR
|
IJ0EWTcm3wTNYxcBf053Gwm6sYGuk3iBf2E3EL3YUDC5Q46t85L6Z1PBC+yCsZEl+NwC3uZcBYTF3WXK
|
||||||
JfjcAt7mXAWExd1lygzqmHjBz6wUjOkDS6KAnnKqaOAAAAAASUVORK5CYII=
|
DOqYeMHPrBSM6QNLooCecqpo4AAAAABJRU5ErkJggg==
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BarButtonExit.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="BarButtonExit.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAHXRFWHRUaXRsZQBDbG9zZTtF
|
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAddEVYdFRpdGxlAENsb3NlO0V4aXQ7QmFycztSaWJi
|
||||||
eGl0O0JhcnM7UmliYm9uO0YDuegAAAF2SURBVFhH7ZZBTsMwEEW76n1AIFDFkptwPSrRLjgLhwDBBcDM
|
b247RgO56AAAAXZJREFUWEftlkFOwzAQRbvqfUAgUMWSm3A9KtEuOAuHAMEFwMxH8yPb+XbGIBQkunit
|
||||||
R/Mj2/l2xiAUJLp4rer543lJk7SblNKqfL083d2mNTgJ/AuBd7E2ERF4M26Mx2wtytHYGa/ZWsGSAIZf
|
6vnjeUmTtJuU0qp8vTzd3aY1OAn8C4F3sTYREXgzbozHbC3K0dgZr9lawZIAhl96fWuMSGD41nsvDCnR
|
||||||
en1rjEhg+NZ7Lwwp0RPAqduhRuxzVGIanvXiTHx4fQK1lgC4N4qNPNuTUMMh/uD1AtQZmhWdvaE2VBLH
|
E8Cp26FG7HNUYhqe9eJMfHh9ArWWALg3io0825NQwyH+4PUC1BmaFZ29oTZUEsc8l2XlcIAMgzLg7Lkh
|
||||||
PJdl5XCADIMy4Oy5IbG1WmLoyAlyDMtARu9MzIZ7vTscIMewDFS0JIaPnCA/IgBmEjmoGaHhAD1slIEG
|
sbVaYujICXIMy0BG70zMhnu9Oxwgx7AMVLQkho+cID8iAGYSOagZoeEAPWyUgQZSAmtGeDhA33cEWt85
|
||||||
UgJrRng4QN93BFrfOa8J1SNB36iAHE5QM8IS6GGjDFS0bjW1FpJAPirQu89b18SiBHIMy4ATecL1nhP5
|
rwnVI0HfqIAcTlAzwhLoYaMMVLRuNbUWkkA+KtC7z1vXxKIEcgzLgBN5wvWeE/leBcgxLANG78jrbOSJ
|
||||||
XgXIMSwDRu/I62zkiVmADIMq0LraD1mmZuhMoM5QXcRP5zU38Qw26g0nSuLKGP45fjHOvR4dTiYJez8z
|
WYAMgyrQutoPWaZm6EygzlBdxE/nNTfxDDbqDSdK4soY/jl+Mc69Hh1OJgl7PzOefb1gSQBAAvYjwwkk
|
||||||
nn29YEkAQAL2I8MJJNArh4OIAOj+sVzgx39Kf5WTwN8RWI+0+QTdeyAQju/HFwAAAABJRU5ErkJggg==
|
0CuHg4gA6P6xXODHf0p/lZPA3xFYj7T5BN17IBCO78cXAAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BarButtonUserSettings.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="BarButtonUserSettings.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAR3RFWHRUaXRsZQBDdXN0b21l
|
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABHdEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO0Zp
|
||||||
cjtFbXBsb3llZTtGaXg7UHVibGljO1NldHRpbmdzO09wdGlvbnM7Q3VzdG9taXo7R3JvdXA7VGVhbWkL
|
eDtQdWJsaWM7U2V0dGluZ3M7T3B0aW9ucztDdXN0b21pejtHcm91cDtUZWFtaQsTiAAAARBJREFUOE+l
|
||||||
E4gAAAEQSURBVDhPpdM/agJREMfxNQYtbew9QQoF29xAU9p5AZsUEluR7T1AinSBnMC9ghZ7iOANBBUk
|
0z9qAlEQx/E1Bi1t7D1BCgXb3EBT2nkBmxQSW5HtPUCKdIGcwL2CFnuI4A0EFSRuvr9lHsyTlSWk+PCY
|
||||||
br6/ZR7Mk5UlpPjwmHH+vF01KYriXyqTf5GkaXpPA+84mA88IKqLghtdbFE4Q0R1Pri38QdhwAS+Jxqg
|
cf68XTUpiuJfKpN/kaRpek8D7ziYDzwgqouCG11sUThDRHU+uLfxB2HABL4nGqDpfpsot3PxAr4nGqDp
|
||||||
6X6bKLdz8QK+Jxqg6b5ZlPtEjjZ8fckHmh4NGK2yxDTRx9lOxeVnfkAHRzWagxVp0BtmuNqpuFzgB8gc
|
vlmU+0SONnx9yQeaHg0YrbLENNHH2U7F5Wd+QAdHNZqDFWnQG2a42qm4XOAHyBxhwJQCbVLxxRoCxcpH
|
||||||
YcCUAm1S8cUaAsXKRwMe8YRn06BA19VGNa3Rs1Ox8n016uUs8Y09XkyLAj2zrq2GHrlXnRYrf9aAL4Rr
|
Ax7xhGfToEDX1UY1rdGzU7HyfTXq5SzxjT1eTIsCPbOurYYeuVedFit/1oAvhGt77fFqM6Co9ganm8Yg
|
||||||
e+3xajOgqPYGp5vGIKeg7h00w/NXoqD+W6j6hwUqcPzvwHJZ8gvZcCD22oxTxwAAAABJRU5ErkJggg==
|
p6DuHTTD81eioP5bqPqHBSpw/O/AclnyC9lwIPbajFPHAAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BarButtonUserSettings.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="BarButtonUserSettings.ImageOptions.LargeImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAR3RFWHRUaXRsZQBDdXN0b21l
|
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAABHdEVYdFRpdGxlAEN1c3RvbWVyO0VtcGxveWVlO0Zp
|
||||||
cjtFbXBsb3llZTtGaXg7UHVibGljO1NldHRpbmdzO09wdGlvbnM7Q3VzdG9taXo7R3JvdXA7VGVhbWkL
|
eDtQdWJsaWM7U2V0dGluZ3M7T3B0aW9ucztDdXN0b21pejtHcm91cDtUZWFtaQsTiAAAAsFJREFUWEfF
|
||||||
E4gAAALBSURBVFhHxdZPiE1hGMfxGf/CMLJUFjZScpXCTP4VO+lO3awQFlgodmIhm+lubG0lC0UkK39G
|
1k+ITWEYx/EZ/8IwslQWNlJylcJM/hU76U7drBAWWCh2YiGb6W5sbSULRSQrf0aNPxmE/JdpRlZI2E0i
|
||||||
jT8ZhPyXaUZWSNhNIqK5vr+Z922enp5zHVehPjn3ed/397zn3HPOnbZGo/FfhcV/KSyWVa/X1+MyPuIH
|
orm+v5n3bZ6ennMdV6E+Ofd53/f3vOfcc86dtkaj8V+FxX8pLJZVr9fX4zI+4gc+4So2RPMjYbEMmnTj
|
||||||
PuEqNkTzI2GxDJp04ycaAdXXReu8sFgGDU6ZhpGz0TovLJZBgyeuofc0WueFxTJocBSjpqH3OlrnhcWM
|
JxoB1ddF67ywWAYNTpmGkbPROi8slkGDJ66h9zRa54XFMmhwFKOmofc6WueFxYyQHRiAvcnuYifacRhR
|
||||||
kB0YgL3J7mIn2nEYUXPRfVCJcq2wKCw+YsIi+jcDI4jGpRplW2GRhTPx2QRFvqITt0zNeobpUb4VFlnY
|
c9F9UIlyrbAoLD5iwiL6NwMjiMalGmVbYZGFM/HZBEW+ohO3TM16hulRvhUWWdhlgppZi4uulu2Ksr2w
|
||||||
ZYKaWYuLrpbtirK9sMjiTS6siOYdczX5gI4o2wuLLN5nwprZj+Wu9h0bo9xIWCTgngls5gF0vxzHfZzE
|
yOJNLqyI5h1zNfmAjijbC4ss3mfCmtmP5a72HRuj3EhYJOCeCWzmAXS/HMd9nMRv73wrLBLSj6ih11+w
|
||||||
b+98KywS0o+ooddfsL6CKdGYFxZTQNF7PtP4Ukxza+dD74vH2KvPdtwLi8LCoscr0wtqMvTrtxsrsAfv
|
voIp0ZgXFlNA0Xs+0/hSTHNr50Pvi8fYq8923AuLwsKixyvTC2oy9Ou3GyuwB+9g5+kFdgJzq719bV7Y
|
||||||
YOfpBXYCc6u9fW1e2FxYUEsBRTS+xtW8hcYCzCu9AWHBGUTBp9P4BVe/Y4ykJq8wnBt6YeOMkKk4gDdQ
|
XFhQSwFFNL7G1byFxgLMK70BYcEZRMGn0/gFV79jjKQmrzCcG3ph44yQqTiAN1CDtzgEXfotqZbpyWnv
|
||||||
g7c4BF36LamW6clp7+m9srrWe2kOx5XUpJHkpp1YlT+HjTMFmuPZ5nhS+n8zhjC2AZp3EzqK59iOG8gb
|
6b2yutZ7aQ7HldSkkeSmnViVP4eNMwWa49nmeFL6fzOGMLYBmncTOorn2I4byBu4mWoa05wuxBsgbBF0
|
||||||
uJlqGtOcLsQbIGwRdPkPFozrV/C85inE0Nm9QG5aRHM0d2IDhM2CLu8g8mXVW63mmuvS20dU87WuQ4HY
|
+Q8WjOtX8LzmKcTQ2b1AblpEczR3YgOEzYIu7yDyZdVbreaa69LbR1Tzta5DgdiK3EhnqqsgOs51zZn4
|
||||||
itxIZ6qrIDrOdc2Z+ApYrLvZPz7WQ5zDI1Oz7JXQpc7Ne1JNdJw3oTnjG2DxMnwxYa3QBoZSeHYduXlm
|
Clisu9k/PtZDnMMjU7PsldClzs17Uk10nDehOeMbYPEyfDFhrdAGhlJ4dh25eWbvCRnWBsq+dpvRBl66
|
||||||
7wkZ1gbKvnab0QZeuvDb8BtQzc4Z1Aa+ubBWLCYsN7FfQTXVRMfhV/DehbVKf5otIdTfhNcwkI5zfRvG
|
8NvwG1DNzhnUBr65sFYsJiw3sV9BNdVEx+FX8N6FtUp/mi0h1N+E1zCQjnN9G8Y3YO/wVuSgpPXHsFUK
|
||||||
N2Dv8FbkoKT1x7BVCjFWQmf6dy+iP6EQR6/ZsbNL8gbyZ42VexWXkYOa0I+RBGN9bb8A1yMynixVuyMA
|
MVZCZ/p3L6I/oRBHr9mxs0vyBvJnjZV7FZeRg5rQj5EEY31tvwDXIzKeLFW7IwAAAABJRU5ErkJggg==
|
||||||
AAAASUVORK5CYII=
|
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="BarButtonConnectionSettings.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="BarButtonConnectionSettings.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
|||||||
@ -4,10 +4,12 @@ Imports DigitalData.GUIs.ClientSuite.ClassLayout
|
|||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports DigitalData.Modules.Logging
|
Imports DigitalData.Modules.Logging
|
||||||
Imports DigitalData.Modules.License
|
Imports DigitalData.Modules.License
|
||||||
|
Imports DevExpress.LookAndFeel
|
||||||
|
|
||||||
Public Class frmMain
|
Public Class frmMain
|
||||||
Private _Logger As Logger
|
Private _Logger As Logger
|
||||||
Private _Timer As ClassTimer
|
Private _Timer As ClassTimer
|
||||||
|
Private _Loading As Boolean = True
|
||||||
|
|
||||||
Public Sub New()
|
Public Sub New()
|
||||||
' Dieser Aufruf ist für den Designer erforderlich.
|
' Dieser Aufruf ist für den Designer erforderlich.
|
||||||
@ -36,10 +38,12 @@ Public Class frmMain
|
|||||||
|
|
||||||
Private Sub FrmMain_Load(sender As Object, e As EventArgs) Handles Me.Load
|
Private Sub FrmMain_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||||
' Initialize Main Timer
|
' Initialize Main Timer
|
||||||
_Timer = New ClassTimer(My.LogConfig, Me, My.Config.HeartbeatInterval)
|
_Timer = New ClassTimer(My.LogConfig, Me, My.SysConfig.HeartbeatInterval)
|
||||||
AddHandler _Timer.OnlineChanged, AddressOf HandleOnlineChanged
|
AddHandler _Timer.OnlineChanged, AddressOf HandleOnlineChanged
|
||||||
SetOnlineLabel()
|
SetOnlineLabel()
|
||||||
|
|
||||||
|
UserLookAndFeel.Default.SetSkinStyle(My.UIConfig.SkinName)
|
||||||
|
|
||||||
LabelCurrentUser.Caption = My.Application.User.UserName
|
LabelCurrentUser.Caption = My.Application.User.UserName
|
||||||
LabelCurrentMachine.Caption = My.Application.User.MachineName
|
LabelCurrentMachine.Caption = My.Application.User.MachineName
|
||||||
LabelCurrentVersion.Caption = My.Application.Info.Version.ToString
|
LabelCurrentVersion.Caption = My.Application.Info.Version.ToString
|
||||||
@ -64,7 +68,11 @@ Public Class frmMain
|
|||||||
MsgBox($"Clicked on Document {RowView.Row.Item("DocName")}")
|
MsgBox($"Clicked on Document {RowView.Row.Item("DocName")}")
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
AddHandler UserLookAndFeel.Default.StyleChanged, AddressOf frmMain_StyleChanged
|
||||||
|
|
||||||
LoadLayout()
|
LoadLayout()
|
||||||
|
|
||||||
|
_Loading = False
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub FrmMain_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
|
Private Sub FrmMain_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing
|
||||||
@ -153,4 +161,11 @@ Public Class frmMain
|
|||||||
oForm.MdiParent = DocumentManager.MdiParent
|
oForm.MdiParent = DocumentManager.MdiParent
|
||||||
oForm.Show()
|
oForm.Show()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Private Sub frmMain_StyleChanged(sender As Object, e As EventArgs) Handles Me.StyleChanged
|
||||||
|
If _Loading = False Then
|
||||||
|
My.UIConfig.SkinName = LookAndFeel.ActiveSkinName
|
||||||
|
My.UIConfigManager.Save()
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
@ -25,7 +25,7 @@ Public NotInheritable Class frmSplash
|
|||||||
BringToFront()
|
BringToFront()
|
||||||
|
|
||||||
Dim oService As New ClassService(My.LogConfig)
|
Dim oService As New ClassService(My.LogConfig)
|
||||||
Dim oConnectionURLExists As Boolean = My.Config.ServiceConnection <> String.Empty
|
Dim oConnectionURLExists As Boolean = My.SysConfig.ServiceConnection <> String.Empty
|
||||||
|
|
||||||
'Dim oInit As New ClassInit()
|
'Dim oInit As New ClassInit()
|
||||||
'Dim oConnectionURLExists = oInit.TestConnectionURLExists()
|
'Dim oConnectionURLExists = oInit.TestConnectionURLExists()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user