WIP: Profile Matching

This commit is contained in:
Jonathan Jenne
2019-07-18 16:04:03 +02:00
parent 1652a4fb96
commit f7ff19afeb
8 changed files with 376 additions and 164 deletions

View File

@@ -1,23 +1,24 @@
Imports System.ComponentModel
Imports System.IO
Imports System.Runtime.InteropServices
Imports DevExpress.Utils
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Grid
Imports DD_LIB_Standards
Imports DevExpress.XtraGrid.Views.Base
Imports System.IO
Imports DevExpress.XtraTab
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraGrid.Views.Base
Imports DD_LIB_Standards
Public Class frmResultSQL
#Region "Laufzeitvariablen & Konstanten"
Private Shared BW_DocPath As String
Private Shared BW_DocID As Integer
Private Shared CurrSearchID As Integer
Private DTDataSearchDefinition As DataTable
Private _activeGridView As GridView
#End Region
Private Class SQLSearch
Public DataTable As DataTable
Public TabIndex As Integer
Public TabCaption As String
Public ProfileId As Integer
End Class
Private Sub frmResultDoc_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not ConfigManager.Config.ResultDataWindowSize.IsEmpty Then
@@ -31,6 +32,21 @@ Public Class frmResultSQL
Load_Searches()
End Sub
Private Sub frmResultSQL_Shown(sender As Object, e As EventArgs) Handles Me.Shown
BringToFront()
End Sub
Private Sub frmResultDoc_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Try
ConfigManager.Config.ResultDataWindowSize = Size
ConfigManager.Config.ResultDataWindowLocation = Location
ConfigManager.Save()
Catch ex As Exception
Logger.Error(ex)
Logger.Info("Error in Save FormLayout: " & ex.Message)
End Try
End Sub
Sub RefreshTabData(PROFILE_ID As Integer, ConID As Integer, SQLCommand As String, TabIndex As Integer, TabCaption As String)
Try
SQLCommand = clsPatterns.ReplaceAllValues(SQLCommand, USER_PRENAME, USER_SURNAME, USER_SHORTNAME, USER_EMAIL, USER_ID, PROFILE_ID)
@@ -88,24 +104,41 @@ Public Class frmResultSQL
End Sub
Private Function Get_Grid_Layout_Filename(oIndex As Integer)
Dim oFilename As String = String.Format("GridViewData_Search-{0}-{1}-UserLayout.xml", oIndex, CurrSearchID)
Dim oPath = System.IO.Path.Combine(Application.UserAppDataPath(), oFilename)
Dim oPath = Path.Combine(Application.UserAppDataPath(), oFilename)
Return oPath
End Function
Private Sub GridControlDocSearch_Leave(sender As Object, e As EventArgs) Handles GridControlDocSearch1.Leave, GridControlDocSearch2.Leave, GridControlDocSearch3.Leave, GridControlDocSearch4.Leave, GridControlDocSearch5.Leave
SaveDocGridLayout()
End Sub
Private Sub GridViewDocSearch1_FocusedRowChanged(sender As GridView, e As FocusedRowChangedEventArgs) Handles GridViewDataSearch1.FocusedRowChanged, GridViewDataSearch2.FocusedRowChanged, GridViewDataSearch3.FocusedRowChanged, GridViewDataSearch4.FocusedRowChanged, GridViewDataSearch5.FocusedRowChanged
_activeGridView = sender
End Sub
Private Sub GridViewDocSearch1_ColumnWidthChanged(sender As GridView, e As Views.Base.ColumnEventArgs) Handles GridViewDataSearch1.ColumnWidthChanged, GridViewDataSearch2.ColumnWidthChanged, GridViewDataSearch3.ColumnWidthChanged, GridViewDataSearch4.ColumnWidthChanged, GridViewDataSearch5.ColumnWidthChanged
_activeGridView = sender
SaveDocGridLayout()
End Sub
Sub SaveDocGridLayout()
Dim oXMLPath = Get_Grid_Layout_Filename(XtraTabControlData.SelectedTabPageIndex)
_activeGridView.SaveLayoutToXml(oXMLPath)
End Sub
Private Sub GridViewDocSearch1_ColumnWidthChanged(sender As Object, e As Views.Base.ColumnEventArgs) Handles GridViewDataSearch1.ColumnWidthChanged
_activeGridView = GridViewDataSearch1
SaveDocGridLayout()
End Sub
Private Async Function LoadSearchesAsync() As Task(Of List(Of SQLSearch))
Return Await Task.Run(AddressOf DoLoadSearches)
End Function
Private Function DoLoadSearches() As List(Of SQLSearch)
If IsNothing(CurrDocSearch2Load) Then
Throw New ApplicationException("CurrDataSearch2Load is empty")
End If
Dim oSQL = $"SELECT * FROM TBCW_PROF_DATA_SEARCH WHERE ACTIVE = 1 AND PROFILE_ID in ({CurrDataSearch2Load}) ORDER BY TAB_INDEX"
Dim oSearchesDataTable = clsDatabase.Return_Datatable(oSQL)
End Function
Sub Load_Searches()
If Not IsNothing(CurrDataSearch2Load) Then
@@ -121,33 +154,23 @@ Public Class frmResultSQL
Next
Else
MsgBox("Sorry but the selection of profile went wrong. (CurrSearch2Load is nothing)", MsgBoxStyle.Critical)
Me.Close()
Close()
End If
End Sub
Private Sub frmResultDoc_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
Try
ConfigManager.Config.ResultDataWindowSize = Size
ConfigManager.Config.ResultDataWindowLocation = Location
ConfigManager.Save()
Catch ex As Exception
Logger.Error(ex)
Logger.Info("Error in Save FormLayout: " & ex.Message)
End Try
Private Sub MenuItemReload_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click
Reload_Active_DocumentTab()
End Sub
Private Sub ToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem1.Click
ReLoad_Active_DocTab()
Private Sub MenuItemResetLayout_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem2.Click
Reset_Layout()
End Sub
Private Sub ToolStripMenuItem2_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem2.Click
Set_DoclayoutBack()
End Sub
Sub Set_DoclayoutBack()
Sub Reset_Layout()
Dim oXMLPath = Get_Grid_Layout_Filename(XtraTabControlData.SelectedTabPageIndex)
Try
If File.Exists(oXMLPath) Then
File.Delete(oXMLPath)
ReLoad_Active_DocTab()
Reload_Active_DocumentTab()
tslblState.Text = "Layout has been set back!"
Else
tslblState.Text = ""
@@ -156,7 +179,7 @@ Public Class frmResultSQL
tslblState.Text = ""
End Try
End Sub
Sub ReLoad_Active_DocTab()
Sub Reload_Active_DocumentTab()
Dim oTabIndex = XtraTabControlData.SelectedTabPageIndex
Dim oConID = DTDataSearchDefinition.Rows(oTabIndex).Item("CONN_ID")
Dim oCommand = DTDataSearchDefinition.Rows(oTabIndex).Item("SQL_COMMAND")
@@ -175,24 +198,4 @@ Public Class frmResultSQL
Dim oTabCaption = DTDataSearchDefinition.Rows(XtraTabControlData.SelectedTabPageIndex).Item("TAB_TITLE")
RefreshTabData(oProfileID, oConID, oCommand, oTabIndex, oTabCaption)
End Sub
Private Sub GridViewDocSearch1_FocusedRowChanged(sender As Object, e As FocusedRowChangedEventArgs) Handles GridViewDataSearch1.FocusedRowChanged
_activeGridView = GridViewDataSearch1
End Sub
Private Sub GridViewDocSearch2_FocusedRowChanged(sender As Object, e As FocusedRowChangedEventArgs) Handles GridViewDataSearch2.FocusedRowChanged
_activeGridView = GridViewDataSearch2
End Sub
Private Sub GridViewDocSearch3_FocusedRowChanged(sender As Object, e As FocusedRowChangedEventArgs) Handles GridViewDataSearch3.FocusedRowChanged
_activeGridView = GridViewDataSearch3
End Sub
Private Sub GridViewDocSearch4_FocusedRowChanged(sender As Object, e As FocusedRowChangedEventArgs) Handles GridViewDataSearch4.FocusedRowChanged
_activeGridView = GridViewDataSearch4
End Sub
Private Sub GridViewDocSearch5_FocusedRowChanged(sender As Object, e As FocusedRowChangedEventArgs) Handles GridViewDataSearch5.FocusedRowChanged
_activeGridView = GridViewDataSearch5
End Sub
Private Sub frmResultSQL_Shown(sender As Object, e As EventArgs) Handles Me.Shown
Me.BringToFront()
End Sub
End Class