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

View File

@ -111,5 +111,11 @@
<SubType>Designer</SubType>
</None>
</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" />
</Project>

View File

@ -262,7 +262,9 @@
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
<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">
<AutoGen>True</AutoGen>
<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.Threading
Imports DigitalData.Modules.Logging
Imports EDMI_ClientSuite.NetworkService_DDEDM
Namespace My
''' <summary>
''' Helper Class to hold User State
''' </summary>
Public Class User
Public Username As String
Public MachineName As String
Public Sub New()
Username = Environment.UserName
MachineName = Environment.MachineName
End Sub
Public Class ModuleLicense
End Class
''' <summary>
''' Extends the My Namespace
''' Example: My.LogConfig
''' </summary>
<HideModuleName()>
Module Extension
@ -28,10 +23,12 @@ Namespace My
''' <summary>
''' Extends the My.Application Namespace
''' Example: My.Application.User
''' </summary>
Partial Class MyApplication
' User Config
Public User As New User()
Public User As New UserState()
Public License As New LicenseState()
End Class
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.BarButtonExit = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonUserSettings = New DevExpress.XtraBars.BarButtonItem()
Me.BarButtonConnectionSettings = New DevExpress.XtraBars.BarButtonItem()
Me.LabelCurrentUser = New DevExpress.XtraBars.BarStaticItem()
Me.LabelCurrentMachine = 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.DockPanel2_Container = New DevExpress.XtraBars.Docking.ControlContainer()
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.MainMenu, 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.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.MaxItemId = 15
Me.RibbonControl.MaxItemId = 16
Me.RibbonControl.Name = "RibbonControl"
Me.RibbonControl.PageCategories.AddRange(New DevExpress.XtraBars.Ribbon.RibbonPageCategory() {Me.RibbonPageCategoryEntityDesigner})
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.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
'
Me.LabelCurrentUser.Caption = "Current User"
@ -235,6 +243,7 @@ Partial Class frmMain
Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentUser)
Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentMachine)
Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentVersion)
Me.RibbonStatusBar.ItemLinks.Add(Me.LabelCurrentLanguage)
Me.RibbonStatusBar.Location = New System.Drawing.Point(0, 556)
Me.RibbonStatusBar.Name = "RibbonStatusBar"
Me.RibbonStatusBar.Ribbon = Me.RibbonControl
@ -332,12 +341,11 @@ Partial Class frmMain
Me.ProcessManagerOverview.Size = New System.Drawing.Size(337, 163)
Me.ProcessManagerOverview.TabIndex = 0
'
'BarButtonConnectionSettings
'LabelCurrentLanguage
'
Me.BarButtonConnectionSettings.Caption = "Verbindungseinstellungen"
Me.BarButtonConnectionSettings.Id = 14
Me.BarButtonConnectionSettings.ImageOptions.Image = CType(resources.GetObject("BarButtonItem2.ImageOptions.Image"), System.Drawing.Image)
Me.BarButtonConnectionSettings.Name = "BarButtonConnectionSettings"
Me.LabelCurrentLanguage.Caption = "BarStaticItem1"
Me.LabelCurrentLanguage.Id = 15
Me.LabelCurrentLanguage.Name = "LabelCurrentLanguage"
'
'frmMain
'
@ -403,4 +411,5 @@ Partial Class frmMain
Friend WithEvents RibbonPageGroup5 As DevExpress.XtraBars.Ribbon.RibbonPageGroup
Friend WithEvents BarButtonDeleteControl As DevExpress.XtraBars.BarButtonItem
Friend WithEvents BarButtonConnectionSettings As DevExpress.XtraBars.BarButtonItem
Friend WithEvents LabelCurrentLanguage As DevExpress.XtraBars.BarStaticItem
End Class

View File

@ -228,19 +228,18 @@
QmCC
</value>
</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>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAALXRFWHRUaXRsZQBEQjtTb3Vy
Y2U7U3RvcjtkYXRhc291cmNlO0RhdGFiYXNlO0VkaXQo9rqcAAABpUlEQVRYR8WVMU7DQBBFU9Aj0XED
CgokKKgRlJBrUCKqFCAFjkDHTZBoKNIilI5LQBOkFEgs/yE7cnZmQ7xexcWTnNn5/08cjzMIIfSKW9wk
bnGTuMXPyXWTbXEirsSjeBbv4kN8V3BNjTN66EWDduHlZbnFSrAvbsWrCJmgxQMvN8stqnkopsIzzQGv
oZdlClAJPKMuTL0sUwA1zyJxCWZelimAmueRuARzL8sUgOZIXIJWA/T+E/T+EPa+hiNxIUq9iPAaeVmm
AGrmGXgTd+JU5L6K0eKBV/YafokX8SAuxZnYEztiq4JrapzRQy8atLVP72t442WZAqj5JxJ3ZXx+/zQQ
hyJUcJ0coOQGeOGLIVIDlFrDONwMkRqgxBqmvvnS59QAXdfwWOap2w6LO5IaoMsaHsl4VXgN58XXcNUD
1+QvHFID5Pwbtg6H1ABtN2CMrjL3QmuWwtGYcJBhmzXMCgd0JhxkCuuuYVY4kGXCAdOKXXEgWMXUGmJW
h8TBdd2EA1kmPAeZNcPWCge0xiwHmcWh/4YDWmOWg8yaA6wVDiGEwS9IKlJjkp5nnAAAAABJRU5ErkJg
gg==
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAtdEVYdFRpdGxlAERCO1NvdXJjZTtTdG9yO2RhdGFz
b3VyY2U7RGF0YWJhc2U7RWRpdCj2upwAAAGlSURBVFhHxZUxTsNAEEVT0CPRcQMKCiQoqBGUkGtQIqoU
IAWOQMdNkGgo0iKUjktAE6QUSCz/ITtydmZDvF7FxZOc2fn/TxyPMwgh9Ipb3CRucZO4xc/JdZNtcSKu
xKN4Fu/iQ3xXcE2NM3roRYN24eVlucVKsC9uxasImaDFAy83yy2qeSimwjPNAa+hl2UKUAk8oy5MvSxT
ADXPInEJZl6WKYCa55G4BHMvyxSA5khcglYD9P4T9P4Q9r6GI3EhSr2I8Bp5WaYAauYZeBN34lTkvorR
4oFX9hp+iRfxIC7FmdgTO2KrgmtqnNFDLxq0tU/va3jjZZkCqPknEndlfH7/NBCHIlRwnRyg5AZ44Ysh
UgOUWsM43AyRGqDEGqa++dLn1ABd1/BY5qnbDos7khqgyxoeyXhVeA3nxddw1QPX5C8cUgPk/Bu2DofU
AG03YIyuMvdCa5bC0ZhwkGGbNcwKB3QmHGQK665hVjiQZcIB04pdcSBYxdQaYlaHxMF13YQDWSY8B5k1
w9YKB7TGLAeZxaH/hgNaY5aDzJoDrBUOIYTBL0gqUmOSnmecAAAAAElFTkSuQmCC
</value>
</data>
<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
Private Sub FrmMain_Load(sender As Object, e As EventArgs) Handles Me.Load
LabelCurrentUser.Caption = Environment.UserName
LabelCurrentMachine.Caption = Environment.MachineName
LabelCurrentUser.Caption = My.Application.User.UserName
LabelCurrentMachine.Caption = My.Application.User.MachineName
LabelCurrentVersion.Caption = My.Application.Info.Version.ToString
LabelCurrentLanguage.Caption = My.Application.User.Language
Dim oDashboard = New frmDashboard()
oDashboard.MdiParent = DocumentManager.MdiParent
@ -97,7 +98,7 @@ Public Class frmMain
End Sub
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.Show()
End Sub