Speed up transmitter view
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
Imports System.Diagnostics
|
||||
Imports System.Collections.Generic
|
||||
Imports System.Diagnostics
|
||||
Imports System.Reflection
|
||||
|
||||
Public Class TransmitterHarvestView
|
||||
@@ -24,59 +25,63 @@ Public Class TransmitterHarvestView
|
||||
End Sub
|
||||
|
||||
Private Sub FillTreeView()
|
||||
For Each transmitter In TransmitterHarvester.GetAllTransmitters()
|
||||
If TransmittersTreeView.Nodes.ContainsKey(transmitter) = True Then
|
||||
For Each log In TransmitterHarvester.GetAllTransmitterLogs(transmitter)
|
||||
Dim logs As List(Of TransmitterLogs) = TransmitterHarvester.GetAllTransmitter(StartDateTimePicker.Value, EndDateTimePicker.Value)
|
||||
|
||||
If TransmittersTreeView.Nodes(transmitter).Nodes.ContainsKey(log.LogDate.Ticks.ToString) = False Then
|
||||
For Each transmitter In logs
|
||||
If TransmittersTreeView.Nodes.ContainsKey(transmitter.Transmitter) = True Then
|
||||
For Each log In transmitter.Logs
|
||||
|
||||
If TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes.ContainsKey(log.LogDate.Ticks.ToString) = False Then
|
||||
'add
|
||||
If log.LogDate > StartDateTimePicker.Value AndAlso log.LogDate < EndDateTimePicker.Value Then
|
||||
If log.ButtonPressed.ToUpper = "A" AndAlso ButtonACheckBox.Checked Then
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes.Add(log.LogDate.Ticks.ToString, log.ButtonPressed & " - " & log.LogDate)
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes(log.LogDate.Ticks.ToString).Tag = log
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes.Add(log.LogDate.Ticks.ToString, log.ButtonPressed & " - " & log.LogDate)
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes(log.LogDate.Ticks.ToString).Tag = log
|
||||
End If
|
||||
If log.ButtonPressed.ToUpper = "B" AndAlso ButtonBCheckBox.Checked Then
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes.Add(log.LogDate.Ticks.ToString, log.ButtonPressed & " - " & log.LogDate)
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes(log.LogDate.Ticks.ToString).Tag = log
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes.Add(log.LogDate.Ticks.ToString, log.ButtonPressed & " - " & log.LogDate)
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes(log.LogDate.Ticks.ToString).Tag = log
|
||||
End If
|
||||
If log.ButtonPressed.ToUpper = "C" AndAlso ButtonCCheckBox.Checked Then
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes.Add(log.LogDate.Ticks.ToString, log.ButtonPressed & " - " & log.LogDate)
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes(log.LogDate.Ticks.ToString).Tag = log
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes.Add(log.LogDate.Ticks.ToString, log.ButtonPressed & " - " & log.LogDate)
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes(log.LogDate.Ticks.ToString).Tag = log
|
||||
End If
|
||||
If log.ButtonPressed.ToUpper = "D" AndAlso ButtonDCheckBox.Checked Then
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes.Add(log.LogDate.Ticks.ToString, log.ButtonPressed & " - " & log.LogDate)
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes(log.LogDate.Ticks.ToString).Tag = log
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes.Add(log.LogDate.Ticks.ToString, log.ButtonPressed & " - " & log.LogDate)
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes(log.LogDate.Ticks.ToString).Tag = log
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
'remove
|
||||
If log.LogDate < StartDateTimePicker.Value OrElse log.LogDate > EndDateTimePicker.Value Then
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes.RemoveByKey(log.LogDate.Ticks.ToString)
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes.RemoveByKey(log.LogDate.Ticks.ToString)
|
||||
End If
|
||||
|
||||
If log.ButtonPressed.ToUpper = "A" AndAlso ButtonACheckBox.Checked = False Then
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes.RemoveByKey(log.LogDate.Ticks.ToString)
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes.RemoveByKey(log.LogDate.Ticks.ToString)
|
||||
End If
|
||||
If log.ButtonPressed.ToUpper = "B" AndAlso ButtonBCheckBox.Checked = False Then
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes.RemoveByKey(log.LogDate.Ticks.ToString)
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes.RemoveByKey(log.LogDate.Ticks.ToString)
|
||||
End If
|
||||
If log.ButtonPressed.ToUpper = "C" AndAlso ButtonCCheckBox.Checked = False Then
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes.RemoveByKey(log.LogDate.Ticks.ToString)
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes.RemoveByKey(log.LogDate.Ticks.ToString)
|
||||
End If
|
||||
If log.ButtonPressed.ToUpper = "D" AndAlso ButtonDCheckBox.Checked = False Then
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes.RemoveByKey(log.LogDate.Ticks.ToString)
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes.RemoveByKey(log.LogDate.Ticks.ToString)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
Else
|
||||
TransmittersTreeView.Nodes.Add(transmitter, transmitter)
|
||||
For Each log In TransmitterHarvester.GetAllTransmitterLogs(transmitter)
|
||||
TransmittersTreeView.Nodes.Add(transmitter.Transmitter, transmitter.Transmitter)
|
||||
|
||||
For Each log In transmitter.Logs
|
||||
If log.LogDate > StartDateTimePicker.Value AndAlso log.LogDate < EndDateTimePicker.Value Then
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes.Add(log.LogDate.Ticks.ToString, log.ButtonPressed & " - " & log.LogDate)
|
||||
TransmittersTreeView.Nodes(transmitter).Nodes(log.LogDate.Ticks.ToString).Tag = log
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes.Add(log.LogDate.Ticks.ToString, log.ButtonPressed & " - " & log.LogDate)
|
||||
TransmittersTreeView.Nodes(transmitter.Transmitter).Nodes(log.LogDate.Ticks.ToString).Tag = log
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
If TransmittersTreeView.TreeViewNodeSorter Is Nothing Then
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
Imports System.Collections.Generic
|
||||
Imports System.ComponentModel
|
||||
Imports System.Diagnostics
|
||||
Imports System.IO
|
||||
Imports System.Linq
|
||||
Imports LiteDB
|
||||
@@ -34,15 +35,34 @@ Module TransmitterHarvester
|
||||
RaiseEvent TransmitterUpdate()
|
||||
End Sub
|
||||
|
||||
Public Function GetAllTransmitters() As List(Of String)
|
||||
Using db As New LiteDatabase("Filename=" & harvestDBLocation & ";connection=shared")
|
||||
Return db.GetCollection(Of TransmitterLog)("Transmitters").Query().OrderBy(Function(x) x.Transmitter).Select(Function(S) S.Transmitter).ToList()
|
||||
End Using
|
||||
End Function
|
||||
'Public Function GetAllTransmitters() As List(Of String)
|
||||
' Using db As New LiteDatabase("Filename=" & harvestDBLocation & ";connection=shared")
|
||||
' Return db.GetCollection(Of TransmitterLog)("Transmitters").Query().OrderBy(Function(x) x.Transmitter).Select(Function(S) S.Transmitter).ToList()
|
||||
' End Using
|
||||
'End Function
|
||||
|
||||
Public Function GetAllTransmitterLogs(transmitter As String) As List(Of TransmitterLog)
|
||||
'Public Function GetAllTransmitterLogs(transmitter As String) As List(Of TransmitterLog)
|
||||
' Using db As New LiteDatabase("Filename=" & harvestDBLocation & ";connection=shared")
|
||||
' Return db.GetCollection(Of TransmitterLog)("Transmitters").Query().Where(Function(x) x.Transmitter Is transmitter).OrderBy(Function(d) d.LogDate).ToList()
|
||||
' End Using
|
||||
'End Function
|
||||
|
||||
Public Function GetAllTransmitter(startDate As Date, endDate As Date) As List(Of TransmitterLogs)
|
||||
Using db As New LiteDatabase("Filename=" & harvestDBLocation & ";connection=shared")
|
||||
Return db.GetCollection(Of TransmitterLog)("Transmitters").Query().Where(Function(x) x.Transmitter Is transmitter).OrderBy(Function(d) d.LogDate).ToList()
|
||||
|
||||
Dim logs As New List(Of TransmitterLogs)
|
||||
Dim datas = db.GetCollection(Of TransmitterLog)("Transmitters").Query().GroupBy("Transmitter").Select("{Transmitter: @key}").ToList()
|
||||
|
||||
For Each dataentry In datas
|
||||
Dim log = db.GetCollection(Of TransmitterLog)("Transmitters").Query().Where(BsonExpression.Create("Transmitter= @0", dataentry("Transmitter").AsString)).FirstOrDefault()
|
||||
'Console.WriteLine(log.Transmitter)
|
||||
Dim logEntry As New TransmitterLogs With {
|
||||
.Transmitter = log.Transmitter,
|
||||
.Logs = db.GetCollection(Of TransmitterLog)("Transmitters").Query().Where(Function(x) x.Transmitter Is log.Transmitter AndAlso x.LogDate > startDate AndAlso x.LogDate < endDate).OrderBy(Function(d) d.LogDate).ToList()
|
||||
}
|
||||
logs.Add(logEntry)
|
||||
Next
|
||||
Return logs
|
||||
End Using
|
||||
End Function
|
||||
|
||||
@@ -55,3 +75,9 @@ Public Class TransmitterLog
|
||||
Public Property ButtonPressed As String
|
||||
Public Property LogDate As DateTime
|
||||
End Class
|
||||
|
||||
|
||||
Public Class TransmitterLogs
|
||||
Public Property Transmitter As String
|
||||
Public Property Logs As List(Of TransmitterLog)
|
||||
End Class
|
||||
Reference in New Issue
Block a user