diff --git a/app/ZSG_Import/MyService.vb.orig b/app/ZSG_Import/MyService.vb.orig new file mode 100644 index 0000000..f21cb99 --- /dev/null +++ b/app/ZSG_Import/MyService.vb.orig @@ -0,0 +1,144 @@ +<<<<<<< HEAD +' TEST - D +======= +' TEST - J +>>>>>>> 045edda55a5f52f4e684acc09e40dfb5be44cce2 +Imports System.ComponentModel +Imports System.IO + +Public Class MyService + 'Variablen + Public Shared threadRunner As BackgroundWorker + Protected Overrides Sub OnStart(ByVal args() As String) + ' Code zum Starten des Dienstes hier einfügen. Diese Methode sollte Vorgänge + ' ausführen, damit der Dienst gestartet werden kann. + ' Code zum Starten des Dienstes hier einfügen. Diese Methode sollte Vorgänge + ' ausführen, damit der Dienst gestartet werden kann. + Try + clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "") + clsLogger.Add("## ZSGImport Service started - " & Now & " ## ", False) + + If My.Settings.MyConnectionString = String.Empty Then + clsLogger.Add("NO CONNECTIONSTRING CONFIGURED.", True) + Else + If clsDatabase.Init = False Then + clsLogger.Add("ATTENTION: No Connection was established '" & My.Settings.MyConnectionString & "'!", True) + Else + LOG_ERRORS_ONLY = My.Settings.LOG_ERRORS_ONLY + + '### Thread für das nachträgliche Setzen von Rechten generieren + MyService.threadRunner = New BackgroundWorker() + MyService.threadRunner.WorkerReportsProgress = True + MyService.threadRunner.WorkerSupportsCancellation = True + AddHandler threadRunner.DoWork, AddressOf RUN_THREAD + AddHandler threadRunner.RunWorkerCompleted, AddressOf Thread1_Completed + + ' Und den Durchlauf das erste Mal starten + threadRunner.RunWorkerAsync() + End If + End If + clsLogger.WriteLog() + Catch ex As Exception + clsLogger.AddError(ex.Message, "OnStart") + clsLogger.WriteLog() + End Try + End Sub + Public Shared Sub RUN_THREAD(ByVal sender As Object, ByVal e As System.ComponentModel.DoWorkEventArgs) + Try + 'erst einmal die Technischen Plätze bestimmen die noch nciht importiert wurden + Dim DT_TP As DataTable = clsDatabase.Return_Datatable("SELECT DISTINCT [UNIQUE_STR] FROM [EXPORT_COMOS] where dokumentart is not null and imported = 0 and [UNIQUE_STR] LIKE '472%' order by [UNIQUE_STR]") + Try + If Not IsNothing(DT_TP) Then + If DT_TP.Rows.Count > 0 Then + clsLogger.Add(String.Format(">> {0} TPs need to be worked - {1}", DT_TP.Rows.Count.ToString, Now), False) + 'Jeden Technischen Platz einzeln durchlaufen weil für diesen ein Record existiert + For Each TP As DataRow In DT_TP.Rows + Dim _TP As String = TP.Item(0) + clsLogger.AddDetailLog(String.Format(">> Working on technical place: '{0}'", _TP)) + Dim selrecid = String.Format("SELECT [Record-ID] FROM VWTEMP_PMO_FORM3 where UPPER(TPLNR) = UPPER('{0}')", _TP) + Dim _RECORD_ID = clsDatabase.Execute_Scalar(selrecid) + If Not IsNothing(_RECORD_ID) Then + 'Jede Datei einzeln durchlaufen + Dim sel = String.Format("SELECT * FROM [EXPORT_COMOS] WHERE IMPORTED = 0 AND [UNIQUE_STR] = '{0}'", TP.Item("UNIQUE_STR")) + Dim DT_TP_DOCS As DataTable = clsDatabase.Return_Datatable(sel) + If Not IsNothing(DT_TP_DOCS) Then + If DT_TP_DOCS.Rows.Count > 0 Then + For Each _docRow As DataRow In DT_TP_DOCS.Rows + Dim GUID = _docRow.Item("GUID") + Dim filename = _docRow.Item("Link") + If File.Exists(filename) Then + + Else + clsLogger.Add(String.Format(">> File not found: {0}", filename), False) + Update_COMMENT_GUID(GUID, "FILE NOT FOUND") + End If + + Next + End If + End If + Else + clsLogger.Add(String.Format(">> No Record found for TP: {0}", _TP), False) + Update_COMMENT(_TP, "NO RECORD-ID FOUND") + End If + + Next + + + 'DD_Rights.clsLogger.Init(My.Application.Info.DirectoryPath & "\Log", "") + 'If DD_Rights.ClassRights.Init_Service(LOG_ERRORS_ONLY, DT_RIGHTS_2b_WORKED.Rows.Count) Then + ' If DD_Rights.ClassRights.WORK_RIGHT2B_CHANGED(DT_RIGHTS_2b_WORKED) = True Then + ' clsLogger.Add(">> All rights were worked - " & Now, False) + ' End If + 'End If + End If + End If + + Catch ex As Exception + clsLogger.AddError("Uncexpected Error in working rights: " & ex.Message, "DT_RIGHTS_2b_WORKED") + End Try + + clsLogger.WriteLog() + Catch ex As Exception + clsLogger.AddError("Uncexpected Error: " & ex.Message, "RUN_THREAD") + End Try + End Sub + Private Shared Sub Update_COMMENT(UNIQUE_STR As String, comment As String) + Try + Dim upd = String.Format("UPDATE EXPORT_COMOS_472 SET COMMENT = '{0}' where UPPER(UNIQUE_STR) = UPPER('{1}') AND IMPORTED = 0") + clsDatabase.Execute_non_Query(upd) + Catch ex As Exception + clsLogger.AddError("Uncexpected Error in Update_COMMENT: " & ex.Message) + End Try + End Sub + Private Shared Sub Update_COMMENT_GUID(GUID As Integer, comment As String) + Try + Dim upd = String.Format("UPDATE EXPORT_COMOS_472 SET COMMENT = '{0}' where GUID = {1}") + clsDatabase.Execute_non_Query(upd) + Catch ex As Exception + clsLogger.AddError("Uncexpected Error in Update_COMMENT_GUID: " & ex.Message) + End Try + End Sub + Protected Overrides Sub OnStop() + ' Hier Code zum Ausführen erforderlicher Löschvorgänge zum Beenden des Dienstes einfügen. + + clsLogger.Add("## ZSGImport Service was stopped manually - " & Now & " ## ", False) + clsLogger.WriteLog() + End Sub + Private Shared Sub Thread1_Completed(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) 'Handles threadDateiimport.RunWorkerCompleted + ' This event fires when the DoWork event completes + Try + Dim result As String = "" + If e.Cancelled Then + clsLogger.Add("## The thread was cancelled", False) + clsLogger.WriteLog() + ElseIf e.Error IsNot Nothing Then + clsLogger.Add("Fehler bei Durchlauf. Der Vorgang wird abgebrochen.", True, "Thread_Completed") + clsLogger.Add(e.Error.Message, True, "Thread_Completed") + clsLogger.WriteLog() + End If + Catch ex As Exception + clsLogger.AddError(ex.Message, "Thread_Completed") + End Try + End Sub + +End Class