jj: add app state

This commit is contained in:
Jonathan Jenne 2019-01-30 15:27:07 +01:00
parent 1ae788f52e
commit 7d691246f5
11 changed files with 90 additions and 50 deletions

View File

@ -1,9 +1,9 @@
Imports System.IO Imports System.IO
Imports NLog Imports DigitalData.Modules.Logging
Public MustInherit Class BaseConfig Public MustInherit Class BaseConfig
Private Const _userConfigFileName As String = "UserConfig.xml" Private Const _userConfigFileName As String = "UserConfig.xml"
Private _logFactory As LogFactory Private _logFactory As LogConfig
Private _logger As Logger Private _logger As Logger
Protected Const _configKey As String = "Key" Protected Const _configKey As String = "Key"
@ -16,9 +16,11 @@ Public MustInherit Class BaseConfig
End Get End Get
End Property End Property
Public Sub New(LogFactory As LogFactory) Public Sub New(LogConfig As LogConfig)
_logFactory = LogFactory _logFactory = LogConfig
_logger = LogFactory.GetCurrentClassLogger() _logger = LogConfig.GetLogger()
End Sub End Sub
Private Function GetUserConfigPath() As String Private Function GetUserConfigPath() As String

View File

@ -111,5 +111,11 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
</None> </None>
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Modules.Logging\Logging.vbproj">
<Project>{903b2d7d-3b80-4be9-8713-7447b704e1b0}</Project>
<Name>Logging</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project> </Project>

View File

@ -262,7 +262,9 @@
<DesignTimeSharedInput>True</DesignTimeSharedInput> <DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile> </Compile>
<Compile Include="MyApplication.vb" /> <Compile Include="MyApplication.vb" />
<Compile Include="MyAppSettings.vb" /> <Compile Include="Settings\LicenseState.vb" />
<Compile Include="Settings\ModuleState.vb" />
<Compile Include="Settings\UserState.vb" />
<Compile Include="Strings\ControlProperties.Designer.vb"> <Compile Include="Strings\ControlProperties.Designer.vb">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>

View File

@ -1,10 +0,0 @@
Imports DigitalData.Modules.Logging
Module MyAppSettings
Public APP_DB_VERSION As String
Public USER_LANGUAGE As String = "de-DE"
Public MyLogger As Logger
Public MyLogConfig As LogConfig
End Module

View File

