110 lines
3.8 KiB
VB.net
110 lines
3.8 KiB
VB.net
Imports System.IO
|
|
Imports DigitalData.Modules.Database
|
|
Imports DigitalData.Modules.Logging
|
|
|
|
Public Class Form1
|
|
Private MsgIds As New List(Of String)
|
|
Public oMSSQL As MSSQLServer
|
|
Public oFirebird As Firebird
|
|
Public oLogConfig As LogConfig
|
|
Public oLogger As Logger
|
|
|
|
Public ExistingIds As Integer
|
|
Public MissingIds As Integer
|
|
Public FailedIds As Integer
|
|
|
|
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
oLogConfig = New LogConfig(LogConfig.PathType.CustomPath, Application.StartupPath)
|
|
oLogger = oLogConfig.GetLogger
|
|
|
|
ToolStripComboBox1.SelectedIndex = 0
|
|
|
|
Try
|
|
oMSSQL = New MSSQLServer(oLogConfig, My.Settings.MSSQL_CONNECTION_STRING)
|
|
oFirebird = New Firebird(oLogConfig, My.Settings.FB_DATASOURCE, My.Settings.FB_DATABASE, My.Settings.FB_USERNAME, My.Settings.FB_PASSWORD)
|
|
|
|
Dim oFilename As String = "zugferdhistory.txt"
|
|
Dim oPath As String = Path.Combine(Application.StartupPath, oFilename)
|
|
|
|
If File.Exists(oPath) = False Then
|
|
Throw New Exception($"{oFilename} does not exist!!")
|
|
End If
|
|
|
|
MsgIds = File.ReadAllLines(oFilename).ToList
|
|
|
|
AddLog($"{MsgIds.Count} MessageIDs added!")
|
|
|
|
Catch ex As Exception
|
|
oLogger.Error(ex)
|
|
MsgBox("Error: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, Text)
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub AddLog(Message As String)
|
|
oLogger.Info(Message)
|
|
ListBox1.Items.Add(Message)
|
|
ListBox1.SelectedIndex = ListBox1.Items.Count - 1
|
|
|
|
End Sub
|
|
|
|
Private Sub BringTheActionToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BringTheActionToolStripMenuItem.Click
|
|
If ToolStripComboBox1.Text = "DELETE" Then
|
|
Dim oResult = MsgBox("Action is set to DELETE! Do you want to continue?", MsgBoxStyle.YesNo, "Attention")
|
|
|
|
If oResult = MsgBoxResult.Yes Then
|
|
DoIt()
|
|
Else
|
|
MsgBox("Coward!")
|
|
End If
|
|
|
|
Else
|
|
DoIt()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub DoIt()
|
|
For Each oMessageId As String In MsgIds
|
|
Try
|
|
Dim oSQL As String = $"SELECT msgid FROM VWCUST_BELEGE_TODAY WHERE msgid = '{oMessageId}'"
|
|
Dim oResult As DataTable = oMSSQL.GetDatatable(oSQL)
|
|
|
|
If oResult Is Nothing Then
|
|
Throw New Exception($"Nothing found in VWCUST_BELEGE_TODAY for message id [{oMessageId}]")
|
|
End If
|
|
|
|
AddLog($"rows for messageid [{oMessageId}]: [{oResult.Rows.Count}]")
|
|
|
|
If oResult.Rows.Count = 0 Then
|
|
AddLog("No rows found, deleting from FB history.")
|
|
' Delete from fb history
|
|
|
|
oSQL = $"DELETE FROM TBEDM_ZUGFERD_HISTORY_IN WHERE MESSAGE_ID = '{oMessageId}'"
|
|
If ToolStripComboBox1.Text = "DELETE" Then
|
|
|
|
If oFirebird.ExecuteNonQuery(oSQL) = True Then
|
|
AddLog("Delete successful!")
|
|
|
|
End If
|
|
Else
|
|
AddLog("Simulating Delete !")
|
|
AddLog(oSQL)
|
|
End If
|
|
|
|
MissingIds += 1
|
|
Else
|
|
AddLog("Rows found, all good!")
|
|
ExistingIds += 1
|
|
End If
|
|
Catch ex As Exception
|
|
oLogger.Warn("Error while checking existence of MessageId [{0}]: {1}", oMessageId, ex.Message)
|
|
oLogger.Error(ex)
|
|
FailedIds += 1
|
|
End Try
|
|
Next
|
|
|
|
AddLog("MissingIds: " & MissingIds)
|
|
AddLog("ExistingIds: " & ExistingIds)
|
|
AddLog("FailedIds: " & FailedIds)
|
|
End Sub
|
|
End Class
|