Added session viewer for issue #99

This commit is contained in:
MikeMaximus
2017-12-07 15:50:37 -06:00
parent c8453c9cbd
commit 11101f7f22
9 changed files with 383 additions and 11 deletions
+21 -5
View File
@@ -68,6 +68,7 @@ Partial Class frmMain
Me.gMonToolsLog = New System.Windows.Forms.ToolStripMenuItem() Me.gMonToolsLog = New System.Windows.Forms.ToolStripMenuItem()
Me.gMonLogClear = New System.Windows.Forms.ToolStripMenuItem() Me.gMonLogClear = New System.Windows.Forms.ToolStripMenuItem()
Me.gMonLogSave = New System.Windows.Forms.ToolStripMenuItem() Me.gMonLogSave = New System.Windows.Forms.ToolStripMenuItem()
Me.gMonToolsSessions = New System.Windows.Forms.ToolStripMenuItem()
Me.gMonHelp = New System.Windows.Forms.ToolStripMenuItem() Me.gMonHelp = New System.Windows.Forms.ToolStripMenuItem()
Me.gMonHelpWebSite = New System.Windows.Forms.ToolStripMenuItem() Me.gMonHelpWebSite = New System.Windows.Forms.ToolStripMenuItem()
Me.gMonHelpManual = New System.Windows.Forms.ToolStripMenuItem() Me.gMonHelpManual = New System.Windows.Forms.ToolStripMenuItem()
@@ -84,6 +85,7 @@ Partial Class frmMain
Me.lblStatus2 = New System.Windows.Forms.Label() Me.lblStatus2 = New System.Windows.Forms.Label()
Me.lblStatus3 = New System.Windows.Forms.Label() Me.lblStatus3 = New System.Windows.Forms.Label()
Me.pbTime = New System.Windows.Forms.PictureBox() Me.pbTime = New System.Windows.Forms.PictureBox()
Me.gMonTrayToolsSessions = New System.Windows.Forms.ToolStripMenuItem()
Me.gMonTrayMenu.SuspendLayout() Me.gMonTrayMenu.SuspendLayout()
Me.gMonStatusStrip.SuspendLayout() Me.gMonStatusStrip.SuspendLayout()
Me.gMonMainMenu.SuspendLayout() Me.gMonMainMenu.SuspendLayout()
@@ -103,7 +105,7 @@ Partial Class frmMain
' '
Me.gMonTrayMenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonTrayNotification, Me.gMonTrayShow, Me.gMonTraySep2, Me.gMonTrayMon, Me.gMonTraySettings, Me.gMonTraySetup, Me.gMonTrayTools, Me.gMonTraySep1, Me.gMonTrayExit}) Me.gMonTrayMenu.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonTrayNotification, Me.gMonTrayShow, Me.gMonTraySep2, Me.gMonTrayMon, Me.gMonTraySettings, Me.gMonTraySetup, Me.gMonTrayTools, Me.gMonTraySep1, Me.gMonTrayExit})
Me.gMonTrayMenu.Name = "gMonTrayMenu" Me.gMonTrayMenu.Name = "gMonTrayMenu"
Me.gMonTrayMenu.Size = New System.Drawing.Size(162, 170) Me.gMonTrayMenu.Size = New System.Drawing.Size(162, 192)
' '
'gMonTrayNotification 'gMonTrayNotification
' '
@@ -168,7 +170,7 @@ Partial Class frmMain
' '
'gMonTrayTools 'gMonTrayTools
' '
Me.gMonTrayTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonTrayToolsCleanMan, Me.gMonTrayToolsCompact, Me.gMonTrayToolsLog}) Me.gMonTrayTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonTrayToolsCleanMan, Me.gMonTrayToolsCompact, Me.gMonTrayToolsLog, Me.gMonTrayToolsSessions})
Me.gMonTrayTools.Name = "gMonTrayTools" Me.gMonTrayTools.Name = "gMonTrayTools"
Me.gMonTrayTools.Size = New System.Drawing.Size(161, 22) Me.gMonTrayTools.Size = New System.Drawing.Size(161, 22)
Me.gMonTrayTools.Text = "&Tools" Me.gMonTrayTools.Text = "&Tools"
@@ -195,13 +197,13 @@ Partial Class frmMain
'gMonTrayLogClear 'gMonTrayLogClear
' '
Me.gMonTrayLogClear.Name = "gMonTrayLogClear" Me.gMonTrayLogClear.Name = "gMonTrayLogClear"
Me.gMonTrayLogClear.Size = New System.Drawing.Size(101, 22) Me.gMonTrayLogClear.Size = New System.Drawing.Size(152, 22)
Me.gMonTrayLogClear.Text = "&Clear" Me.gMonTrayLogClear.Text = "&Clear"
' '
'gMonTrayLogSave 'gMonTrayLogSave
' '
Me.gMonTrayLogSave.Name = "gMonTrayLogSave" Me.gMonTrayLogSave.Name = "gMonTrayLogSave"
Me.gMonTrayLogSave.Size = New System.Drawing.Size(101, 22) Me.gMonTrayLogSave.Size = New System.Drawing.Size(152, 22)
Me.gMonTrayLogSave.Text = "&Save" Me.gMonTrayLogSave.Text = "&Save"
' '
'gMonTraySep1 'gMonTraySep1
@@ -348,7 +350,7 @@ Partial Class frmMain
' '
'gMonTools 'gMonTools
' '
Me.gMonTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonToolsCleanMan, Me.gMonToolsCompact, Me.gMonToolsLog}) Me.gMonTools.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonToolsCleanMan, Me.gMonToolsCompact, Me.gMonToolsLog, Me.gMonToolsSessions})
Me.gMonTools.Name = "gMonTools" Me.gMonTools.Name = "gMonTools"
Me.gMonTools.Size = New System.Drawing.Size(47, 20) Me.gMonTools.Size = New System.Drawing.Size(47, 20)
Me.gMonTools.Text = "&Tools" Me.gMonTools.Text = "&Tools"
@@ -384,6 +386,12 @@ Partial Class frmMain
Me.gMonLogSave.Size = New System.Drawing.Size(101, 22) Me.gMonLogSave.Size = New System.Drawing.Size(101, 22)
Me.gMonLogSave.Text = "&Save" Me.gMonLogSave.Text = "&Save"
' '
'gMonToolsSessions
'
Me.gMonToolsSessions.Name = "gMonToolsSessions"
Me.gMonToolsSessions.Size = New System.Drawing.Size(184, 22)
Me.gMonToolsSessions.Text = "&Session Viewer..."
'
'gMonHelp 'gMonHelp
' '
Me.gMonHelp.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonHelpWebSite, Me.gMonHelpManual, Me.gMonHelpCheckforUpdates, Me.gMonHelpAbout}) Me.gMonHelp.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.gMonHelpWebSite, Me.gMonHelpManual, Me.gMonHelpCheckforUpdates, Me.gMonHelpAbout})
@@ -524,6 +532,12 @@ Partial Class frmMain
Me.pbTime.TabIndex = 18 Me.pbTime.TabIndex = 18
Me.pbTime.TabStop = False Me.pbTime.TabStop = False
' '
'gMonTrayToolsSessions
'
Me.gMonTrayToolsSessions.Name = "gMonTrayToolsSessions"
Me.gMonTrayToolsSessions.Size = New System.Drawing.Size(184, 22)
Me.gMonTrayToolsSessions.Text = "&Session Viewer..."
'
'frmMain 'frmMain
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -621,4 +635,6 @@ Partial Class frmMain
Friend WithEvents gMonTrayLogSave As ToolStripMenuItem Friend WithEvents gMonTrayLogSave As ToolStripMenuItem
Friend WithEvents gMonStripAdminButton As System.Windows.Forms.ToolStripStatusLabel Friend WithEvents gMonStripAdminButton As System.Windows.Forms.ToolStripStatusLabel
Friend WithEvents gMonStripStatusButton As System.Windows.Forms.ToolStripStatusLabel Friend WithEvents gMonStripStatusButton As System.Windows.Forms.ToolStripStatusLabel
Friend WithEvents gMonToolsSessions As ToolStripMenuItem
Friend WithEvents gMonTrayToolsSessions As ToolStripMenuItem
End Class End Class
+13
View File
@@ -878,6 +878,13 @@ Public Class frmMain
ResumeScan() ResumeScan()
End Sub End Sub
Private Sub OpenSessions()
Dim frm As New frmSessions
PauseScan()
frm.ShowDialog()
ResumeScan()
End Sub
Private Sub OpenGameWizard() Private Sub OpenGameWizard()
Dim frm As New frmAddWizard Dim frm As New frmAddWizard
PauseScan() PauseScan()
@@ -1287,6 +1294,7 @@ Public Class frmMain
gMonToolsCleanMan.Text = frmMain_gMonToolsCleanMan gMonToolsCleanMan.Text = frmMain_gMonToolsCleanMan
gMonToolsCompact.Text = frmMain_gMonToolsCompact gMonToolsCompact.Text = frmMain_gMonToolsCompact
gMonToolsLog.Text = frmMain_gMonToolsLog gMonToolsLog.Text = frmMain_gMonToolsLog
gMonToolsSessions.Text = frmMain_gMonToolsSessions
gMonLogClear.Text = frmMain_gMonLogClear gMonLogClear.Text = frmMain_gMonLogClear
gMonLogSave.Text = frmMain_gMonLogSave gMonLogSave.Text = frmMain_gMonLogSave
gMonHelp.Text = frmMain_gMonHelp gMonHelp.Text = frmMain_gMonHelp
@@ -1308,6 +1316,7 @@ Public Class frmMain
gMonTrayToolsCleanMan.Text = frmMain_gMonToolsCleanMan gMonTrayToolsCleanMan.Text = frmMain_gMonToolsCleanMan
gMonTrayToolsCompact.Text = frmMain_gMonToolsCompact gMonTrayToolsCompact.Text = frmMain_gMonToolsCompact
gMonTrayToolsLog.Text = frmMain_gMonToolsLog gMonTrayToolsLog.Text = frmMain_gMonToolsLog
gMonTrayToolsSessions.Text = frmMain_gMonToolsSessions
gMonTrayLogClear.Text = frmMain_gMonLogClear gMonTrayLogClear.Text = frmMain_gMonLogClear
gMonTrayLogSave.Text = frmMain_gMonLogSave gMonTrayLogSave.Text = frmMain_gMonLogSave
gMonTrayExit.Text = frmMain_gMonFileExit gMonTrayExit.Text = frmMain_gMonFileExit
@@ -1631,6 +1640,10 @@ Public Class frmMain
SaveLog() SaveLog()
End Sub End Sub
Private Sub gMonToolsSessions_Click(sender As Object, e As EventArgs) Handles gMonToolsSessions.Click, gMonTrayToolsSessions.Click
OpenSessions()
End Sub
Private Sub gMonNotification_Click(sender As Object, e As EventArgs) Handles gMonNotification.Click, gMonTrayNotification.Click Private Sub gMonNotification_Click(sender As Object, e As EventArgs) Handles gMonNotification.Click, gMonTrayNotification.Click
gMonNotification.Visible = False gMonNotification.Visible = False
gMonTrayNotification.Visible = False gMonTrayNotification.Visible = False
+85
View File
@@ -0,0 +1,85 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmSessions
Inherits System.Windows.Forms.Form
'Form overrides dispose to clean up the component list.
<System.Diagnostics.DebuggerNonUserCode()> _
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
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.lblQuickFilter = New System.Windows.Forms.Label()
Me.txtFilter = New System.Windows.Forms.TextBox()
Me.dgSessions = New System.Windows.Forms.DataGridView()
CType(Me.dgSessions, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'lblQuickFilter
'
Me.lblQuickFilter.AutoSize = True
Me.lblQuickFilter.Location = New System.Drawing.Point(12, 9)
Me.lblQuickFilter.Name = "lblQuickFilter"
Me.lblQuickFilter.Size = New System.Drawing.Size(63, 13)
Me.lblQuickFilter.TabIndex = 0
Me.lblQuickFilter.Text = "Game Filter:"
'
'txtFilter
'
Me.txtFilter.Location = New System.Drawing.Point(80, 6)
Me.txtFilter.Name = "txtFilter"
Me.txtFilter.Size = New System.Drawing.Size(160, 20)
Me.txtFilter.TabIndex = 1
'
'dgSessions
'
Me.dgSessions.AllowUserToAddRows = False
Me.dgSessions.AllowUserToDeleteRows = False
Me.dgSessions.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.dgSessions.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.dgSessions.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnF2
Me.dgSessions.Location = New System.Drawing.Point(12, 32)
Me.dgSessions.Name = "dgSessions"
Me.dgSessions.ReadOnly = True
Me.dgSessions.RowHeadersVisible = False
Me.dgSessions.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
Me.dgSessions.Size = New System.Drawing.Size(760, 517)
Me.dgSessions.TabIndex = 2
'
'frmSessions
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(784, 561)
Me.Controls.Add(Me.dgSessions)
Me.Controls.Add(Me.lblQuickFilter)
Me.Controls.Add(Me.txtFilter)
Me.Name = "frmSessions"
Me.ShowIcon = False
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "Session Viewer"
CType(Me.dgSessions, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents lblQuickFilter As Label
Friend WithEvents txtFilter As TextBox
Friend WithEvents dgSessions As DataGridView
End Class
+120
View File
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
+61
View File
@@ -0,0 +1,61 @@
Imports GBM.My.Resources
Public Class frmSessions
Private WithEvents tmFilterTimer As Timer
Private Sub FormatGrid()
dgSessions.Columns.Add("Name", frmSessions_ColumnGameName)
dgSessions.Columns.Add("Start", frmSessions_ColumnStart)
dgSessions.Columns.Add("End", frmSessions_ColumnEnd)
End Sub
Private Sub LoadData()
Dim oData As DataSet
Dim sFilter As String
If txtFilter.Text = String.Empty Then
oData = mgrSessions.GetSessions
Else
sFilter = txtFilter.Text.ToLower
oData = mgrSessions.GetSessionsByGameName(sFilter)
End If
dgSessions.Rows.Clear()
For Each dr As DataRow In oData.Tables(0).Rows
dgSessions.Rows.Add(New Object() {dr("Name"), mgrCommon.UnixToDate(dr("Start")), mgrCommon.UnixToDate(dr("End"))})
Next
dgSessions.AutoResizeColumns()
End Sub
Private Sub SetForm()
Me.Text = frmSessions_Name
'Init Filter Timer
tmFilterTimer = New Timer()
tmFilterTimer.Interval = 1000
tmFilterTimer.Enabled = False
End Sub
Private Sub txtFilter_TextChanged(sender As Object, e As EventArgs) Handles txtFilter.TextChanged
If Not tmFilterTimer.Enabled Then
tmFilterTimer.Enabled = True
tmFilterTimer.Start()
End If
End Sub
Private Sub tmFilterTimer_Tick(sender As Object, ByVal e As EventArgs) Handles tmFilterTimer.Tick
LoadData()
tmFilterTimer.Stop()
tmFilterTimer.Enabled = False
End Sub
Private Sub frmSession_Load(sender As Object, e As EventArgs) Handles MyBase.Load
SetForm()
FormatGrid()
LoadData()
End Sub
End Class
+9
View File
@@ -171,6 +171,12 @@
<Compile Include="Forms\frmIncludeExclude.vb"> <Compile Include="Forms\frmIncludeExclude.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="Forms\frmSessions.Designer.vb">
<DependentUpon>frmSessions.vb</DependentUpon>
</Compile>
<Compile Include="Forms\frmSessions.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\frmStartUpWizard.Designer.vb"> <Compile Include="Forms\frmStartUpWizard.Designer.vb">
<DependentUpon>frmStartUpWizard.vb</DependentUpon> <DependentUpon>frmStartUpWizard.vb</DependentUpon>
</Compile> </Compile>
@@ -271,6 +277,9 @@
<EmbeddedResource Include="Forms\frmIncludeExclude.resx"> <EmbeddedResource Include="Forms\frmIncludeExclude.resx">
<DependentUpon>frmIncludeExclude.vb</DependentUpon> <DependentUpon>frmIncludeExclude.vb</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Forms\frmSessions.resx">
<DependentUpon>frmSessions.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\frmStartUpWizard.resx"> <EmbeddedResource Include="Forms\frmStartUpWizard.resx">
<DependentUpon>frmStartUpWizard.vb</DependentUpon> <DependentUpon>frmStartUpWizard.vb</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>
+14 -6
View File
@@ -6,7 +6,6 @@
oSession.MonitorID = CStr(dr("MonitorID")) oSession.MonitorID = CStr(dr("MonitorID"))
oSession.SessionStart = mgrCommon.UnixToDate(CInt(dr("Start"))) oSession.SessionStart = mgrCommon.UnixToDate(CInt(dr("Start")))
oSession.SessionEnd = mgrCommon.UnixToDate(CInt(dr("End"))) oSession.SessionEnd = mgrCommon.UnixToDate(CInt(dr("End")))
oSession.ComputerName = CStr(dr("ComputerName"))
Return oSession Return oSession
End Function End Function
@@ -17,7 +16,6 @@
hshParams.Add("MonitorID", oSession.MonitorID) hshParams.Add("MonitorID", oSession.MonitorID)
hshParams.Add("Start", mgrCommon.DateToUnix(oSession.SessionStart)) hshParams.Add("Start", mgrCommon.DateToUnix(oSession.SessionStart))
hshParams.Add("End", mgrCommon.DateToUnix(oSession.SessionEnd)) hshParams.Add("End", mgrCommon.DateToUnix(oSession.SessionEnd))
hshParams.Add("ComputerName", oSession.ComputerName)
Return hshParams Return hshParams
End Function End Function
@@ -27,21 +25,31 @@
Dim sSQL As String Dim sSQL As String
Dim hshParams As Hashtable Dim hshParams As Hashtable
sSQL = "INSERT INTO sessions (MonitorID, Start, End, ComputerName) VALUES (@MonitorID, @Start, @End, @ComputerName);" sSQL = "INSERT INTO sessions (MonitorID, Start, End) VALUES (@MonitorID, @Start, @End);"
hshParams = SetCoreParameters(oSession) hshParams = SetCoreParameters(oSession)
oDatabase.RunParamQuery(sSQL, hshParams) oDatabase.RunParamQuery(sSQL, hshParams)
End Sub End Sub
Public Shared Function GetSessionsByGame(ByVal sMonitorID As String, Optional ByVal iSelectDB As mgrSQLite.Database = mgrSQLite.Database.Local) As DataSet Public Shared Function GetSessions(Optional ByVal iSelectDB As mgrSQLite.Database = mgrSQLite.Database.Local) As DataSet
Dim oDatabase As New mgrSQLite(iSelectDB) Dim oDatabase As New mgrSQLite(iSelectDB)
Dim sSQL As String Dim sSQL As String
Dim hshParams As New Hashtable Dim hshParams As New Hashtable
sSQL = "SELECT Start, End, ComputerName FROM sessions WHERE MonitorID = @MonitorID;" sSQL = "SELECT Name, Start, End FROM sessions NATURAL JOIN monitorlist;"
hshParams.Add("MonitorID", sMonitorID) Return oDatabase.ReadParamData(sSQL, hshParams)
End Function
Public Shared Function GetSessionsByGameName(ByVal sGameName As String, Optional ByVal iSelectDB As mgrSQLite.Database = mgrSQLite.Database.Local) As DataSet
Dim oDatabase As New mgrSQLite(iSelectDB)
Dim sSQL As String
Dim hshParams As New Hashtable
sSQL = "SELECT Name, Start, End FROM sessions NATURAL JOIN monitorlist WHERE monitorlist.Name LIKE @Name;"
hshParams.Add("Name", "%" & sGameName & "%")
Return oDatabase.ReadParamData(sSQL, hshParams) Return oDatabase.ReadParamData(sSQL, hshParams)
End Function End Function
+45
View File
@@ -3237,6 +3237,15 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Looks up a localized string similar to &amp;Session Viewer....
'''</summary>
Friend ReadOnly Property frmMain_gMonToolsSessions() As String
Get
Return ResourceManager.GetString("frmMain_gMonToolsSessions", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to Show / Hide. ''' Looks up a localized string similar to Show / Hide.
'''</summary> '''</summary>
@@ -3597,6 +3606,42 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Looks up a localized string similar to End.
'''</summary>
Friend ReadOnly Property frmSessions_ColumnEnd() As String
Get
Return ResourceManager.GetString("frmSessions_ColumnEnd", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Game.
'''</summary>
Friend ReadOnly Property frmSessions_ColumnGameName() As String
Get
Return ResourceManager.GetString("frmSessions_ColumnGameName", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Start.
'''</summary>
Friend ReadOnly Property frmSessions_ColumnStart() As String
Get
Return ResourceManager.GetString("frmSessions_ColumnStart", resourceCulture)
End Get
End Property
'''<summary>
''' Looks up a localized string similar to Session Viewer.
'''</summary>
Friend ReadOnly Property frmSessions_Name() As String
Get
Return ResourceManager.GetString("frmSessions_Name", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Looks up a localized string similar to Executable. ''' Looks up a localized string similar to Executable.
'''</summary> '''</summary>
+15
View File
@@ -1900,4 +1900,19 @@
<data name="frmFilter_lblNot" xml:space="preserve"> <data name="frmFilter_lblNot" xml:space="preserve">
<value>Not</value> <value>Not</value>
</data> </data>
<data name="frmMain_gMonToolsSessions" xml:space="preserve">
<value>&amp;Session Viewer...</value>
</data>
<data name="frmSessions_ColumnEnd" xml:space="preserve">
<value>End</value>
</data>
<data name="frmSessions_ColumnGameName" xml:space="preserve">
<value>Game</value>
</data>
<data name="frmSessions_ColumnStart" xml:space="preserve">
<value>Start</value>
</data>
<data name="frmSessions_Name" xml:space="preserve">
<value>Session Viewer</value>
</data>
</root> </root>