@ -1,23 +1,18 @@
Imports System.ServiceModel Imports System.ServiceModel
Imports System.Threading
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Imports EDMI_ClientSuite.NetworkService_DDEDM Imports EDMI_ClientSuite.NetworkService_DDEDM
Namespace My Namespace My
''' <summary>
''' Helper Class to hold User State
''' </summary>
Public Class User
Public Username As String
Public MachineName As String
Public Sub New() Public Class ModuleLicense
Username = Environment.UserName
MachineName = Environment.MachineName
End Sub
End Class End Class
''' <summary> ''' <summary>
''' Extends the My Namespace ''' Extends the My Namespace
''' Example: My.LogConfig
''' </summary> ''' </summary>
<HideModuleName()> <HideModuleName()>
Module Extension Module Extension
@ -28,10 +23,12 @@ Namespace My
''' <summary> ''' <summary>
''' Extends the My.Application Namespace ''' Extends the My.Application Namespace
''' Example: My.Application.User
''' </summary> ''' </summary>
Partial Class MyApplication Partial Class MyApplication
' User Config ' User Config
Public User As New User() Public User As New UserState()
Public License As New LicenseState()
End Class End Class
End Namespace End Namespace

View File

@ -0,0 +1,7 @@
Public Class LicenseState
Public Modules As List(Of ModuleState)
Public Sub New()
Modules = New List(Of ModuleState)
End Sub
End Class

View File

@ -0,0 +1,7 @@
Public Class ModuleState
Public Name As String
Public Sub New(Name As String)
Me.Name = Name
End Sub
End Class

View File

@ -0,0 +1,20 @@
Imports System.Threading
''' <summary>
''' Helper Class to hold User State
''' </summary>
Public Class UserState
Public UserName As String
Public MachineName As String
Public Language As String
''' <summary>
''' Initialize user object with values that can be read from the environment
''' </summary>
Public Sub New()
Language = Thread.CurrentThread.CurrentCulture.Name
UserName = Environment.UserName
MachineName = Environment.MachineName
End Sub
End Class

View File

@ -25,6 +25,7 @@ Partial Class frmMain
Me.MainMenu = New DevExpress.XtraBars.Ribbon.ApplicationMenu(Me.components) Me.MainMenu = New DevExpress.XtraBars.Ribbon.ApplicationMenu(Me.components)
Me.BarButtonExit = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonExit = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonUserSettings = New DevExpress.XtraBars.BarButtonItem() Me.BarButtonUserSettings = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonConnectionSettings = New DevExpress.XtraBars.BarButtonItem()
Me.LabelCurrentUser = New DevExpress.XtraBars.BarStaticItem() Me.LabelCurrentUser = New DevExpress.XtraBars.BarStaticItem()
Me.LabelCurrentMachine = New DevExpress.XtraBars.BarStaticItem() Me.LabelCurrentMachine = New DevExpress.XtraBars.BarStaticItem()
Me.LabelCurrentVersion = New DevExpress.XtraBars.BarStaticItem() Me.LabelCurrentVersion = New DevExpress.XtraBars.BarStaticItem()
@ -55,7 +56,7 @@ Partial Class frmMain
Me.DockPanelProcessManager = New DevExpress.XtraBars.Docking.DockPanel() Me.DockPanelProcessManager = New DevExpress.XtraBars.Docking.DockPanel()
Me.DockPanel2_Container = New DevExpress.XtraBars.Docking.ControlContainer() Me.DockPanel2_Container = New DevExpress.XtraBars.Docking.ControlContainer()
Me.ProcessManagerOverview = New EDMI_ClientSuite.ProcessManagerOverview() Me.ProcessManagerOverview = New EDMI_ClientSuite.ProcessManagerOverview()
Me.BarButtonConnectionSettings = New DevExpress.XtraBars.BarButtonItem() Me.LabelCurrentLanguage = New DevExpress.XtraBars.BarStaticItem()
CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RibbonControl, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.MainMenu, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.MainMenu, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DocumentManager, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.DocumentManager, System.ComponentModel.ISupportInitialize).BeginInit()
@ -72,9 +73,9 @@ Partial Class frmMain
' '
Me.RibbonControl.ApplicationButtonDropDownControl = Me.MainMenu Me.RibbonControl.ApplicationButtonDropDownControl = Me.MainMenu
Me.RibbonControl.ExpandCollapseItem.Id = 0 Me.RibbonControl.ExpandCollapseItem.Id = 0
Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarButtonExit, Me.BarButtonUserSettings, Me.LabelCurrentUser, Me.LabelCurrentMachine, Me.LabelCurrentVersion, Me.BarButtonItem1, Me.BarButtonDock1, Me.SkinDropDownButtonItem1, Me.BarButtonDashboard, Me.BarButtonEntityDesigner, Me.BarButtonDeleteControl, Me.BarButtonConnectionSettings}) Me.RibbonControl.Items.AddRange(New DevExpress.XtraBars.BarItem() {Me.RibbonControl.ExpandCollapseItem, Me.BarButtonExit, Me.BarButtonUserSettings, Me.LabelCurrentUser, Me.LabelCurrentMachine, Me.LabelCurrentVersion, Me.BarButtonItem1, Me.BarButtonDock1, Me.SkinDropDownButtonItem1, Me.BarButtonDashboard, Me.BarButtonEntityDesigner, Me.BarButtonDeleteControl, Me.BarButtonConnectionSettings, Me.LabelCurrentLanguage})
Me.RibbonControl.Location = New System.Drawing.Point(0, 0) Me.RibbonControl.Location = New System.Drawing.Point(0, 0)
Me.RibbonControl.MaxItemId = 15 Me.RibbonControl.MaxItemId = 16
Me.RibbonControl.Name = "RibbonControl" Me.RibbonControl.Name = "RibbonControl"
Me.RibbonControl.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategoryEntityDesigner}) Me.RibbonControl.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategoryEntityDesigner})
Me.RibbonControl.PageHeaderItemLinks.Add(Me.SkinDropDownButtonItem1) Me.RibbonControl.PageHeaderItemLinks.Add(Me.SkinDropDownButtonItem1)
@ -104,6 +105,13 @@ Partial Class frmMain
Me.BarButtonUserSettings.ImageOptions.Image = CType(resources.GetObject("BarButtonUserSettings.ImageOptions.Image"), System.Drawing.Image) Me.BarButtonUserSettings.ImageOptions.Image = CType(resources.GetObject("BarButtonUserSettings.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonUserSettings.Name = "BarButtonUserSettings" Me.BarButtonUserSettings.Name = "BarButtonUserSettings"
' '
'BarButtonConnectionSettings
'
Me.BarButtonConnectionSettings.Caption = "Verbindungseinstellungen"
Me.BarButtonConnectionSettings.Id = 14
Me.BarButtonConnectionSettings.ImageOptions.Image = CType(resources.GetObject("BarButtonConnectionSettings.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonConnectionSettings.Name = "BarButtonConnectionSettings"
'
'LabelCurrentUser 'LabelCurrentUser
' '
Me.LabelCurrentUser.Caption = "Current User" Me.LabelCurrentUser.Caption = "Current User"
@ -235,6 +243,7 @@ Partial Class frmMain
Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentUser) Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentUser)
Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentMachine) Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentMachine)
Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentVersion) Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentVersion)
Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentLanguage)
Me.RibbonStatusBar.Location = New System.Drawing.Point(0, 556) Me.RibbonStatusBar.Location = New System.Drawing.Point(0, 556)
Me.RibbonStatusBar.Name = "RibbonStatusBar" Me.RibbonStatusBar.Name = "RibbonStatusBar"
Me.RibbonStatusBar.Ribbon = Me.RibbonControl Me.RibbonStatusBar.Ribbon = Me.RibbonControl
@ -332,12 +341,11 @@ Partial Class frmMain
Me.ProcessManagerOverview.Size = New System.Drawing.Size(337, 163) Me.ProcessManagerOverview.Size = New System.Drawing.Size(337, 163)
Me.ProcessManagerOverview.TabIndex = 0 Me.ProcessManagerOverview.TabIndex = 0
' '
'BarButtonConnectionSettings 'LabelCurrentLanguage
' '
Me.BarButtonConnectionSettings.Caption = "Verbindungseinstellungen" Me.LabelCurrentLanguage.Caption = "BarStaticItem1"
Me.BarButtonConnectionSettings.Id = 14 Me.LabelCurrentLanguage.Id = 15
Me.BarButtonConnectionSettings.ImageOptions.Image = CType(resources.GetObject("BarButtonItem2.ImageOptions.Image"), System.Drawing.Image) Me.LabelCurrentLanguage.Name = "LabelCurrentLanguage"
Me.BarButtonConnectionSettings.Name = "BarButtonConnectionSettings"
' '
'frmMain 'frmMain
' '
@ -403,4 +411,5 @@ Partial Class frmMain
Friend WithEvents RibbonPageGroup5 As DevExpress.XtraBars.Ribbon.RibbonPageGroup Friend WithEvents RibbonPageGroup5 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents BarButtonDeleteControl As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonDeleteControl As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonConnectionSettings As DevExpress.XtraBars.BarButtonItem Friend WithEvents BarButtonConnectionSettings As DevExpress.XtraBars.BarButtonItem
Friend WithEvents LabelCurrentLanguage As DevExpress.XtraBars.BarStaticItem
End Class End Class

View File

@ -228,19 +228,18 @@
QmCC QmCC
</value> </value>
</data> </data>
<data name="BarButtonItem2.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">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAALXRFWHRUaXRsZQBEQjtTb3Vy dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAtdEVYdFRpdGxlAERCO1NvdXJjZTtTdG9yO2RhdGFz
Y2U7U3RvcjtkYXRhc291cmNlO0RhdGFiYXNlO0VkaXQo9rqcAAABpUlEQVRYR8WVMU7DQBBFU9Aj0XED b3VyY2U7RGF0YWJhc2U7RWRpdCj2upwAAAGlSURBVFhHxZUxTsNAEEVT0CPRcQMKCiQoqBGUkGtQIqoU
CgokKKgRlJBrUCKqFCAFjkDHTZBoKNIilI5LQBOkFEgs/yE7cnZmQ7xexcWTnNn5/08cjzMIIfSKW9wk IAWOQMdNkGgo0iKUjktAE6QUSCz/ITtydmZDvF7FxZOc2fn/TxyPMwgh9Ipb3CRucZO4xc/JdZNtcSKu
bnGTuMXPyXWTbXEirsSjeBbv4kN8V3BNjTN66EWDduHlZbnFSrAvbsWrCJmgxQMvN8stqnkopsIzzQGv xKN4Fu/iQ3xXcE2NM3roRYN24eVlucVKsC9uxasImaDFAy83yy2qeSimwjPNAa+hl2UKUAk8oy5MvSxT
oZdlClAJPKMuTL0sUwA1zyJxCWZelimAmueRuARzL8sUgOZIXIJWA/T+E/T+EPa+hiNxIUq9iPAaeVmm ADXPInEJZl6WKYCa55G4BHMvyxSA5khcglYD9P4T9P4Q9r6GI3EhSr2I8Bp5WaYAauYZeBN34lTkvorR
AGrmGXgTd+JU5L6K0eKBV/YafokX8SAuxZnYEztiq4JrapzRQy8atLVP72t442WZAqj5JxJ3ZXx+/zQQ 4oFX9hp+iRfxIC7FmdgTO2KrgmtqnNFDLxq0tU/va3jjZZkCqPknEndlfH7/NBCHIlRwnRyg5AZ44Ysh
hyJUcJ0coOQGeOGLIVIDlFrDONwMkRqgxBqmvvnS59QAXdfwWOap2w6LO5IaoMsaHsl4VXgN58XXcNUD UgOUWsM43AyRGqDEGqa++dLn1ABd1/BY5qnbDos7khqgyxoeyXhVeA3nxddw1QPX5C8cUgPk/Bu2DofU
1+QvHFID5Pwbtg6H1ABtN2CMrjL3QmuWwtGYcJBhmzXMCgd0JhxkCuuuYVY4kGXCAdOKXXEgWMXUGmJW AG03YIyuMvdCa5bC0ZhwkGGbNcwKB3QmHGQK665hVjiQZcIB04pdcSBYxdQaYlaHxMF13YQDWSY8B5k1
h8TBdd2EA1kmPAeZNcPWCge0xiwHmcWh/4YDWmOWg8yaA6wVDiGEwS9IKlJjkp5nnAAAAABJRU5ErkJg w9YKB7TGLAeZxaH/hgNaY5aDzJoDrBUOIYTBL0gqUmOSnmecAAAAAElFTkSuQmCC
gg==
</value> </value>
</data> </data>
<data name="LabelCurrentUser.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="LabelCurrentUser.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@ -28,9 +28,10 @@ Public Class frmMain
End Sub End Sub
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
LabelCurrentUser.Caption = Environment.UserName LabelCurrentUser.Caption = My.Application.User.UserName
LabelCurrentMachine.Caption = Environment.MachineName LabelCurrentMachine.Caption = My.Application.User.MachineName
LabelCurrentVersion.Caption = My.Application.Info.Version.ToString LabelCurrentVersion.Caption = My.Application.Info.Version.ToString
LabelCurrentLanguage.Caption = My.Application.User.Language
Dim oDashboard = New frmDashboard() Dim oDashboard = New frmDashboard()
oDashboard.MdiParent = DocumentManager.MdiParent oDashboard.MdiParent = DocumentManager.MdiParent
@ -97,7 +98,7 @@ Public Class frmMain
End Sub End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
Dim frm As New frmFileTest(MyLogConfig) Dim frm As New frmFileTest(My.LogConfig)
frm.MdiParent = DocumentManager.MdiParent frm.MdiParent = DocumentManager.MdiParent
frm.Show() frm.Show()
End Sub End Sub