From 09e2787704f129422b3a324c67aec6f5f49040e5 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 28 May 2020 14:55:30 +0200 Subject: [PATCH 01/11] add chattest --- ChatTest/App.config | 6 + ChatTest/ChatTest.vbproj | 139 ++++++++++++++++++++ ChatTest/Form1.Designer.vb | 49 +++++++ ChatTest/Form1.resx | 120 +++++++++++++++++ ChatTest/Form1.vb | 3 + ChatTest/My Project/Application.Designer.vb | 38 ++++++ ChatTest/My Project/Application.myapp | 11 ++ ChatTest/My Project/AssemblyInfo.vb | 35 +++++ ChatTest/My Project/Resources.Designer.vb | 62 +++++++++ ChatTest/My Project/Resources.resx | 117 ++++++++++++++++ ChatTest/My Project/Settings.Designer.vb | 73 ++++++++++ ChatTest/My Project/Settings.settings | 7 + ChatTest/packages.config | 4 + 13 files changed, 664 insertions(+) create mode 100644 ChatTest/App.config create mode 100644 ChatTest/ChatTest.vbproj create mode 100644 ChatTest/Form1.Designer.vb create mode 100644 ChatTest/Form1.resx create mode 100644 ChatTest/Form1.vb create mode 100644 ChatTest/My Project/Application.Designer.vb create mode 100644 ChatTest/My Project/Application.myapp create mode 100644 ChatTest/My Project/AssemblyInfo.vb create mode 100644 ChatTest/My Project/Resources.Designer.vb create mode 100644 ChatTest/My Project/Resources.resx create mode 100644 ChatTest/My Project/Settings.Designer.vb create mode 100644 ChatTest/My Project/Settings.settings create mode 100644 ChatTest/packages.config diff --git a/ChatTest/App.config b/ChatTest/App.config new file mode 100644 index 00000000..ffaf5407 --- /dev/null +++ b/ChatTest/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/ChatTest/ChatTest.vbproj b/ChatTest/ChatTest.vbproj new file mode 100644 index 00000000..0498b6b5 --- /dev/null +++ b/ChatTest/ChatTest.vbproj @@ -0,0 +1,139 @@ + + + + + Debug + AnyCPU + {4A726345-FD6B-4E1C-9E5D-18C9043D7714} + WinExe + ChatTest.My.MyApplication + ChatTest + ChatTest + 512 + WindowsForms + v4.7.2 + true + true + + + AnyCPU + true + full + true + true + bin\Debug\ + ChatTest.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + AnyCPU + pdbonly + false + true + true + bin\Release\ + ChatTest.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + ..\packages\NLog.4.7.2\lib\net45\NLog.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Form + + + Form1.vb + Form + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + Form1.vb + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + {1f278760-4f6b-42e8-b82d-01d4c8618340} + ChatControl + + + + \ No newline at end of file diff --git a/ChatTest/Form1.Designer.vb b/ChatTest/Form1.Designer.vb new file mode 100644 index 00000000..9e6fbb2c --- /dev/null +++ b/ChatTest/Form1.Designer.vb @@ -0,0 +1,49 @@ + _ +Partial Class Form1 + Inherits System.Windows.Forms.Form + + 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.ChatControl1 = New DigitalData.Controls.ChatControl.ChatControl() + Me.SuspendLayout() + ' + 'ChatControl1 + ' + Me.ChatControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.ChatControl1.Location = New System.Drawing.Point(0, 0) + Me.ChatControl1.Name = "ChatControl1" + Me.ChatControl1.Size = New System.Drawing.Size(305, 324) + Me.ChatControl1.TabIndex = 0 + ' + 'Form1 + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(305, 324) + Me.Controls.Add(Me.ChatControl1) + Me.Name = "Form1" + Me.Text = "Form1" + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents ChatControl1 As DigitalData.Controls.ChatControl.ChatControl +End Class diff --git a/ChatTest/Form1.resx b/ChatTest/Form1.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/ChatTest/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ChatTest/Form1.vb b/ChatTest/Form1.vb new file mode 100644 index 00000000..17d65956 --- /dev/null +++ b/ChatTest/Form1.vb @@ -0,0 +1,3 @@ +Public Class Form1 + +End Class diff --git a/ChatTest/My Project/Application.Designer.vb b/ChatTest/My Project/Application.Designer.vb new file mode 100644 index 00000000..38f9a231 --- /dev/null +++ b/ChatTest/My Project/Application.Designer.vb @@ -0,0 +1,38 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + 'NOTE: This file is auto-generated; do not modify it directly. To make changes, + ' or if you encounter build errors in this file, go to the Project Designer + ' (go to Project Properties or double-click the My Project node in + ' Solution Explorer), and make changes on the Application tab. + ' + Partial Friend Class MyApplication + + _ + Public Sub New() + MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows) + Me.IsSingleInstance = false + Me.EnableVisualStyles = true + Me.SaveMySettingsOnExit = true + Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses + End Sub + + _ + Protected Overrides Sub OnCreateMainForm() + Me.MainForm = Global.ChatTest.Form1 + End Sub + End Class +End Namespace diff --git a/ChatTest/My Project/Application.myapp b/ChatTest/My Project/Application.myapp new file mode 100644 index 00000000..1243847f --- /dev/null +++ b/ChatTest/My Project/Application.myapp @@ -0,0 +1,11 @@ + + + true + Form1 + false + 0 + true + 0 + 0 + true + diff --git a/ChatTest/My Project/AssemblyInfo.vb b/ChatTest/My Project/AssemblyInfo.vb new file mode 100644 index 00000000..e68bf074 --- /dev/null +++ b/ChatTest/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' Allgemeine Informationen über eine Assembly werden über die folgenden +' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +' die einer Assembly zugeordnet sind. + +' Werte der Assemblyattribute überprüfen + + + + + + + + + + +'Die folgende GUID wird für die typelib-ID verwendet, wenn dieses Projekt für COM verfügbar gemacht wird. + + +' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +' +' Hauptversion +' Nebenversion +' Buildnummer +' Revision +' +' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +' indem Sie "*" wie unten gezeigt eingeben: +' + + + diff --git a/ChatTest/My Project/Resources.Designer.vb b/ChatTest/My Project/Resources.Designer.vb new file mode 100644 index 00000000..f6ce9da5 --- /dev/null +++ b/ChatTest/My Project/Resources.Designer.vb @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("ChatTest.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/ChatTest/My Project/Resources.resx b/ChatTest/My Project/Resources.resx new file mode 100644 index 00000000..af7dbebb --- /dev/null +++ b/ChatTest/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ChatTest/My Project/Settings.Designer.vb b/ChatTest/My Project/Settings.Designer.vb new file mode 100644 index 00000000..2b89d282 --- /dev/null +++ b/ChatTest/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.42000 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings), MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.ChatTest.My.MySettings + Get + Return Global.ChatTest.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/ChatTest/My Project/Settings.settings b/ChatTest/My Project/Settings.settings new file mode 100644 index 00000000..85b890b3 --- /dev/null +++ b/ChatTest/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ChatTest/packages.config b/ChatTest/packages.config new file mode 100644 index 00000000..1baeaab3 --- /dev/null +++ b/ChatTest/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file From 69c777241723b89ef721e0f68bdc5447ad2c14fc Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 28 May 2020 14:55:43 +0200 Subject: [PATCH 02/11] update NLog to 4.7.2 --- Controls.ChatControl/ChatControl.Designer.vb | 231 ++++++++++++++++++ Controls.ChatControl/ChatControl.resx | 123 ++++++++++ Controls.ChatControl/ChatControl.vb | 115 +++++++++ Controls.ChatControl/ChatControl.vbproj | 144 +++++++++++ .../My Project/Application.Designer.vb | 13 + .../My Project/Application.myapp | 10 + .../My Project/AssemblyInfo.vb | 34 +++ .../My Project/Resources.Designer.vb | 63 +++++ .../My Project/Resources.resx | 117 +++++++++ .../My Project/Settings.Designer.vb | 73 ++++++ .../My Project/Settings.settings | 7 + Controls.ChatControl/My Project/licenses.licx | 2 + Controls.DocumentViewer/DocumentViewer.vbproj | 2 +- Controls.DocumentViewer/packages.config | 2 +- DDMonorepo.sln | 16 +- EDMI.File/EDMI.File.vbproj | 2 +- EDMI.File/packages.config | 2 +- GUIs.ClipboardWatcher/ClipboardWatcher.vbproj | 2 +- GUIs.ClipboardWatcher/packages.config | 2 +- GUIs.Common/Common.vbproj | 2 +- GUIs.Common/packages.config | 2 +- Modules.Config/Config.vbproj | 2 +- Modules.Config/packages.config | 2 +- Modules.Database/Database.vbproj | 2 +- Modules.Database/packages.config | 2 +- Modules.EDMIAPI/EDMI.API.vbproj | 2 +- Modules.EDMIAPI/packages.config | 2 +- Modules.Filesystem/Filesystem.vbproj | 2 +- Modules.Filesystem/packages.config | 2 +- Modules.Interfaces/Interfaces.vbproj | 2 +- Modules.Interfaces/packages.config | 2 +- Modules.Jobs/Jobs.vbproj | 2 +- Modules.Jobs/packages.config | 2 +- Modules.Language/Language.vbproj | 2 +- Modules.Language/packages.config | 2 +- Modules.License/License.vbproj | 2 +- Modules.License/packages.config | 2 +- Modules.Logging/Logging.vbproj | 2 +- Modules.Logging/packages.config | 2 +- Modules.Messaging/Messaging.vbproj | 2 +- Modules.Messaging/packages.config | 2 +- Modules.Patterns/Patterns.vbproj | 2 +- Modules.Patterns/packages.config | 2 +- Modules.Windream/Windream.vbproj | 2 +- Modules.Windream/packages.config | 2 +- Modules.ZooFlow/ZooFlow.vbproj | 2 +- Modules.ZooFlow/packages.config | 2 +- Service.EDMIService/App.config | 62 ++--- Service.EDMIService/EDMIService.vbproj | 2 +- Service.EDMIService/packages.config | 2 +- Service.JobRunner/JobRunner.vbproj | 2 +- Service.JobRunner/packages.config | 2 +- Services.EmailService/DDEmailService.vbproj | 2 +- Services.EmailService/packages.config | 2 +- .../DDEDMLicenseService.vbproj | 2 +- Services.LicenseService/packages.config | 2 +- .../DDZUGFeRDService.vbproj | 2 +- Services.ZUGFeRDService/packages.config | 2 +- .../ZUGFeRDRESTService.csproj | 2 +- Windows/Windows.vbproj | 2 +- Windows/packages.config | 2 +- 61 files changed, 1019 insertions(+), 85 deletions(-) create mode 100644 Controls.ChatControl/ChatControl.Designer.vb create mode 100644 Controls.ChatControl/ChatControl.resx create mode 100644 Controls.ChatControl/ChatControl.vb create mode 100644 Controls.ChatControl/ChatControl.vbproj create mode 100644 Controls.ChatControl/My Project/Application.Designer.vb create mode 100644 Controls.ChatControl/My Project/Application.myapp create mode 100644 Controls.ChatControl/My Project/AssemblyInfo.vb create mode 100644 Controls.ChatControl/My Project/Resources.Designer.vb create mode 100644 Controls.ChatControl/My Project/Resources.resx create mode 100644 Controls.ChatControl/My Project/Settings.Designer.vb create mode 100644 Controls.ChatControl/My Project/Settings.settings create mode 100644 Controls.ChatControl/My Project/licenses.licx diff --git a/Controls.ChatControl/ChatControl.Designer.vb b/Controls.ChatControl/ChatControl.Designer.vb new file mode 100644 index 00000000..87731564 --- /dev/null +++ b/Controls.ChatControl/ChatControl.Designer.vb @@ -0,0 +1,231 @@ + _ +Partial Class ChatControl + Inherits System.Windows.Forms.UserControl + + 'UserControl1 überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. + _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Wird vom Windows Form-Designer benötigt. + Private components As System.ComponentModel.IContainer + + 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. + 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. + 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. + _ + Private Sub InitializeComponent() + Me.components = New System.ComponentModel.Container() + Dim ItemTemplate3 As DevExpress.XtraGrid.Views.Tile.ItemTemplate = New DevExpress.XtraGrid.Views.Tile.ItemTemplate() + Dim TableColumnDefinition7 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() + Dim TableColumnDefinition8 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() + Dim TileViewItemElement7 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() + Dim TileViewItemElement8 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() + Dim TileViewItemElement9 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() + Dim TableRowDefinition7 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() + Dim TableRowDefinition8 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() + Dim ItemTemplate4 As DevExpress.XtraGrid.Views.Tile.ItemTemplate = New DevExpress.XtraGrid.Views.Tile.ItemTemplate() + Dim TableColumnDefinition9 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() + Dim TableColumnDefinition10 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() + Dim TileViewItemElement10 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() + Dim TileViewItemElement11 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() + Dim TileViewItemElement12 As DevExpress.XtraGrid.Views.Tile.TileViewItemElement = New DevExpress.XtraGrid.Views.Tile.TileViewItemElement() + Dim TableRowDefinition9 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() + Dim TableRowDefinition10 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() + Dim TableColumnDefinition11 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() + Dim TableColumnDefinition12 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() + Dim TableRowDefinition11 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() + Dim TableRowDefinition12 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() + Me.columnUsername = New DevExpress.XtraGrid.Columns.TileViewColumn() + Me.columnMessage = New DevExpress.XtraGrid.Columns.TileViewColumn() + Me.columnDate = New DevExpress.XtraGrid.Columns.TileViewColumn() + Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl() + Me.GridChat = New DevExpress.XtraGrid.GridControl() + Me.ChatView = New DevExpress.XtraGrid.Views.Tile.TileView() + Me.txtMessage = New DevExpress.XtraEditors.MemoEdit() + Me.ChatSource = New System.Windows.Forms.BindingSource(Me.components) + CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SplitContainerControl1.SuspendLayout() + CType(Me.GridChat, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.ChatView, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.txtMessage.Properties, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.ChatSource, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'columnUsername + ' + Me.columnUsername.FieldName = "USERNAME" + Me.columnUsername.Name = "columnUsername" + Me.columnUsername.Visible = True + Me.columnUsername.VisibleIndex = 1 + ' + 'columnMessage + ' + Me.columnMessage.FieldName = "MESSAGE" + Me.columnMessage.Name = "columnMessage" + Me.columnMessage.Visible = True + Me.columnMessage.VisibleIndex = 0 + ' + 'columnDate + ' + Me.columnDate.FieldName = "DATE" + Me.columnDate.Name = "columnDate" + Me.columnDate.Visible = True + Me.columnDate.VisibleIndex = 2 + ' + 'SplitContainerControl1 + ' + Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill + Me.SplitContainerControl1.FixedPanel = DevExpress.XtraEditors.SplitFixedPanel.Panel2 + Me.SplitContainerControl1.Horizontal = False + Me.SplitContainerControl1.IsSplitterFixed = True + Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 0) + Me.SplitContainerControl1.Name = "SplitContainerControl1" + Me.SplitContainerControl1.Panel1.Controls.Add(Me.GridChat) + Me.SplitContainerControl1.Panel1.Text = "Panel1" + Me.SplitContainerControl1.Panel2.Controls.Add(Me.txtMessage) + Me.SplitContainerControl1.Panel2.Text = "Panel2" + Me.SplitContainerControl1.Size = New System.Drawing.Size(317, 314) + Me.SplitContainerControl1.SplitterPosition = 50 + Me.SplitContainerControl1.TabIndex = 0 + ' + 'GridChat + ' + Me.GridChat.Dock = System.Windows.Forms.DockStyle.Fill + Me.GridChat.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.GridChat.Location = New System.Drawing.Point(0, 0) + Me.GridChat.MainView = Me.ChatView + Me.GridChat.Name = "GridChat" + Me.GridChat.Size = New System.Drawing.Size(317, 254) + Me.GridChat.TabIndex = 0 + Me.GridChat.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ChatView}) + ' + 'ChatView + ' + Me.ChatView.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.columnMessage, Me.columnUsername, Me.columnDate}) + Me.ChatView.GridControl = Me.GridChat + Me.ChatView.Name = "ChatView" + Me.ChatView.OptionsTiles.GroupTextPadding = New System.Windows.Forms.Padding(0) + Me.ChatView.OptionsTiles.IndentBetweenGroups = 0 + Me.ChatView.OptionsTiles.IndentBetweenItems = 0 + Me.ChatView.OptionsTiles.ItemPadding = New System.Windows.Forms.Padding(0) + Me.ChatView.OptionsTiles.ItemSize = New System.Drawing.Size(374, 64) + Me.ChatView.OptionsTiles.LayoutMode = DevExpress.XtraGrid.Views.Tile.TileViewLayoutMode.List + Me.ChatView.OptionsTiles.Orientation = System.Windows.Forms.Orientation.Vertical + Me.ChatView.OptionsTiles.RowCount = 0 + Me.ChatView.OptionsTiles.ScrollMode = DevExpress.XtraEditors.TileControlScrollMode.ScrollButtons + TableColumnDefinition7.Length.Value = 250.0R + TableColumnDefinition8.Length.Value = 100.0R + ItemTemplate3.Columns.Add(TableColumnDefinition7) + ItemTemplate3.Columns.Add(TableColumnDefinition8) + TileViewItemElement7.Column = Me.columnUsername + TileViewItemElement7.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement7.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside + TileViewItemElement7.Text = "columnUsername" + TileViewItemElement7.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft + TileViewItemElement7.TextLocation = New System.Drawing.Point(10, 0) + TileViewItemElement8.Column = Me.columnMessage + TileViewItemElement8.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement8.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside + TileViewItemElement8.RowIndex = 1 + TileViewItemElement8.Text = "columnMessage" + TileViewItemElement8.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft + TileViewItemElement8.TextLocation = New System.Drawing.Point(10, 0) + TileViewItemElement9.Column = Me.columnDate + TileViewItemElement9.ColumnIndex = 1 + TileViewItemElement9.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement9.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside + TileViewItemElement9.Text = "columnDate" + TileViewItemElement9.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight + TileViewItemElement9.TextLocation = New System.Drawing.Point(-10, 0) + ItemTemplate3.Elements.Add(TileViewItemElement7) + ItemTemplate3.Elements.Add(TileViewItemElement8) + ItemTemplate3.Elements.Add(TileViewItemElement9) + ItemTemplate3.Name = "ChatLeft" + TableRowDefinition7.Length.Value = 24.0R + TableRowDefinition8.Length.Value = 24.0R + ItemTemplate3.Rows.Add(TableRowDefinition7) + ItemTemplate3.Rows.Add(TableRowDefinition8) + TableColumnDefinition9.Length.Value = 100.0R + TableColumnDefinition10.Length.Value = 250.0R + ItemTemplate4.Columns.Add(TableColumnDefinition9) + ItemTemplate4.Columns.Add(TableColumnDefinition10) + TileViewItemElement10.Column = Me.columnUsername + TileViewItemElement10.ColumnIndex = 1 + TileViewItemElement10.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement10.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside + TileViewItemElement10.Text = "columnUsername" + TileViewItemElement10.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight + TileViewItemElement10.TextLocation = New System.Drawing.Point(-10, 0) + TileViewItemElement11.Column = Me.columnMessage + TileViewItemElement11.ColumnIndex = 1 + TileViewItemElement11.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement11.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside + TileViewItemElement11.RowIndex = 1 + TileViewItemElement11.Text = "columnMessage" + TileViewItemElement11.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleRight + TileViewItemElement11.TextLocation = New System.Drawing.Point(-10, 0) + TileViewItemElement12.Column = Me.columnDate + TileViewItemElement12.ImageOptions.ImageAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleCenter + TileViewItemElement12.ImageOptions.ImageScaleMode = DevExpress.XtraEditors.TileItemImageScaleMode.ZoomInside + TileViewItemElement12.Text = "columnDate" + TileViewItemElement12.TextAlignment = DevExpress.XtraEditors.TileItemContentAlignment.MiddleLeft + TileViewItemElement12.TextLocation = New System.Drawing.Point(10, 0) + ItemTemplate4.Elements.Add(TileViewItemElement10) + ItemTemplate4.Elements.Add(TileViewItemElement11) + ItemTemplate4.Elements.Add(TileViewItemElement12) + ItemTemplate4.Name = "ChatRight" + TableRowDefinition9.Length.Value = 24.0R + TableRowDefinition10.Length.Value = 24.0R + ItemTemplate4.Rows.Add(TableRowDefinition9) + ItemTemplate4.Rows.Add(TableRowDefinition10) + Me.ChatView.Templates.Add(ItemTemplate3) + Me.ChatView.Templates.Add(ItemTemplate4) + Me.ChatView.TileColumns.Add(TableColumnDefinition11) + Me.ChatView.TileColumns.Add(TableColumnDefinition12) + Me.ChatView.TileRows.Add(TableRowDefinition11) + Me.ChatView.TileRows.Add(TableRowDefinition12) + ' + 'txtMessage + ' + Me.txtMessage.Dock = System.Windows.Forms.DockStyle.Fill + Me.txtMessage.Location = New System.Drawing.Point(0, 0) + Me.txtMessage.Name = "txtMessage" + Me.txtMessage.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtMessage.Properties.Appearance.Options.UseFont = True + Me.txtMessage.Size = New System.Drawing.Size(317, 50) + Me.txtMessage.TabIndex = 1 + ' + 'ChatControl + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.Controls.Add(Me.SplitContainerControl1) + Me.Name = "ChatControl" + Me.Size = New System.Drawing.Size(317, 314) + CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit() + Me.SplitContainerControl1.ResumeLayout(False) + CType(Me.GridChat, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.ChatView, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.txtMessage.Properties, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.ChatSource, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl + Friend WithEvents GridChat As DevExpress.XtraGrid.GridControl + Friend WithEvents ChatView As DevExpress.XtraGrid.Views.Tile.TileView + Friend WithEvents txtMessage As DevExpress.XtraEditors.MemoEdit + Friend WithEvents columnMessage As DevExpress.XtraGrid.Columns.TileViewColumn + Friend WithEvents columnUsername As DevExpress.XtraGrid.Columns.TileViewColumn + Friend WithEvents columnDate As DevExpress.XtraGrid.Columns.TileViewColumn + Friend WithEvents ChatSource As BindingSource +End Class diff --git a/Controls.ChatControl/ChatControl.resx b/Controls.ChatControl/ChatControl.resx new file mode 100644 index 00000000..ce02ca62 --- /dev/null +++ b/Controls.ChatControl/ChatControl.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/Controls.ChatControl/ChatControl.vb b/Controls.ChatControl/ChatControl.vb new file mode 100644 index 00000000..c8ab2553 --- /dev/null +++ b/Controls.ChatControl/ChatControl.vb @@ -0,0 +1,115 @@ +Imports DevExpress.XtraGrid.Views.Tile +Imports DigitalData.Modules.Database +Imports DigitalData.Modules.Logging + +Public Class ChatControl + Private ReadOnly IdColumn As String = "ID" + Private ReadOnly UsernameColumn As String = "USERNAME" + Private ReadOnly MessageColumn As String = "MESSAGE" + Private ReadOnly DateColumn As String = "DATE" + + Private Db As MSSQLServer + Private LogConfig As LogConfig + Private Logger As Logger + + Private ReadOnly UsernameColorsDict As New Dictionary(Of String, Color) + Private ReadOnly UsernameColors As New List(Of Color) From { + Color.Purple, + Color.Red, + Color.LightBlue, + Color.DarkSeaGreen + } + + Public IDBObjectId As Long + Public ConnectionString As String + + Public Sub New() + InitializeComponent() + End Sub + + Public Sub Init(ConnectionString As String, IDBObjectId As Long, CurrentUser As String) + + End Sub + + Public Function InitData() As DataTable + Dim oDatatable As New DataTable() + Dim oColumns As New List(Of DataColumn) From { + New DataColumn(IdColumn, New Integer.GetType), + New DataColumn(UsernameColumn), + New DataColumn(MessageColumn), + New DataColumn(DateColumn, New Date.GetType) + } + oDatatable.Columns.AddRange(oColumns.ToArray) + + Dim oRow1 = oDatatable.NewRow() + With oRow1 + .Item(IdColumn) = 0 + .Item(UsernameColumn) = "Jonathan" + .Item(MessageColumn) = "Hi" + .Item(DateColumn) = Now.AddMinutes(-10).ToShortTimeString + End With + + Dim oRow2 = oDatatable.NewRow() + With oRow2 + .Item(IdColumn) = 0 + .Item(UsernameColumn) = "Marlon" + .Item(MessageColumn) = "Was geht?" + .Item(DateColumn) = Now.ToShortTimeString + End With + + oDatatable.Rows.Add(oRow1) + oDatatable.Rows.Add(oRow2) + oDatatable.AcceptChanges() + + Return oDatatable + End Function + + Private Sub ChatControl_Load(sender As Object, e As EventArgs) Handles Me.Load + Dim oDatatable = InitData() + + BuildUsernameColorDict(oDatatable) + + GridChat.DataSource = ChatSource + ChatSource.DataSource = oDatatable + End Sub + + Private Sub BuildUsernameColorDict(Datatable As DataTable) + Dim oIndex = 0 + + Datatable.AsEnumerable(). + Select(Function(Row) Row.Item(UsernameColumn)). + Distinct().ToList(). + ForEach(Sub(Name) + UsernameColorsDict.Add(Name, UsernameColors.Item(oIndex)) + oIndex += 1 + End Sub) + End Sub + + Private Sub ChatView_CustomItemTemplate(sender As Object, e As DevExpress.XtraGrid.Views.Tile.TileViewCustomItemTemplateEventArgs) Handles ChatView.CustomItemTemplate + Dim oRow As DataRow = ChatView.GetDataRow(e.RowHandle) + Dim oUsername As String = oRow.Item(UsernameColumn) + + If oUsername = "Jonathan" Then + e.Template = e.Templates.Item("ChatRight") + Else + e.Template = e.Templates.Item("ChatLeft") + End If + End Sub + + Private Sub ChatView_ItemCustomize(sender As Object, e As TileViewItemCustomizeEventArgs) Handles ChatView.ItemCustomize + Dim oRow As DataRow = ChatView.GetDataRow(e.RowHandle) + Dim oUsername As String = oRow.Item(UsernameColumn) + Dim oColor As Color = UsernameColorsDict.Item(oUsername) + + If oUsername = "Jonathan" Then + e.Item.AppearanceItem.Normal.BackColor = Color.LightGray + End If + e.Item.Item(UsernameColumn).Appearance.Normal.ForeColor = oColor + End Sub + + Private Sub txtMessage_KeyUp(sender As Object, e As KeyEventArgs) Handles txtMessage.KeyUp + If e.Control And e.KeyCode = Keys.Enter Then + + End If + End Sub +End Class diff --git a/Controls.ChatControl/ChatControl.vbproj b/Controls.ChatControl/ChatControl.vbproj new file mode 100644 index 00000000..ea28a54f --- /dev/null +++ b/Controls.ChatControl/ChatControl.vbproj @@ -0,0 +1,144 @@ + + + + + Debug + AnyCPU + {1F278760-4F6B-42E8-B82D-01D4C8618340} + Library + DigitalData.Controls.ChatControl + DigitalData.Controls.ChatControl + 512 + Windows + v4.7.2 + true + + + true + full + true + true + bin\Debug\ + DigitalData.Controls.ChatControl.xml + _MYFORMS=True + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + pdbonly + false + true + true + bin\Release\ + DigitalData.Controls.ChatControl.xml + _MYFORMS=True + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + Application.myapp + + + UserControl + + + ChatControl.vb + + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + ChatControl.vb + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + + + + {eaf0ea75-5fa7-485d-89c7-b2d843b03a96} + Database + + + {903b2d7d-3b80-4be9-8713-7447b704e1b0} + Logging + + + + \ No newline at end of file diff --git a/Controls.ChatControl/My Project/Application.Designer.vb b/Controls.ChatControl/My Project/Application.Designer.vb new file mode 100644 index 00000000..8ab460ba --- /dev/null +++ b/Controls.ChatControl/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/Controls.ChatControl/My Project/Application.myapp b/Controls.ChatControl/My Project/Application.myapp new file mode 100644 index 00000000..758895de --- /dev/null +++ b/Controls.ChatControl/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 1 + true + diff --git a/Controls.ChatControl/My Project/AssemblyInfo.vb b/Controls.ChatControl/My Project/AssemblyInfo.vb new file mode 100644 index 00000000..f71c7e93 --- /dev/null +++ b/Controls.ChatControl/My Project/AssemblyInfo.vb @@ -0,0 +1,34 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' Allgemeine Informationen über eine Assembly werden über die folgenden +' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +' die einer Assembly zugeordnet sind. + +' Werte der Assemblyattribute überprüfen + + + + + + + + + + +'Die folgende GUID wird für die typelib-ID verwendet, wenn dieses Projekt für COM verfügbar gemacht wird. + + +' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +' +' Hauptversion +' Nebenversion +' Buildnummer +' Revision +' +' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +' indem Sie "*" wie unten gezeigt eingeben: + + + diff --git a/Controls.ChatControl/My Project/Resources.Designer.vb b/Controls.ChatControl/My Project/Resources.Designer.vb new file mode 100644 index 00000000..150629e8 --- /dev/null +++ b/Controls.ChatControl/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + 'Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + '-Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + 'Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + 'mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + ''' + ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DigitalData.Controls.ChatControl.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + ''' Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/Controls.ChatControl/My Project/Resources.resx b/Controls.ChatControl/My Project/Resources.resx new file mode 100644 index 00000000..af7dbebb --- /dev/null +++ b/Controls.ChatControl/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Controls.ChatControl/My Project/Settings.Designer.vb b/Controls.ChatControl/My Project/Settings.Designer.vb new file mode 100644 index 00000000..7e6d6ee8 --- /dev/null +++ b/Controls.ChatControl/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.42000 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "Automatische My.Settings-Speicherfunktion" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(sender As Global.System.Object, e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.DigitalData.Controls.ChatControl.My.MySettings + Get + Return Global.DigitalData.Controls.ChatControl.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/Controls.ChatControl/My Project/Settings.settings b/Controls.ChatControl/My Project/Settings.settings new file mode 100644 index 00000000..85b890b3 --- /dev/null +++ b/Controls.ChatControl/My Project/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Controls.ChatControl/My Project/licenses.licx b/Controls.ChatControl/My Project/licenses.licx new file mode 100644 index 00000000..a360c698 --- /dev/null +++ b/Controls.ChatControl/My Project/licenses.licx @@ -0,0 +1,2 @@ +DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/Controls.DocumentViewer/DocumentViewer.vbproj b/Controls.DocumentViewer/DocumentViewer.vbproj index bd715555..42665861 100644 --- a/Controls.DocumentViewer/DocumentViewer.vbproj +++ b/Controls.DocumentViewer/DocumentViewer.vbproj @@ -78,7 +78,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Controls.DocumentViewer/packages.config b/Controls.DocumentViewer/packages.config index d7bc5b9d..f8dbc83e 100644 --- a/Controls.DocumentViewer/packages.config +++ b/Controls.DocumentViewer/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/DDMonorepo.sln b/DDMonorepo.sln index 39372e2f..efc29723 100644 --- a/DDMonorepo.sln +++ b/DDMonorepo.sln @@ -114,10 +114,14 @@ Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DDEDMLicenseService", "Serv EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "GUIs.Test.EDMIBenchmark", "GUIs.Test.EDMIBenchmark\GUIs.Test.EDMIBenchmark.vbproj", "{5FDEC007-7AE0-4829-B1AE-6165E29375DA}" EndProject -Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ChatServer", "ChatServer\ChatServer.vbproj", "{C8F9C3DD-9328-49E3-8530-48E6A4C82CAF}" +Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "ChatServer", "ChatServer\ChatServer.vbproj", "{C8F9C3DD-9328-49E3-8530-48E6A4C82CAF}" EndProject Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ChatClient", "ChatClient\ChatClient.vbproj", "{9713484C-6EE3-4D7E-B6E6-F32CF6B6BB6C}" EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ChatControl", "Controls.ChatControl\ChatControl.vbproj", "{1F278760-4F6B-42E8-B82D-01D4C8618340}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ChatTest", "ChatTest\ChatTest.vbproj", "{4A726345-FD6B-4E1C-9E5D-18C9043D7714}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -308,6 +312,14 @@ Global {9713484C-6EE3-4D7E-B6E6-F32CF6B6BB6C}.Debug|Any CPU.Build.0 = Debug|Any CPU {9713484C-6EE3-4D7E-B6E6-F32CF6B6BB6C}.Release|Any CPU.ActiveCfg = Release|Any CPU {9713484C-6EE3-4D7E-B6E6-F32CF6B6BB6C}.Release|Any CPU.Build.0 = Release|Any CPU + {1F278760-4F6B-42E8-B82D-01D4C8618340}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1F278760-4F6B-42E8-B82D-01D4C8618340}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1F278760-4F6B-42E8-B82D-01D4C8618340}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1F278760-4F6B-42E8-B82D-01D4C8618340}.Release|Any CPU.Build.0 = Release|Any CPU + {4A726345-FD6B-4E1C-9E5D-18C9043D7714}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4A726345-FD6B-4E1C-9E5D-18C9043D7714}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4A726345-FD6B-4E1C-9E5D-18C9043D7714}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4A726345-FD6B-4E1C-9E5D-18C9043D7714}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -359,6 +371,8 @@ Global {5FDEC007-7AE0-4829-B1AE-6165E29375DA} = {CC368D6A-6AC4-4EB9-A092-14700FABEF7A} {C8F9C3DD-9328-49E3-8530-48E6A4C82CAF} = {3E2008C8-27B1-41DD-9B1A-0C4029F6AECC} {9713484C-6EE3-4D7E-B6E6-F32CF6B6BB6C} = {CC368D6A-6AC4-4EB9-A092-14700FABEF7A} + {1F278760-4F6B-42E8-B82D-01D4C8618340} = {F98C0329-C004-417F-B2AB-7466E88D8220} + {4A726345-FD6B-4E1C-9E5D-18C9043D7714} = {CC368D6A-6AC4-4EB9-A092-14700FABEF7A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {C1BE4090-A0FD-48AF-86CB-39099D14B286} diff --git a/EDMI.File/EDMI.File.vbproj b/EDMI.File/EDMI.File.vbproj index 10093658..8395d3ae 100644 --- a/EDMI.File/EDMI.File.vbproj +++ b/EDMI.File/EDMI.File.vbproj @@ -46,7 +46,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/EDMI.File/packages.config b/EDMI.File/packages.config index ef1d1ab0..1baeaab3 100644 --- a/EDMI.File/packages.config +++ b/EDMI.File/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj b/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj index 0ed02c9e..6b2b248c 100644 --- a/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj +++ b/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj @@ -55,7 +55,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/GUIs.ClipboardWatcher/packages.config b/GUIs.ClipboardWatcher/packages.config index d7bc5b9d..f8dbc83e 100644 --- a/GUIs.ClipboardWatcher/packages.config +++ b/GUIs.ClipboardWatcher/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/GUIs.Common/Common.vbproj b/GUIs.Common/Common.vbproj index 7a944000..e61036dd 100644 --- a/GUIs.Common/Common.vbproj +++ b/GUIs.Common/Common.vbproj @@ -62,7 +62,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/GUIs.Common/packages.config b/GUIs.Common/packages.config index d7bc5b9d..f8dbc83e 100644 --- a/GUIs.Common/packages.config +++ b/GUIs.Common/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Modules.Config/Config.vbproj b/Modules.Config/Config.vbproj index f1023808..4db9e89f 100644 --- a/Modules.Config/Config.vbproj +++ b/Modules.Config/Config.vbproj @@ -45,7 +45,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Modules.Config/packages.config b/Modules.Config/packages.config index d7bc5b9d..f8dbc83e 100644 --- a/Modules.Config/packages.config +++ b/Modules.Config/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Modules.Database/Database.vbproj b/Modules.Database/Database.vbproj index 46730ac9..b9ae8073 100644 --- a/Modules.Database/Database.vbproj +++ b/Modules.Database/Database.vbproj @@ -59,7 +59,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll P:\Visual Studio Projekte\Bibliotheken\Oracle.ManagedDataAccess.dll diff --git a/Modules.Database/packages.config b/Modules.Database/packages.config index f80f30ec..7fffa742 100644 --- a/Modules.Database/packages.config +++ b/Modules.Database/packages.config @@ -3,5 +3,5 @@ - + \ No newline at end of file diff --git a/Modules.EDMIAPI/EDMI.API.vbproj b/Modules.EDMIAPI/EDMI.API.vbproj index 6880d2de..db21be8f 100644 --- a/Modules.EDMIAPI/EDMI.API.vbproj +++ b/Modules.EDMIAPI/EDMI.API.vbproj @@ -45,7 +45,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Modules.EDMIAPI/packages.config b/Modules.EDMIAPI/packages.config index c1fd79a0..f8dbc83e 100644 --- a/Modules.EDMIAPI/packages.config +++ b/Modules.EDMIAPI/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Modules.Filesystem/Filesystem.vbproj b/Modules.Filesystem/Filesystem.vbproj index 8f1e83fc..6bafb245 100644 --- a/Modules.Filesystem/Filesystem.vbproj +++ b/Modules.Filesystem/Filesystem.vbproj @@ -45,7 +45,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll ..\packages\protobuf-net.2.4.0\lib\net40\protobuf-net.dll diff --git a/Modules.Filesystem/packages.config b/Modules.Filesystem/packages.config index f6c8c5a4..f3a378b6 100644 --- a/Modules.Filesystem/packages.config +++ b/Modules.Filesystem/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Modules.Interfaces/Interfaces.vbproj b/Modules.Interfaces/Interfaces.vbproj index e40f1254..a9bd218a 100644 --- a/Modules.Interfaces/Interfaces.vbproj +++ b/Modules.Interfaces/Interfaces.vbproj @@ -51,7 +51,7 @@ ..\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Modules.Interfaces/packages.config b/Modules.Interfaces/packages.config index 09a6f4d1..09e512cd 100644 --- a/Modules.Interfaces/packages.config +++ b/Modules.Interfaces/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Modules.Jobs/Jobs.vbproj b/Modules.Jobs/Jobs.vbproj index 8b7daa08..c809d6e9 100644 --- a/Modules.Jobs/Jobs.vbproj +++ b/Modules.Jobs/Jobs.vbproj @@ -118,7 +118,7 @@ ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Modules.Jobs/packages.config b/Modules.Jobs/packages.config index c6e89356..6447395e 100644 --- a/Modules.Jobs/packages.config +++ b/Modules.Jobs/packages.config @@ -2,5 +2,5 @@ - + \ No newline at end of file diff --git a/Modules.Language/Language.vbproj b/Modules.Language/Language.vbproj index 5181b529..ffffd8d2 100644 --- a/Modules.Language/Language.vbproj +++ b/Modules.Language/Language.vbproj @@ -45,7 +45,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Modules.Language/packages.config b/Modules.Language/packages.config index d7bc5b9d..f8dbc83e 100644 --- a/Modules.Language/packages.config +++ b/Modules.Language/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Modules.License/License.vbproj b/Modules.License/License.vbproj index baf807df..b2f2eb36 100644 --- a/Modules.License/License.vbproj +++ b/Modules.License/License.vbproj @@ -45,7 +45,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Modules.License/packages.config b/Modules.License/packages.config index d7bc5b9d..f8dbc83e 100644 --- a/Modules.License/packages.config +++ b/Modules.License/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Modules.Logging/Logging.vbproj b/Modules.Logging/Logging.vbproj index ad3f13b2..985235ec 100644 --- a/Modules.Logging/Logging.vbproj +++ b/Modules.Logging/Logging.vbproj @@ -45,7 +45,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Modules.Logging/packages.config b/Modules.Logging/packages.config index d7bc5b9d..f8dbc83e 100644 --- a/Modules.Logging/packages.config +++ b/Modules.Logging/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Modules.Messaging/Messaging.vbproj b/Modules.Messaging/Messaging.vbproj index 99473635..b7afaf09 100644 --- a/Modules.Messaging/Messaging.vbproj +++ b/Modules.Messaging/Messaging.vbproj @@ -48,7 +48,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll ..\packages\S22.Imap.3.6.0.0\lib\net40\S22.Imap.dll diff --git a/Modules.Messaging/packages.config b/Modules.Messaging/packages.config index 32985371..30212888 100644 --- a/Modules.Messaging/packages.config +++ b/Modules.Messaging/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Modules.Patterns/Patterns.vbproj b/Modules.Patterns/Patterns.vbproj index 5cd07153..01be2339 100644 --- a/Modules.Patterns/Patterns.vbproj +++ b/Modules.Patterns/Patterns.vbproj @@ -45,7 +45,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Modules.Patterns/packages.config b/Modules.Patterns/packages.config index d7bc5b9d..f8dbc83e 100644 --- a/Modules.Patterns/packages.config +++ b/Modules.Patterns/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Modules.Windream/Windream.vbproj b/Modules.Windream/Windream.vbproj index f5db4b6a..91a95cc5 100644 --- a/Modules.Windream/Windream.vbproj +++ b/Modules.Windream/Windream.vbproj @@ -65,7 +65,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Modules.Windream/packages.config b/Modules.Windream/packages.config index d7bc5b9d..f8dbc83e 100644 --- a/Modules.Windream/packages.config +++ b/Modules.Windream/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Modules.ZooFlow/ZooFlow.vbproj b/Modules.ZooFlow/ZooFlow.vbproj index 41499ffe..271ce2d5 100644 --- a/Modules.ZooFlow/ZooFlow.vbproj +++ b/Modules.ZooFlow/ZooFlow.vbproj @@ -45,7 +45,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Modules.ZooFlow/packages.config b/Modules.ZooFlow/packages.config index d7bc5b9d..f8dbc83e 100644 --- a/Modules.ZooFlow/packages.config +++ b/Modules.ZooFlow/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Service.EDMIService/App.config b/Service.EDMIService/App.config index 8c1bd90e..4e4387a6 100644 --- a/Service.EDMIService/App.config +++ b/Service.EDMIService/App.config @@ -1,67 +1,55 @@ - + - - - - + + + + - + - + - - + + - + - + - + - + - - + + - - + + - + @@ -69,10 +57,10 @@ - + - + @@ -80,8 +68,8 @@ - - + + @@ -89,9 +77,9 @@ - - + + - + diff --git a/Service.EDMIService/EDMIService.vbproj b/Service.EDMIService/EDMIService.vbproj index 444b5c26..865e59cf 100644 --- a/Service.EDMIService/EDMIService.vbproj +++ b/Service.EDMIService/EDMIService.vbproj @@ -68,7 +68,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Service.EDMIService/packages.config b/Service.EDMIService/packages.config index 380efd84..bac6970a 100644 --- a/Service.EDMIService/packages.config +++ b/Service.EDMIService/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Service.JobRunner/JobRunner.vbproj b/Service.JobRunner/JobRunner.vbproj index c1f26d4d..5922661c 100644 --- a/Service.JobRunner/JobRunner.vbproj +++ b/Service.JobRunner/JobRunner.vbproj @@ -52,7 +52,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll ..\packages\Quartz.3.0.7\lib\net452\Quartz.dll diff --git a/Service.JobRunner/packages.config b/Service.JobRunner/packages.config index f3451819..9ee770de 100644 --- a/Service.JobRunner/packages.config +++ b/Service.JobRunner/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Services.EmailService/DDEmailService.vbproj b/Services.EmailService/DDEmailService.vbproj index 19744be0..998e122a 100644 --- a/Services.EmailService/DDEmailService.vbproj +++ b/Services.EmailService/DDEmailService.vbproj @@ -52,7 +52,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Services.EmailService/packages.config b/Services.EmailService/packages.config index 9df4a30e..20d7a800 100644 --- a/Services.EmailService/packages.config +++ b/Services.EmailService/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/Services.LicenseService/DDEDMLicenseService.vbproj b/Services.LicenseService/DDEDMLicenseService.vbproj index 1725b5a3..8c28073a 100644 --- a/Services.LicenseService/DDEDMLicenseService.vbproj +++ b/Services.LicenseService/DDEDMLicenseService.vbproj @@ -49,7 +49,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Services.LicenseService/packages.config b/Services.LicenseService/packages.config index d7bc5b9d..f8dbc83e 100644 --- a/Services.LicenseService/packages.config +++ b/Services.LicenseService/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Services.ZUGFeRDService/DDZUGFeRDService.vbproj b/Services.ZUGFeRDService/DDZUGFeRDService.vbproj index bfb02e47..38554a25 100644 --- a/Services.ZUGFeRDService/DDZUGFeRDService.vbproj +++ b/Services.ZUGFeRDService/DDZUGFeRDService.vbproj @@ -52,7 +52,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Services.ZUGFeRDService/packages.config b/Services.ZUGFeRDService/packages.config index 9df4a30e..20d7a800 100644 --- a/Services.ZUGFeRDService/packages.config +++ b/Services.ZUGFeRDService/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/WEBSERVICES/ZUGFeRDRESTService/ZUGFeRDRESTService.csproj b/WEBSERVICES/ZUGFeRDRESTService/ZUGFeRDRESTService.csproj index 6979bef1..8d327b9f 100644 --- a/WEBSERVICES/ZUGFeRDRESTService/ZUGFeRDRESTService.csproj +++ b/WEBSERVICES/ZUGFeRDRESTService/ZUGFeRDRESTService.csproj @@ -9,7 +9,7 @@ - + diff --git a/Windows/Windows.vbproj b/Windows/Windows.vbproj index f0dba021..b2611b70 100644 --- a/Windows/Windows.vbproj +++ b/Windows/Windows.vbproj @@ -45,7 +45,7 @@ - ..\packages\NLog.4.7.0\lib\net45\NLog.dll + ..\packages\NLog.4.7.2\lib\net45\NLog.dll diff --git a/Windows/packages.config b/Windows/packages.config index d7bc5b9d..f8dbc83e 100644 --- a/Windows/packages.config +++ b/Windows/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From 30827fb84134770a4b6f8341c18af6020dd607b8 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 29 May 2020 10:53:38 +0200 Subject: [PATCH 03/11] fix breaking unc path --- Modules.Windream/Windream.vb | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/Modules.Windream/Windream.vb b/Modules.Windream/Windream.vb index 68580c06..35812bcf 100644 --- a/Modules.Windream/Windream.vb +++ b/Modules.Windream/Windream.vb @@ -766,36 +766,36 @@ Public Class Windream Public Function GetNormalizedPath(Path As String) As String Dim oNormalizedPath = GetCleanedPath(Path) Try - - 'If UsesDriveLetter Then - ' Remove Driveletter eg. W:\ + ' Remove Driveletter, eg. W:\ If oNormalizedPath.StartsWith($"{ClientDriveLetter}:\") Then _logger.Debug($"Replacing ClientDriveLetter: [{ClientDriveLetter}]") oNormalizedPath = oNormalizedPath.Substring(ClientDriveLetter.Length + 2) End If - 'Else + + ' Remove Windream Base Path, eg. \\windream\objects\ If oNormalizedPath.ToLower.StartsWith(ClientBasePath.ToLower) Then _logger.Debug($"Replacing ClientBasePath: [{ClientBasePath}]") - ' Remove Windream Base Path eg. \\windream\objects\ oNormalizedPath = oNormalizedPath.Substring(ClientBasePath.Length - 1) End If - 'End If - oNormalizedPath = oNormalizedPath.Replace("\\", "\") - _logger.Debug($"oNormalizedPath: [{oNormalizedPath}]") + ' Convert any forward slashes / and double slashes \\ into backslashes \ + ' See: https://stackoverflow.com/questions/3144492/how-do-i-get-nets-path-combine-to-convert-forward-slashes-to-backslashes + oNormalizedPath = GetFullPath(oNormalizedPath) + + ' Handle misconfigured drive-letter If oNormalizedPath.Contains(":") Then - _logger.Info($"oNormalizedPath still contains a drive name!!") - _logger.Info($"Check Your config ClientDriveLetter [{ClientDriveLetter}] // ClientBasePath [{ClientBasePath}]") + _logger.Warn($"oNormalizedPath still contains a drive name!!") + _logger.Warn($"Check Your config ClientDriveLetter [{ClientDriveLetter}] // ClientBasePath [{ClientBasePath}]") oNormalizedPath = oNormalizedPath.Substring(3) - _logger.Debug($"oNormalizedPath after Substring: [{oNormalizedPath}]") End If + + _logger.Debug($"oNormalizedPath: [{oNormalizedPath}]") + Return oNormalizedPath Catch ex As Exception _logger.Warn($"Unexpected error in GetNormalizedPath - oNormalizedPath [{oNormalizedPath}] - Error: [{ex.Message}]") Return "" End Try - - End Function ''' From 79736df06490b80dbe1a1f1bde17a3345adbcf21 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 29 May 2020 10:54:06 +0200 Subject: [PATCH 04/11] Windream: Version 1.0.0.6 --- Modules.Windream/My Project/AssemblyInfo.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules.Windream/My Project/AssemblyInfo.vb b/Modules.Windream/My Project/AssemblyInfo.vb index db7df557..34c245c8 100644 --- a/Modules.Windream/My Project/AssemblyInfo.vb +++ b/Modules.Windream/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + From 068f660451d5f4bc794146eb8f085a31c53d10d3 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 29 May 2020 10:54:18 +0200 Subject: [PATCH 05/11] ChatControl + Test --- ChatTest/ChatTest.vbproj | 4 + ChatTest/Form1.vb | 10 +- Controls.ChatControl/ChatControl.Designer.vb | 66 +++++++++++-- Controls.ChatControl/ChatControl.resx | 25 +++++ Controls.ChatControl/ChatControl.vb | 98 ++++++++++--------- Controls.ChatControl/ChatControl.vbproj | 13 +++ Controls.ChatControl/My Project/licenses.licx | 1 + Controls.ChatControl/packages.config | 4 + DDMonorepo.sln | 10 ++ 9 files changed, 178 insertions(+), 53 deletions(-) create mode 100644 Controls.ChatControl/packages.config diff --git a/ChatTest/ChatTest.vbproj b/ChatTest/ChatTest.vbproj index 0498b6b5..44fd2d82 100644 --- a/ChatTest/ChatTest.vbproj +++ b/ChatTest/ChatTest.vbproj @@ -134,6 +134,10 @@ {1f278760-4f6b-42e8-b82d-01d4c8618340} ChatControl + + {903b2d7d-3b80-4be9-8713-7447b704e1b0} + Logging + \ No newline at end of file diff --git a/ChatTest/Form1.vb b/ChatTest/Form1.vb index 17d65956..75c486cb 100644 --- a/ChatTest/Form1.vb +++ b/ChatTest/Form1.vb @@ -1,3 +1,11 @@ -Public Class Form1 +Imports DigitalData.Modules.Logging +Public Class Form1 + Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load + Dim oLogConfig As New LogConfig(LogConfig.PathType.CustomPath, Application.StartupPath) + Dim oConnectionString = "Server=sDD-VMP04-SQL17\DD_DEVELOP01;Database=IDB_TEST;User Id=sa;Password=dd;" + + ChatControl1.Init(oLogConfig, oConnectionString, "JenneJ") + ChatControl1.LoadConversations(10070) + End Sub End Class diff --git a/Controls.ChatControl/ChatControl.Designer.vb b/Controls.ChatControl/ChatControl.Designer.vb index 87731564..f76e724b 100644 --- a/Controls.ChatControl/ChatControl.Designer.vb +++ b/Controls.ChatControl/ChatControl.Designer.vb @@ -43,39 +43,50 @@ Partial Class ChatControl Dim TableColumnDefinition12 As DevExpress.XtraEditors.TableLayout.TableColumnDefinition = New DevExpress.XtraEditors.TableLayout.TableColumnDefinition() Dim TableRowDefinition11 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() Dim TableRowDefinition12 As DevExpress.XtraEditors.TableLayout.TableRowDefinition = New DevExpress.XtraEditors.TableLayout.TableRowDefinition() + Dim EditorButtonImageOptions2 As DevExpress.XtraEditors.Controls.EditorButtonImageOptions = New DevExpress.XtraEditors.Controls.EditorButtonImageOptions() + Dim SerializableAppearanceObject5 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject() + Dim SerializableAppearanceObject6 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject() + Dim SerializableAppearanceObject7 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject() + Dim SerializableAppearanceObject8 As DevExpress.Utils.SerializableAppearanceObject = New DevExpress.Utils.SerializableAppearanceObject() + Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(ChatControl)) Me.columnUsername = New DevExpress.XtraGrid.Columns.TileViewColumn() Me.columnMessage = New DevExpress.XtraGrid.Columns.TileViewColumn() Me.columnDate = New DevExpress.XtraGrid.Columns.TileViewColumn() Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl() Me.GridChat = New DevExpress.XtraGrid.GridControl() Me.ChatView = New DevExpress.XtraGrid.Views.Tile.TileView() + Me.lookupConversations = New DigitalData.Controls.LookupGrid.LookupControl2() + Me.LookupControl21View = New DevExpress.XtraGrid.Views.Grid.GridView() Me.txtMessage = New DevExpress.XtraEditors.MemoEdit() + Me.btnSendMessage = New DevExpress.XtraEditors.SimpleButton() Me.ChatSource = New System.Windows.Forms.BindingSource(Me.components) CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerControl1.SuspendLayout() CType(Me.GridChat, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.ChatView, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.lookupConversations.Properties, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.LookupControl21View, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.txtMessage.Properties, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.ChatSource, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' 'columnUsername ' - Me.columnUsername.FieldName = "USERNAME" + Me.columnUsername.FieldName = "USER_FROM" Me.columnUsername.Name = "columnUsername" Me.columnUsername.Visible = True Me.columnUsername.VisibleIndex = 1 ' 'columnMessage ' - Me.columnMessage.FieldName = "MESSAGE" + Me.columnMessage.FieldName = "MESSAGE_TEXT" Me.columnMessage.Name = "columnMessage" Me.columnMessage.Visible = True Me.columnMessage.VisibleIndex = 0 ' 'columnDate ' - Me.columnDate.FieldName = "DATE" + Me.columnDate.FieldName = "ADDED_WHEN" Me.columnDate.Name = "columnDate" Me.columnDate.Visible = True Me.columnDate.VisibleIndex = 2 @@ -89,8 +100,10 @@ Partial Class ChatControl Me.SplitContainerControl1.Location = New System.Drawing.Point(0, 0) Me.SplitContainerControl1.Name = "SplitContainerControl1" Me.SplitContainerControl1.Panel1.Controls.Add(Me.GridChat) + Me.SplitContainerControl1.Panel1.Controls.Add(Me.lookupConversations) Me.SplitContainerControl1.Panel1.Text = "Panel1" Me.SplitContainerControl1.Panel2.Controls.Add(Me.txtMessage) + Me.SplitContainerControl1.Panel2.Controls.Add(Me.btnSendMessage) Me.SplitContainerControl1.Panel2.Text = "Panel2" Me.SplitContainerControl1.Size = New System.Drawing.Size(317, 314) Me.SplitContainerControl1.SplitterPosition = 50 @@ -100,10 +113,10 @@ Partial Class ChatControl ' Me.GridChat.Dock = System.Windows.Forms.DockStyle.Fill Me.GridChat.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.GridChat.Location = New System.Drawing.Point(0, 0) + Me.GridChat.Location = New System.Drawing.Point(0, 20) Me.GridChat.MainView = Me.ChatView Me.GridChat.Name = "GridChat" - Me.GridChat.Size = New System.Drawing.Size(317, 254) + Me.GridChat.Size = New System.Drawing.Size(317, 234) Me.GridChat.TabIndex = 0 Me.GridChat.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ChatView}) ' @@ -120,7 +133,7 @@ Partial Class ChatControl Me.ChatView.OptionsTiles.LayoutMode = DevExpress.XtraGrid.Views.Tile.TileViewLayoutMode.List Me.ChatView.OptionsTiles.Orientation = System.Windows.Forms.Orientation.Vertical Me.ChatView.OptionsTiles.RowCount = 0 - Me.ChatView.OptionsTiles.ScrollMode = DevExpress.XtraEditors.TileControlScrollMode.ScrollButtons + Me.ChatView.OptionsTiles.ScrollMode = DevExpress.XtraEditors.TileControlScrollMode.ScrollBar TableColumnDefinition7.Length.Value = 250.0R TableColumnDefinition8.Length.Value = 100.0R ItemTemplate3.Columns.Add(TableColumnDefinition7) @@ -193,6 +206,29 @@ Partial Class ChatControl Me.ChatView.TileRows.Add(TableRowDefinition11) Me.ChatView.TileRows.Add(TableRowDefinition12) ' + 'lookupConversations + ' + Me.lookupConversations.AllowAddNewValues = False + Me.lookupConversations.DataSource = Nothing + Me.lookupConversations.Dock = System.Windows.Forms.DockStyle.Top + Me.lookupConversations.Location = New System.Drawing.Point(0, 0) + Me.lookupConversations.MultiSelect = False + Me.lookupConversations.Name = "lookupConversations" + Me.lookupConversations.PreventDuplicates = False + Me.lookupConversations.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Ellipsis, "", -1, True, True, False, EditorButtonImageOptions2, New DevExpress.Utils.KeyShortcut(System.Windows.Forms.Keys.None), SerializableAppearanceObject5, SerializableAppearanceObject6, SerializableAppearanceObject7, SerializableAppearanceObject8, "", "openLookupForm", Nothing, DevExpress.Utils.ToolTipAnchor.[Default])}) + Me.lookupConversations.Properties.NullText = "" + Me.lookupConversations.Properties.PopupView = Me.LookupControl21View + Me.lookupConversations.SelectedValues = CType(resources.GetObject("lookupConversations.SelectedValues"), System.Collections.Generic.List(Of String)) + Me.lookupConversations.Size = New System.Drawing.Size(317, 20) + Me.lookupConversations.TabIndex = 1 + ' + 'LookupControl21View + ' + Me.LookupControl21View.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus + Me.LookupControl21View.Name = "LookupControl21View" + Me.LookupControl21View.OptionsSelection.EnableAppearanceFocusedCell = False + Me.LookupControl21View.OptionsView.ShowGroupPanel = False + ' 'txtMessage ' Me.txtMessage.Dock = System.Windows.Forms.DockStyle.Fill @@ -200,9 +236,20 @@ Partial Class ChatControl Me.txtMessage.Name = "txtMessage" Me.txtMessage.Properties.Appearance.Font = New System.Drawing.Font("Segoe UI", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtMessage.Properties.Appearance.Options.UseFont = True - Me.txtMessage.Size = New System.Drawing.Size(317, 50) + Me.txtMessage.Size = New System.Drawing.Size(275, 50) Me.txtMessage.TabIndex = 1 ' + 'btnSendMessage + ' + Me.btnSendMessage.Dock = System.Windows.Forms.DockStyle.Right + Me.btnSendMessage.ImageOptions.Location = DevExpress.XtraEditors.ImageLocation.MiddleCenter + Me.btnSendMessage.ImageOptions.SvgImage = CType(resources.GetObject("SimpleButton1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.btnSendMessage.Location = New System.Drawing.Point(275, 0) + Me.btnSendMessage.Name = "btnSendMessage" + Me.btnSendMessage.PaintStyle = DevExpress.XtraEditors.Controls.PaintStyles.Light + Me.btnSendMessage.Size = New System.Drawing.Size(42, 50) + Me.btnSendMessage.TabIndex = 2 + ' 'ChatControl ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -214,6 +261,8 @@ Partial Class ChatControl Me.SplitContainerControl1.ResumeLayout(False) CType(Me.GridChat, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.ChatView, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.lookupConversations.Properties, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.LookupControl21View, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.txtMessage.Properties, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.ChatSource, System.ComponentModel.ISupportInitialize).EndInit() Me.ResumeLayout(False) @@ -228,4 +277,7 @@ Partial Class ChatControl Friend WithEvents columnUsername As DevExpress.XtraGrid.Columns.TileViewColumn Friend WithEvents columnDate As DevExpress.XtraGrid.Columns.TileViewColumn Friend WithEvents ChatSource As BindingSource + Friend WithEvents lookupConversations As LookupGrid.LookupControl2 + Friend WithEvents LookupControl21View As DevExpress.XtraGrid.Views.Grid.GridView + Friend WithEvents btnSendMessage As DevExpress.XtraEditors.SimpleButton End Class diff --git a/Controls.ChatControl/ChatControl.resx b/Controls.ChatControl/ChatControl.resx index ce02ca62..78a566c9 100644 --- a/Controls.ChatControl/ChatControl.resx +++ b/Controls.ChatControl/ChatControl.resx @@ -117,6 +117,31 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + AAEAAAD/////AQAAAAAAAAAMAgAAAJoBbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1u + ZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9u + PTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQUB + AAAAMFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZwMAAAAGX2l0 + ZW1zBV9zaXplCF92ZXJzaW9uBgAACAgCAAAACQMAAAAAAAAAAAAAABEDAAAAAAAAAAs= + + + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAALcBAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iTmV4dCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg + MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KPC9zdHls + ZT4NCiAgPHBhdGggZD0iTTguOSw0LjFDOC40LDMuOCw4LDQuMSw4LDQuNnYyMC43YzAsMC42LDAuNCww + LjgsMC45LDAuNWwxNi44LTEwLjNjMC41LTAuMywwLjUtMC44LDAtMS4xTDguOSw0LjF6IiBjbGFzcz0i + Qmx1ZSIgLz4NCjwvc3ZnPgs= + + 17, 17 diff --git a/Controls.ChatControl/ChatControl.vb b/Controls.ChatControl/ChatControl.vb index c8ab2553..5772cbbb 100644 --- a/Controls.ChatControl/ChatControl.vb +++ b/Controls.ChatControl/ChatControl.vb @@ -3,10 +3,10 @@ Imports DigitalData.Modules.Database Imports DigitalData.Modules.Logging Public Class ChatControl - Private ReadOnly IdColumn As String = "ID" - Private ReadOnly UsernameColumn As String = "USERNAME" - Private ReadOnly MessageColumn As String = "MESSAGE" - Private ReadOnly DateColumn As String = "DATE" + Private ReadOnly IdColumn As String = "GUID" + Private ReadOnly UsernameColumn As String = "USER_FROM" + Private ReadOnly MessageColumn As String = "MESSAGE_TEXT" + Private ReadOnly DateColumn As String = "ADDED_WHEN" Private Db As MSSQLServer Private LogConfig As LogConfig @@ -22,50 +22,31 @@ Public Class ChatControl Public IDBObjectId As Long Public ConnectionString As String + Public CurrentUser As String + Public CurrentConversation As Long Public Sub New() InitializeComponent() End Sub - Public Sub Init(ConnectionString As String, IDBObjectId As Long, CurrentUser As String) + Public Sub Init(LogConfig As LogConfig, ConnectionString As String, CurrentUser As String) + Me.LogConfig = LogConfig + Me.Logger = LogConfig.GetLogger() + Me.ConnectionString = ConnectionString + Me.CurrentUser = CurrentUser + Me.Db = New MSSQLServer(LogConfig, ConnectionString) + End Sub + + Public Sub LoadConversations(IDBObjectId As Long) + Dim oSQL As String = $"SELECT * FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = {IDBObjectId}" + Dim oDatatable As DataTable = Db.GetDatatable(oSQL) + lookupConversations.DataSource = oDatatable End Sub - Public Function InitData() As DataTable - Dim oDatatable As New DataTable() - Dim oColumns As New List(Of DataColumn) From { - New DataColumn(IdColumn, New Integer.GetType), - New DataColumn(UsernameColumn), - New DataColumn(MessageColumn), - New DataColumn(DateColumn, New Date.GetType) - } - oDatatable.Columns.AddRange(oColumns.ToArray) - - Dim oRow1 = oDatatable.NewRow() - With oRow1 - .Item(IdColumn) = 0 - .Item(UsernameColumn) = "Jonathan" - .Item(MessageColumn) = "Hi" - .Item(DateColumn) = Now.AddMinutes(-10).ToShortTimeString - End With - - Dim oRow2 = oDatatable.NewRow() - With oRow2 - .Item(IdColumn) = 0 - .Item(UsernameColumn) = "Marlon" - .Item(MessageColumn) = "Was geht?" - .Item(DateColumn) = Now.ToShortTimeString - End With - - oDatatable.Rows.Add(oRow1) - oDatatable.Rows.Add(oRow2) - oDatatable.AcceptChanges() - - Return oDatatable - End Function - - Private Sub ChatControl_Load(sender As Object, e As EventArgs) Handles Me.Load - Dim oDatatable = InitData() + Public Sub LoadConversation(ConversationId As Long) + Dim oSQL As String = $"SELECT * FROM VWIDB_CONV_MESSAGES WHERE CONV_ID = {ConversationId} ORDER BY GUID" + Dim oDatatable As DataTable = Db.GetDatatable(oSQL) BuildUsernameColorDict(oDatatable) @@ -73,9 +54,22 @@ Public Class ChatControl ChatSource.DataSource = oDatatable End Sub + Public Sub SendMessage(MessageText As String) + Try + Dim oSQL As String = $"EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] {CurrentConversation},'{MessageText}', '{CurrentUser}'" + Dim oResult = Db.GetScalarValue(oSQL) + LoadConversation(CurrentConversation) + txtMessage.Text = String.Empty + Catch ex As Exception + Logger.Error(ex) + End Try + End Sub + Private Sub BuildUsernameColorDict(Datatable As DataTable) Dim oIndex = 0 + UsernameColorsDict.Clear() + Datatable.AsEnumerable(). Select(Function(Row) Row.Item(UsernameColumn)). Distinct().ToList(). @@ -85,11 +79,11 @@ Public Class ChatControl End Sub) End Sub - Private Sub ChatView_CustomItemTemplate(sender As Object, e As DevExpress.XtraGrid.Views.Tile.TileViewCustomItemTemplateEventArgs) Handles ChatView.CustomItemTemplate + Private Sub ChatView_CustomItemTemplate(sender As Object, e As TileViewCustomItemTemplateEventArgs) Handles ChatView.CustomItemTemplate Dim oRow As DataRow = ChatView.GetDataRow(e.RowHandle) Dim oUsername As String = oRow.Item(UsernameColumn) - If oUsername = "Jonathan" Then + If oUsername = CurrentUser Then e.Template = e.Templates.Item("ChatRight") Else e.Template = e.Templates.Item("ChatLeft") @@ -101,15 +95,29 @@ Public Class ChatControl Dim oUsername As String = oRow.Item(UsernameColumn) Dim oColor As Color = UsernameColorsDict.Item(oUsername) - If oUsername = "Jonathan" Then - e.Item.AppearanceItem.Normal.BackColor = Color.LightGray + If oUsername = CurrentUser Then + e.Item.AppearanceItem.Normal.BackColor = Color.PaleTurquoise End If + e.Item.AppearanceItem.Focused.BackColor = Color.Turquoise e.Item.Item(UsernameColumn).Appearance.Normal.ForeColor = oColor End Sub Private Sub txtMessage_KeyUp(sender As Object, e As KeyEventArgs) Handles txtMessage.KeyUp - If e.Control And e.KeyCode = Keys.Enter Then + If e.Control And e.KeyCode = Keys.Enter And txtMessage.Text.Count > 0 Then + SendMessage(txtMessage.Text) + End If + End Sub + + Private Sub lookupConversations_SelectedValuesChanged(sender As Object, SelectedValues As List(Of String)) Handles lookupConversations.SelectedValuesChanged + If SelectedValues.Count > 0 Then + CurrentConversation = SelectedValues.First() + LoadConversation(CurrentConversation) + End If + End Sub + Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles btnSendMessage.Click + If txtMessage.Text.Count > 0 Then + SendMessage(txtMessage.Text) End If End Sub End Class diff --git a/Controls.ChatControl/ChatControl.vbproj b/Controls.ChatControl/ChatControl.vbproj index ea28a54f..c4399c50 100644 --- a/Controls.ChatControl/ChatControl.vbproj +++ b/Controls.ChatControl/ChatControl.vbproj @@ -53,12 +53,24 @@ + + ..\Controls.LookupGrid\obj\Debug\DigitalData.Controls.LookupGrid.dll + + + + ..\packages\NLog.4.7.2\lib\net45\NLog.dll + + + + + + @@ -126,6 +138,7 @@ My Settings.Designer.vb + diff --git a/Controls.ChatControl/My Project/licenses.licx b/Controls.ChatControl/My Project/licenses.licx index a360c698..d2ccec98 100644 --- a/Controls.ChatControl/My Project/licenses.licx +++ b/Controls.ChatControl/My Project/licenses.licx @@ -1,2 +1,3 @@ DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a +DevExpress.XtraEditors.LookUpEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/Controls.ChatControl/packages.config b/Controls.ChatControl/packages.config new file mode 100644 index 00000000..1baeaab3 --- /dev/null +++ b/Controls.ChatControl/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/DDMonorepo.sln b/DDMonorepo.sln index e13d5409..efc29723 100644 --- a/DDMonorepo.sln +++ b/DDMonorepo.sln @@ -312,6 +312,14 @@ Global {9713484C-6EE3-4D7E-B6E6-F32CF6B6BB6C}.Debug|Any CPU.Build.0 = Debug|Any CPU {9713484C-6EE3-4D7E-B6E6-F32CF6B6BB6C}.Release|Any CPU.ActiveCfg = Release|Any CPU {9713484C-6EE3-4D7E-B6E6-F32CF6B6BB6C}.Release|Any CPU.Build.0 = Release|Any CPU + {1F278760-4F6B-42E8-B82D-01D4C8618340}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1F278760-4F6B-42E8-B82D-01D4C8618340}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1F278760-4F6B-42E8-B82D-01D4C8618340}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1F278760-4F6B-42E8-B82D-01D4C8618340}.Release|Any CPU.Build.0 = Release|Any CPU + {4A726345-FD6B-4E1C-9E5D-18C9043D7714}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4A726345-FD6B-4E1C-9E5D-18C9043D7714}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4A726345-FD6B-4E1C-9E5D-18C9043D7714}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4A726345-FD6B-4E1C-9E5D-18C9043D7714}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -363,6 +371,8 @@ Global {5FDEC007-7AE0-4829-B1AE-6165E29375DA} = {CC368D6A-6AC4-4EB9-A092-14700FABEF7A} {C8F9C3DD-9328-49E3-8530-48E6A4C82CAF} = {3E2008C8-27B1-41DD-9B1A-0C4029F6AECC} {9713484C-6EE3-4D7E-B6E6-F32CF6B6BB6C} = {CC368D6A-6AC4-4EB9-A092-14700FABEF7A} + {1F278760-4F6B-42E8-B82D-01D4C8618340} = {F98C0329-C004-417F-B2AB-7466E88D8220} + {4A726345-FD6B-4E1C-9E5D-18C9043D7714} = {CC368D6A-6AC4-4EB9-A092-14700FABEF7A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {C1BE4090-A0FD-48AF-86CB-39099D14B286} From f04c5ec4b00e3d2d9f6b39c968d2ce54997b1cbf Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 29 May 2020 13:56:27 +0200 Subject: [PATCH 06/11] Windream: fix NormalizePath --- Modules.Windream/Windream.vb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Modules.Windream/Windream.vb b/Modules.Windream/Windream.vb index 35812bcf..0b06b5b7 100644 --- a/Modules.Windream/Windream.vb +++ b/Modules.Windream/Windream.vb @@ -766,6 +766,12 @@ Public Class Windream Public Function GetNormalizedPath(Path As String) As String Dim oNormalizedPath = GetCleanedPath(Path) Try + ' Convert any forward slashes / and double slashes \\ into backslashes \ + ' See: https://stackoverflow.com/questions/3144492/how-do-i-get-nets-path-combine-to-convert-forward-slashes-to-backslashes + If IsPathRooted(oNormalizedPath) Then + oNormalizedPath = GetFullPath(oNormalizedPath) + End If + ' Remove Driveletter, eg. W:\ If oNormalizedPath.StartsWith($"{ClientDriveLetter}:\") Then _logger.Debug($"Replacing ClientDriveLetter: [{ClientDriveLetter}]") @@ -775,13 +781,9 @@ Public Class Windream ' Remove Windream Base Path, eg. \\windream\objects\ If oNormalizedPath.ToLower.StartsWith(ClientBasePath.ToLower) Then _logger.Debug($"Replacing ClientBasePath: [{ClientBasePath}]") - oNormalizedPath = oNormalizedPath.Substring(ClientBasePath.Length - 1) + oNormalizedPath = oNormalizedPath.Substring(ClientBasePath.Length) End If - ' Convert any forward slashes / and double slashes \\ into backslashes \ - ' See: https://stackoverflow.com/questions/3144492/how-do-i-get-nets-path-combine-to-convert-forward-slashes-to-backslashes - oNormalizedPath = GetFullPath(oNormalizedPath) - ' Handle misconfigured drive-letter If oNormalizedPath.Contains(":") Then _logger.Warn($"oNormalizedPath still contains a drive name!!") From e61f85c4cca58b49d4ff2638d21cb7314e64ef00 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 29 May 2020 13:56:37 +0200 Subject: [PATCH 07/11] Windream: Version 1.0.0.7 --- Modules.Windream/My Project/AssemblyInfo.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules.Windream/My Project/AssemblyInfo.vb b/Modules.Windream/My Project/AssemblyInfo.vb index 34c245c8..8ae936dc 100644 --- a/Modules.Windream/My Project/AssemblyInfo.vb +++ b/Modules.Windream/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + From 21802dcfa24835828a59eae5ee571402c88c8d35 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Tue, 2 Jun 2020 16:11:42 +0200 Subject: [PATCH 08/11] Database/MSSQL: Support connection string per query, for now only for datatable --- Modules.Database/MSSQLServer.vb | 42 +++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/Modules.Database/MSSQLServer.vb b/Modules.Database/MSSQLServer.vb index 381de4ba..32c33efb 100644 --- a/Modules.Database/MSSQLServer.vb +++ b/Modules.Database/MSSQLServer.vb @@ -51,8 +51,12 @@ Public Class MSSQLServer End Function Private Function TestCanConnect() As Boolean + Return TestCanConnect(CurrentSQLConnectionString) + End Function + + Private Function TestCanConnect(ConnectionString As String) As Boolean Try - Dim oConnection As New SqlConnection(CurrentSQLConnectionString) + Dim oConnection As New SqlConnection(ConnectionString) oConnection.Open() oConnection.Close() Return True @@ -63,13 +67,17 @@ Public Class MSSQLServer End Function Private Function GetSQLConnection() As SqlConnection + Return GetSQLConnection(CurrentSQLConnectionString) + End Function + + Private Function GetSQLConnection(ConnectionString As String) As SqlConnection Try - Dim oBuilder As New SqlConnectionStringBuilder() With {.ConnectionString = CurrentSQLConnectionString} - Dim oConnection As New SqlConnection(CurrentSQLConnectionString) + Dim oBuilder As New SqlConnectionStringBuilder() With {.ConnectionString = ConnectionString} + Dim oConnection As New SqlConnection(ConnectionString) oConnection.Open() Try - Dim oConnectionString = CurrentSQLConnectionString.Replace(oBuilder.Password, "XXXXX") + Dim oConnectionString = ConnectionString.Replace(oBuilder.Password, "XXXXX") _Logger.Debug($"Following Connectionstring is open: {oConnectionString}") Catch ex As Exception End Try @@ -117,6 +125,32 @@ Public Class MSSQLServer Return GetDatatable(SqlCommand, _Timeout) End Function + Public Function GetDatatableWithConnection(SqlCommand As String, ConnectionString As String) As DataTable + Try + If TestCanConnect(ConnectionString) = False Then + Return Nothing + End If + + _Logger.Debug("Running Query: {0}", SqlCommand) + + Using oConnection = GetSQLConnection(ConnectionString) + Using oSQLCOmmand = oConnection.CreateCommand() + oSQLCOmmand.CommandText = SqlCommand + oSQLCOmmand.CommandTimeout = _Timeout + + Dim dt As DataTable = New DataTable() + Dim oAdapter As SqlDataAdapter = New SqlDataAdapter(oSQLCOmmand) + oAdapter.Fill(dt) + Return dt + End Using + End Using + Catch ex As Exception + _Logger.Error(ex) + _Logger.Warn("sqlcommand: " & SqlCommand) + Return Nothing + End Try + End Function + ''' ''' Executes the passed sql-statement ''' From 3a616858820c7cbbe15a63e15b1c8a1175ef7796 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Tue, 2 Jun 2020 16:11:55 +0200 Subject: [PATCH 09/11] Database: Version 1.0.0.6 --- Modules.Database/My Project/AssemblyInfo.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Modules.Database/My Project/AssemblyInfo.vb b/Modules.Database/My Project/AssemblyInfo.vb index 01b3eda0..ef24c784 100644 --- a/Modules.Database/My Project/AssemblyInfo.vb +++ b/Modules.Database/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - + From 66ad52ba26c31f4e06f899dcd869467931fc6899 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Tue, 2 Jun 2020 16:12:10 +0200 Subject: [PATCH 10/11] Chat: WIP --- ChatTest/Form1.Designer.vb | 4 +-- Controls.ChatControl/ChatControl.Designer.vb | 30 +++++++++++++++++--- Controls.ChatControl/ChatControl.resx | 2 +- Controls.ChatControl/ChatControl.vb | 14 +++++---- 4 files changed, 37 insertions(+), 13 deletions(-) diff --git a/ChatTest/Form1.Designer.vb b/ChatTest/Form1.Designer.vb index 9e6fbb2c..20415f86 100644 --- a/ChatTest/Form1.Designer.vb +++ b/ChatTest/Form1.Designer.vb @@ -30,14 +30,14 @@ Partial Class Form1 Me.ChatControl1.Dock = System.Windows.Forms.DockStyle.Fill Me.ChatControl1.Location = New System.Drawing.Point(0, 0) Me.ChatControl1.Name = "ChatControl1" - Me.ChatControl1.Size = New System.Drawing.Size(305, 324) + Me.ChatControl1.Size = New System.Drawing.Size(397, 384) Me.ChatControl1.TabIndex = 0 ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.ClientSize = New System.Drawing.Size(305, 324) + Me.ClientSize = New System.Drawing.Size(397, 384) Me.Controls.Add(Me.ChatControl1) Me.Name = "Form1" Me.Text = "Form1" diff --git a/Controls.ChatControl/ChatControl.Designer.vb b/Controls.ChatControl/ChatControl.Designer.vb index f76e724b..076018dd 100644 --- a/Controls.ChatControl/ChatControl.Designer.vb +++ b/Controls.ChatControl/ChatControl.Designer.vb @@ -52,6 +52,8 @@ Partial Class ChatControl Me.columnUsername = New DevExpress.XtraGrid.Columns.TileViewColumn() Me.columnMessage = New DevExpress.XtraGrid.Columns.TileViewColumn() Me.columnDate = New DevExpress.XtraGrid.Columns.TileViewColumn() + Me.RepositoryItemHypertextLabel1 = New DevExpress.XtraEditors.Repository.RepositoryItemHypertextLabel() + Me.RepositoryItemHyperLinkEdit1 = New DevExpress.XtraEditors.Repository.RepositoryItemHyperLinkEdit() Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl() Me.GridChat = New DevExpress.XtraGrid.GridControl() Me.ChatView = New DevExpress.XtraGrid.Views.Tile.TileView() @@ -60,6 +62,8 @@ Partial Class ChatControl Me.txtMessage = New DevExpress.XtraEditors.MemoEdit() Me.btnSendMessage = New DevExpress.XtraEditors.SimpleButton() Me.ChatSource = New System.Windows.Forms.BindingSource(Me.components) + CType(Me.RepositoryItemHypertextLabel1, System.ComponentModel.ISupportInitialize).BeginInit() + CType(Me.RepositoryItemHyperLinkEdit1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SplitContainerControl1.SuspendLayout() CType(Me.GridChat, System.ComponentModel.ISupportInitialize).BeginInit() @@ -91,6 +95,15 @@ Partial Class ChatControl Me.columnDate.Visible = True Me.columnDate.VisibleIndex = 2 ' + 'RepositoryItemHypertextLabel1 + ' + Me.RepositoryItemHypertextLabel1.Name = "RepositoryItemHypertextLabel1" + ' + 'RepositoryItemHyperLinkEdit1 + ' + Me.RepositoryItemHyperLinkEdit1.AutoHeight = False + Me.RepositoryItemHyperLinkEdit1.Name = "RepositoryItemHyperLinkEdit1" + ' 'SplitContainerControl1 ' Me.SplitContainerControl1.Dock = System.Windows.Forms.DockStyle.Fill @@ -116,6 +129,7 @@ Partial Class ChatControl Me.GridChat.Location = New System.Drawing.Point(0, 20) Me.GridChat.MainView = Me.ChatView Me.GridChat.Name = "GridChat" + Me.GridChat.RepositoryItems.AddRange(New DevExpress.XtraEditors.Repository.RepositoryItem() {Me.RepositoryItemHyperLinkEdit1, Me.RepositoryItemHypertextLabel1}) Me.GridChat.Size = New System.Drawing.Size(317, 234) Me.GridChat.TabIndex = 0 Me.GridChat.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.ChatView}) @@ -123,15 +137,19 @@ Partial Class ChatControl 'ChatView ' Me.ChatView.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.columnMessage, Me.columnUsername, Me.columnDate}) + Me.ChatView.ContextButtonOptions.HoverStateOpacity = 0.75! + Me.ChatView.ContextButtonOptions.TopPanelColor = System.Drawing.Color.White Me.ChatView.GridControl = Me.GridChat Me.ChatView.Name = "ChatView" - Me.ChatView.OptionsTiles.GroupTextPadding = New System.Windows.Forms.Padding(0) + Me.ChatView.OptionsTiles.ColumnCount = 1 + Me.ChatView.OptionsTiles.GroupTextPadding = New System.Windows.Forms.Padding(0, 8, 12, 8) Me.ChatView.OptionsTiles.IndentBetweenGroups = 0 - Me.ChatView.OptionsTiles.IndentBetweenItems = 0 + Me.ChatView.OptionsTiles.IndentBetweenItems = 10 Me.ChatView.OptionsTiles.ItemPadding = New System.Windows.Forms.Padding(0) Me.ChatView.OptionsTiles.ItemSize = New System.Drawing.Size(374, 64) - Me.ChatView.OptionsTiles.LayoutMode = DevExpress.XtraGrid.Views.Tile.TileViewLayoutMode.List + Me.ChatView.OptionsTiles.LayoutMode = DevExpress.XtraGrid.Views.Tile.TileViewLayoutMode.Kanban Me.ChatView.OptionsTiles.Orientation = System.Windows.Forms.Orientation.Vertical + Me.ChatView.OptionsTiles.Padding = New System.Windows.Forms.Padding(5) Me.ChatView.OptionsTiles.RowCount = 0 Me.ChatView.OptionsTiles.ScrollMode = DevExpress.XtraEditors.TileControlScrollMode.ScrollBar TableColumnDefinition7.Length.Value = 250.0R @@ -243,7 +261,7 @@ Partial Class ChatControl ' Me.btnSendMessage.Dock = System.Windows.Forms.DockStyle.Right Me.btnSendMessage.ImageOptions.Location = DevExpress.XtraEditors.ImageLocation.MiddleCenter - Me.btnSendMessage.ImageOptions.SvgImage = CType(resources.GetObject("SimpleButton1.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) + Me.btnSendMessage.ImageOptions.SvgImage = CType(resources.GetObject("btnSendMessage.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage) Me.btnSendMessage.Location = New System.Drawing.Point(275, 0) Me.btnSendMessage.Name = "btnSendMessage" Me.btnSendMessage.PaintStyle = DevExpress.XtraEditors.Controls.PaintStyles.Light @@ -257,6 +275,8 @@ Partial Class ChatControl Me.Controls.Add(Me.SplitContainerControl1) Me.Name = "ChatControl" Me.Size = New System.Drawing.Size(317, 314) + CType(Me.RepositoryItemHypertextLabel1, System.ComponentModel.ISupportInitialize).EndInit() + CType(Me.RepositoryItemHyperLinkEdit1, System.ComponentModel.ISupportInitialize).EndInit() CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit() Me.SplitContainerControl1.ResumeLayout(False) CType(Me.GridChat, System.ComponentModel.ISupportInitialize).EndInit() @@ -280,4 +300,6 @@ Partial Class ChatControl Friend WithEvents lookupConversations As LookupGrid.LookupControl2 Friend WithEvents LookupControl21View As DevExpress.XtraGrid.Views.Grid.GridView Friend WithEvents btnSendMessage As DevExpress.XtraEditors.SimpleButton + Friend WithEvents RepositoryItemHyperLinkEdit1 As DevExpress.XtraEditors.Repository.RepositoryItemHyperLinkEdit + Friend WithEvents RepositoryItemHypertextLabel1 As DevExpress.XtraEditors.Repository.RepositoryItemHypertextLabel End Class diff --git a/Controls.ChatControl/ChatControl.resx b/Controls.ChatControl/ChatControl.resx index 78a566c9..9a8cb1e0 100644 --- a/Controls.ChatControl/ChatControl.resx +++ b/Controls.ChatControl/ChatControl.resx @@ -127,7 +127,7 @@ - + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjE5LjIsIFZlcnNpb249MTkuMi4z LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl diff --git a/Controls.ChatControl/ChatControl.vb b/Controls.ChatControl/ChatControl.vb index 5772cbbb..86c29b3d 100644 --- a/Controls.ChatControl/ChatControl.vb +++ b/Controls.ChatControl/ChatControl.vb @@ -92,7 +92,9 @@ Public Class ChatControl Private Sub ChatView_ItemCustomize(sender As Object, e As TileViewItemCustomizeEventArgs) Handles ChatView.ItemCustomize Dim oRow As DataRow = ChatView.GetDataRow(e.RowHandle) + Dim oUsername As String = oRow.Item(UsernameColumn) + Dim oMessage As String = oRow.Item(MessageColumn) Dim oColor As Color = UsernameColorsDict.Item(oUsername) If oUsername = CurrentUser Then @@ -102,12 +104,6 @@ Public Class ChatControl e.Item.Item(UsernameColumn).Appearance.Normal.ForeColor = oColor End Sub - Private Sub txtMessage_KeyUp(sender As Object, e As KeyEventArgs) Handles txtMessage.KeyUp - If e.Control And e.KeyCode = Keys.Enter And txtMessage.Text.Count > 0 Then - SendMessage(txtMessage.Text) - End If - End Sub - Private Sub lookupConversations_SelectedValuesChanged(sender As Object, SelectedValues As List(Of String)) Handles lookupConversations.SelectedValuesChanged If SelectedValues.Count > 0 Then CurrentConversation = SelectedValues.First() @@ -115,6 +111,12 @@ Public Class ChatControl End If End Sub + Private Sub txtMessage_KeyUp(sender As Object, e As KeyEventArgs) Handles txtMessage.KeyUp + If e.Control And e.KeyCode = Keys.Enter And txtMessage.Text.Count > 0 Then + SendMessage(txtMessage.Text) + End If + End Sub + Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles btnSendMessage.Click If txtMessage.Text.Count > 0 Then SendMessage(txtMessage.Text) From 095b79be96b7d142bed5a983071204ee98559d2b Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Tue, 2 Jun 2020 16:12:41 +0200 Subject: [PATCH 11/11] ClipboardWatcher: Actually use configured connection strings --- GUIs.ClipboardWatcher/ClipboardWatcher.vbproj | 8 ++--- .../My Project/Resources.Designer.vb | 4 +-- .../My Project/Settings.Designer.vb | 6 ++-- .../My Project/licenses.licx | 1 + GUIs.ClipboardWatcher/ProfileSearches.vb | 34 ++++++++++++++++--- GUIs.ClipboardWatcher/frmMatch.vb | 1 + 6 files changed, 40 insertions(+), 14 deletions(-) diff --git a/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj b/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj index 6b2b248c..1889a576 100644 --- a/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj +++ b/GUIs.ClipboardWatcher/ClipboardWatcher.vbproj @@ -6,8 +6,8 @@ AnyCPU {B7D465A2-AE31-4CDF-A8B2-34B42D3EA84E} Library - DigitalData.Modules.ClipboardWatcher - DigitalData.Modules.ClipboardWatcher + DigitalData.GUIs.ClipboardWatcher + DigitalData.GUIs.ClipboardWatcher 512 Windows v4.6.1 @@ -18,7 +18,7 @@ true true bin\Debug\ - DigitalData.Modules.ClipboardWatcher.xml + DigitalData.GUIs.ClipboardWatcher.xml 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 @@ -27,7 +27,7 @@ true true bin\Release\ - DigitalData.Modules.ClipboardWatcher.xml + DigitalData.GUIs.ClipboardWatcher.xml 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 diff --git a/GUIs.ClipboardWatcher/My Project/Resources.Designer.vb b/GUIs.ClipboardWatcher/My Project/Resources.Designer.vb index 1fdfc6b9..36236405 100644 --- a/GUIs.ClipboardWatcher/My Project/Resources.Designer.vb +++ b/GUIs.ClipboardWatcher/My Project/Resources.Designer.vb @@ -22,7 +22,7 @@ Namespace My.Resources ''' ''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. ''' - _ @@ -39,7 +39,7 @@ Namespace My.Resources Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager Get If Object.ReferenceEquals(resourceMan, Nothing) Then - Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DigitalData.Modules.ClipboardWatcher.Resources", GetType(Resources).Assembly) + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DigitalData.GUIs.ClipboardWatcher.Resources", GetType(Resources).Assembly) resourceMan = temp End If Return resourceMan diff --git a/GUIs.ClipboardWatcher/My Project/Settings.Designer.vb b/GUIs.ClipboardWatcher/My Project/Settings.Designer.vb index 392c3d68..58785339 100644 --- a/GUIs.ClipboardWatcher/My Project/Settings.Designer.vb +++ b/GUIs.ClipboardWatcher/My Project/Settings.Designer.vb @@ -15,7 +15,7 @@ Option Explicit On Namespace My _ Partial Friend NotInheritable Class MySettings Inherits Global.System.Configuration.ApplicationSettingsBase @@ -64,9 +64,9 @@ Namespace My Friend Module MySettingsProperty _ - Friend ReadOnly Property Settings() As Global.DigitalData.Modules.ClipboardWatcher.My.MySettings + Friend ReadOnly Property Settings() As Global.DigitalData.GUIs.ClipboardWatcher.My.MySettings Get - Return Global.DigitalData.Modules.ClipboardWatcher.My.MySettings.Default + Return Global.DigitalData.GUIs.ClipboardWatcher.My.MySettings.Default End Get End Property End Module diff --git a/GUIs.ClipboardWatcher/My Project/licenses.licx b/GUIs.ClipboardWatcher/My Project/licenses.licx index e69de29b..df67c51b 100644 --- a/GUIs.ClipboardWatcher/My Project/licenses.licx +++ b/GUIs.ClipboardWatcher/My Project/licenses.licx @@ -0,0 +1 @@ +DevExpress.XtraEditors.TileControl, DevExpress.XtraEditors.v19.2, Version=19.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a diff --git a/GUIs.ClipboardWatcher/ProfileSearches.vb b/GUIs.ClipboardWatcher/ProfileSearches.vb index 1533e402..d26f1c69 100644 --- a/GUIs.ClipboardWatcher/ProfileSearches.vb +++ b/GUIs.ClipboardWatcher/ProfileSearches.vb @@ -1,5 +1,7 @@ -Imports DigitalData.Modules.Logging +Imports DigitalData.Modules.Database +Imports DigitalData.Modules.Logging Imports DigitalData.Modules.ZooFlow +Imports DigitalData.Modules.Patterns Public Class ProfileSearches Private _LogConfig As LogConfig @@ -34,7 +36,7 @@ Public Class ProfileSearches Dim oSearchesDataTable = _Environment.Database.GetDatatable(oSQL) Dim oDocSearches As New List(Of Search) Dim oCounter As Integer = 0 - Dim oPatterns As New Patterns.ClassPatterns(_LogConfig) + Dim oPatterns As New ClassPatterns(_LogConfig) For Each oRow As DataRow In oSearchesDataTable.Rows Dim oProfileId As Integer = oRow.Item("PROFILE_ID") @@ -47,7 +49,8 @@ Public Class ProfileSearches oSQL = oPatterns.ReplaceInternalValues(oSQL) oSQL = oPatterns.ReplaceClipboardContents(oSQL, _Params.ClipboardContents) - Dim oDatatable As DataTable = _Environment.Database.GetDatatable(oSQL, oConnectionId) + Dim oConnectionString = GetConnectionString(oConnectionId) + Dim oDatatable As DataTable = _Environment.Database.GetDatatableWithConnection(oSQL, oConnectionString) If oDatatable Is Nothing Then _Logger.Warn("Error in SQL-Query '{0}'", oSQL) @@ -69,6 +72,26 @@ Public Class ProfileSearches Return oDocSearches End Function + Private Function GetConnectionString(ConnectionId As Integer) As String + Dim oDatatable As DataTable = _Environment.Database.GetDatatable($"SELECT * FROM TBDD_CONNECTION WHERE GUID = {ConnectionId}") + + If oDatatable.Rows.Count > 0 Then + Dim oRow As DataRow = oDatatable.Rows.Item(0) + + Select Case oRow.Item("SQL_PROVIDER") + Case "MS-SQL" + Dim oConnectionString = MSSQLServer.GetConnectionString(oRow.Item("SERVER"), oRow.Item("DATENBANK"), oRow.Item("USERNAME"), oRow.Item("PASSWORD")) + Return oConnectionString + + Case Else + Return Nothing + + End Select + Else + Return Nothing + End If + End Function + Public Async Function LoadDataSearchesAsync(ProfileId As Integer) As Task(Of List(Of Search)) Return Await Task.Run(Function() Return DoLoadDataSearches(ProfileId) @@ -83,7 +106,7 @@ Public Class ProfileSearches Dim oSearchesDataTable = _Environment.Database.GetDatatable(oSQL) Dim oCounter As Integer = 0 - Dim oPatterns As New Patterns.ClassPatterns(_LogConfig) + Dim oPatterns As New ClassPatterns(_LogConfig) For Each oRow As DataRow In oSearchesDataTable.Rows Try @@ -95,7 +118,8 @@ Public Class ProfileSearches oSQL = oPatterns.ReplaceUserValues(oSQL, _Environment.User) oSQL = oPatterns.ReplaceInternalValues(oSQL) - Dim oDatatable As DataTable = _Environment.Database.GetDatatable(oSQL, oConnectionId) + Dim oConnectionString = GetConnectionString(oConnectionId) + Dim oDatatable As DataTable = _Environment.Database.GetDatatableWithConnection(oSQL, oConnectionString) If oDatatable Is Nothing Then _Logger.Warn("Error in SQL-Query '{0}'", oSQL) diff --git a/GUIs.ClipboardWatcher/frmMatch.vb b/GUIs.ClipboardWatcher/frmMatch.vb index 0f0b1767..f9b47583 100644 --- a/GUIs.ClipboardWatcher/frmMatch.vb +++ b/GUIs.ClipboardWatcher/frmMatch.vb @@ -7,6 +7,7 @@ Imports DigitalData.Modules.Windows Imports DigitalData.Modules.Language Imports DigitalData.Modules.ZooFlow Imports DigitalData.Modules.ZooFlow.Params +Imports DigitalData.Modules ''' '''