From d9ddc61f1085ea4229ba3594289a396b8083fcfb Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Wed, 1 Nov 2017 13:54:33 +0100 Subject: [PATCH] MS --- .gitattributes | 63 ++++ .gitignore | 156 +++++++++ .vs/VSWorkspaceState.json | 7 + .vs/slnx.sqlite | Bin 0 -> 733184 bytes app/DD_PM_Server.sln | 31 ++ app/DD_PM_Server/ClassDatabase.vb | 76 +++++ app/DD_PM_Server/ClassEmail.vb | 94 +++++ app/DD_PM_Server/ClassLogger.vb | 205 +++++++++++ app/DD_PM_Server/ClassPMWindream.vb | 188 ++++++++++ app/DD_PM_Server/ClassWindream_allgemein.vb | 321 ++++++++++++++++++ app/DD_PM_Server/DD_PM_Server.vbproj | 138 ++++++++ app/DD_PM_Server/Modul_Main.vb | 306 +++++++++++++++++ .../My Project/Application.Designer.vb | 13 + app/DD_PM_Server/My Project/Application.myapp | 10 + app/DD_PM_Server/My Project/AssemblyInfo.vb | 35 ++ .../My Project/Resources.Designer.vb | 62 ++++ app/DD_PM_Server/My Project/Resources.resx | 117 +++++++ .../My Project/Settings.Designer.vb | 203 +++++++++++ app/DD_PM_Server/My Project/Settings.settings | 53 +++ app/DD_PM_Server/app.config | 77 +++++ 20 files changed, 2155 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .vs/VSWorkspaceState.json create mode 100644 .vs/slnx.sqlite create mode 100644 app/DD_PM_Server.sln create mode 100644 app/DD_PM_Server/ClassDatabase.vb create mode 100644 app/DD_PM_Server/ClassEmail.vb create mode 100644 app/DD_PM_Server/ClassLogger.vb create mode 100644 app/DD_PM_Server/ClassPMWindream.vb create mode 100644 app/DD_PM_Server/ClassWindream_allgemein.vb create mode 100644 app/DD_PM_Server/DD_PM_Server.vbproj create mode 100644 app/DD_PM_Server/Modul_Main.vb create mode 100644 app/DD_PM_Server/My Project/Application.Designer.vb create mode 100644 app/DD_PM_Server/My Project/Application.myapp create mode 100644 app/DD_PM_Server/My Project/AssemblyInfo.vb create mode 100644 app/DD_PM_Server/My Project/Resources.Designer.vb create mode 100644 app/DD_PM_Server/My Project/Resources.resx create mode 100644 app/DD_PM_Server/My Project/Settings.Designer.vb create mode 100644 app/DD_PM_Server/My Project/Settings.settings create mode 100644 app/DD_PM_Server/app.config diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1bc915c --- /dev/null +++ b/.gitignore @@ -0,0 +1,156 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results + +[Dd]ebug/ +[Rr]elease/ +x64/ +build/ +[Bb]in/ +[Oo]bj/ + +# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets +!packages/*/build/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +*.ncrunch* +.*crunch*.local.xml + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml + +# NuGet Packages Directory +## TODO: If you have NuGet Package Restore enabled, uncomment the next line +#packages/ + +# Windows Azure Build Output +csx +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml +*.pfx +*.publishsettings + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + + +#LightSwitch generated files +GeneratedArtifacts/ +_Pvt_Extensions/ +ModelManifest.xml + +# ========================= +# Windows detritus +# ========================= + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac desktop service store files +.DS_Store diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..5ddea5d --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,7 @@ +{ + "ExpandedNodes": [ + "" + ], + "SelectedNode": "\\.gitignore", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..4ad3d83b7616ceb2e0379bf310ad3d73653eab18 GIT binary patch literal 733184 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⪼wZaAe?%|a`-ns$8 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 literal 0 HcmV?d00001 diff --git a/app/DD_PM_Server.sln b/app/DD_PM_Server.sln new file mode 100644 index 0000000..c82e8f4 --- /dev/null +++ b/app/DD_PM_Server.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26228.9 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DD_PM_Server", "DD_PM_Server\DD_PM_Server.vbproj", "{7ED90CF1-7B5B-403A-A138-7CCB9F8963E9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + CD_ROM|x86 = CD_ROM|x86 + Debug|x86 = Debug|x86 + DVD-5|x86 = DVD-5|x86 + Release|x86 = Release|x86 + SingleImage|x86 = SingleImage|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7ED90CF1-7B5B-403A-A138-7CCB9F8963E9}.CD_ROM|x86.ActiveCfg = Release|x86 + {7ED90CF1-7B5B-403A-A138-7CCB9F8963E9}.CD_ROM|x86.Build.0 = Release|x86 + {7ED90CF1-7B5B-403A-A138-7CCB9F8963E9}.Debug|x86.ActiveCfg = Debug|x86 + {7ED90CF1-7B5B-403A-A138-7CCB9F8963E9}.Debug|x86.Build.0 = Debug|x86 + {7ED90CF1-7B5B-403A-A138-7CCB9F8963E9}.DVD-5|x86.ActiveCfg = Debug|x86 + {7ED90CF1-7B5B-403A-A138-7CCB9F8963E9}.DVD-5|x86.Build.0 = Debug|x86 + {7ED90CF1-7B5B-403A-A138-7CCB9F8963E9}.Release|x86.ActiveCfg = Release|x86 + {7ED90CF1-7B5B-403A-A138-7CCB9F8963E9}.Release|x86.Build.0 = Release|x86 + {7ED90CF1-7B5B-403A-A138-7CCB9F8963E9}.SingleImage|x86.ActiveCfg = Release|x86 + {7ED90CF1-7B5B-403A-A138-7CCB9F8963E9}.SingleImage|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/app/DD_PM_Server/ClassDatabase.vb b/app/DD_PM_Server/ClassDatabase.vb new file mode 100644 index 0000000..2811fab --- /dev/null +++ b/app/DD_PM_Server/ClassDatabase.vb @@ -0,0 +1,76 @@ +Imports System.Data.SqlClient + +Public Class ClassDatabase + Public Shared Function Execute_MSSQL(Sql As String) + Try + Dim Connection As SqlConnection + Connection = New SqlConnection(My.Settings.SQLConnection) + Dim Command As SqlCommand + Command = New SqlCommand(Sql, Connection) + ' Verbindung zur Datenbank aufbauen + Try + Connection.Open() + Catch ex As Exception + ClassLogger.Add("Fehler in Execute_MSSQL DB aufbauen - Fehler: " & ex.Message, False) + Connection.Close() + Return False + End Try + + ' SQL ausführen + Command.ExecuteNonQuery() + Connection.Close() + Return True + Catch ex As Exception + ' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden + ClassLogger.Add("Unbekannter Fehler in Execute_MSSQL - Fehler: " & ex.Message, False) + ClassLogger.Add("## SQL " & Sql, False) + Return False + End Try + End Function + Public Shared Function Execute_Scalar(Sql As String) + Try + Dim Connection As SqlConnection + Connection = New SqlConnection(My.Settings.SQLConnection) + Dim Command As SqlCommand + Command = New SqlCommand(Sql, Connection) + Dim result + ' Verbindung zur Datenbank aufbauen + Try + Connection.Open() + Catch ex As Exception + ClassLogger.Add("Fehler in Execute_MSSQL DB aufbauen - Fehler: " & ex.Message, False) + Connection.Close() + Return False + End Try + + 'SQL ausführen + result = Command.ExecuteScalar() + Connection.Close() + Return result + Catch ex As Exception + ' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden + ClassLogger.Add("Unbekannter Fehler in Execute_MSSQL - Fehler: " & ex.Message, False) + ClassLogger.Add("## SQL " & Sql, False) + Return False + End Try + End Function + Public Shared Function Return_Datatable(Sql As String) + Try + Dim Connection As SqlConnection + Connection = New SqlConnection(My.Settings.SQLConnection) + Dim Command As SqlCommand + Command = New SqlCommand(Sql, Connection) + + + Dim adapter1 As SqlDataAdapter = New SqlDataAdapter(Command) + Dim dt As DataTable = New DataTable() + adapter1.Fill(dt) + Connection.Close() + Return dt + Catch ex As Exception + ClassLogger.Add("Unbekannter Fehler in Return_Datatable - Fehler: " & ex.Message, False) + ClassLogger.Add("## SQL " & Sql, False) + Return Nothing + End Try + End Function +End Class diff --git a/app/DD_PM_Server/ClassEmail.vb b/app/DD_PM_Server/ClassEmail.vb new file mode 100644 index 0000000..038101c --- /dev/null +++ b/app/DD_PM_Server/ClassEmail.vb @@ -0,0 +1,94 @@ +Imports System.Net.Mail +Public Class ClassEmail + Public Sub Send_Error_Mail(ByVal vBody As String) + '#### E-MAIL NACHRICHT VERSENDEN + Try + Dim empfaenger As String() + If My.Settings.Email_Empfaenger <> "" Then + If My.Settings.Email_Empfaenger.Contains(";") Then + empfaenger = My.Settings.Email_Empfaenger.Split(";") + Else + ReDim Preserve empfaenger(0) + empfaenger(0) = My.Settings.Email_Empfaenger + End If + 'Für jeden Empfänger eine Neue Mail erzeugen + For Each _mailempfaenger As String In empfaenger + ' Neue Nachricht erzeugen: + Dim message As New MailMessage(My.Settings.Email_From, _mailempfaenger, My.Settings.Email_Betreff & " Domain: " & Environment.UserDomainName, _ + "" & My.Settings.Email_Body & vBody & "
>> Maschine: " & Environment.MachineName & "
" & "
>> Domain-Name: " & Environment.UserDomainName & "
" & _ + "
>> Gesendet am: " & My.Computer.Clock.LocalTime.ToShortDateString & "-" & _ + My.Computer.Clock.LocalTime.ToLongTimeString & "
") + ' create and add the attachment(s) */ + 'Dim logfile As String = ClassLogger.DateiSpeicherort & "\" & ClassLogger.DateiPrefix & System.DateTime.Now.ToString("yyyy_MM_dd") & ".txt" + 'If logfile.Contains("\\") Then + ' logfile = logfile.Replace("\\", "\") + 'End If + 'Dim Attachment As Attachment = New Attachment(logfile) + 'message.Attachments.Add(Attachment) + + With message + .IsBodyHtml = True + End With + + 'Einen SMTP Client erzeugen und Anmeldungsinformationen hinterlegen + Dim emailClient As New SmtpClient(My.Settings.Email_SMTP) + 'Email mit Authentifizierung + Dim SMTPUserInfo As New System.Net.NetworkCredential(My.Settings.Email_User, My.Settings.Email_PW) ', My.Settings.vDomain) + emailClient.UseDefaultCredentials = False + emailClient.Credentials = SMTPUserInfo + emailClient.Port = 25 + + '*Send the message */ + emailClient.Send(message) + ClassLogger.Add("==> Fehler Email erfolgreich an " & _mailempfaenger & " versendet!", False) + ClassLogger.Add("==> Text: " & vBody, False) + Next + End If + + Catch ex As Exception + ClassLogger.Add("### Fehler im Mailversand: " & ex.Message) + End Try + End Sub + Public Shared Function Send_Reminder_Mail(ByVal vBody As String, ByVal emailfrom As String, ByVal emailsmtp As String, ByVal emailuser As String, ByVal emailpw As String, ByVal email_empf As String, ByVal ReminderHeader As String, ByVal ReminderFooter As String) + '#### E-MAIL NACHRICHT VERSENDEN + Try + Dim empfaenger As String() + If email_empf.Contains(";") Then + empfaenger = email_empf.Split(";") + Else + ReDim Preserve empfaenger(0) + empfaenger(0) = email_empf + End If + 'Für jeden Empfänger eine Neue Mail erzeugen + For Each _mailempfaenger As String In empfaenger + ' Neue Nachricht erzeugen: + Dim message As New MailMessage(My.Settings.Email_From, _mailempfaenger, My.Settings.Email_ReminderBetreff, _ + "" & ReminderHeader & vBody & ReminderFooter & "

>> Gesendet am: " & My.Computer.Clock.LocalTime.ToShortDateString & "-" & _ + My.Computer.Clock.LocalTime.ToLongTimeString & "") + + With message + .IsBodyHtml = True + End With + + 'Einen SMTP Client erzeugen und Anmeldungsinformationen hinterlegen + Dim emailClient As New SmtpClient(emailsmtp) + 'Email mit Authentifizierung + Dim SMTPUserInfo As New System.Net.NetworkCredential(emailuser, emailpw) ', My.Settings.vDomain) + emailClient.UseDefaultCredentials = False + emailClient.Credentials = SMTPUserInfo + emailClient.Port = 25 + + '*Send the message */ + emailClient.Send(message) + ClassLogger.Add("==> Reminder Email erfolgreich an " & _mailempfaenger & " versendet!", False) + Next + Return True + Catch ex As Exception + ClassLogger.Add("### Fehler im Reminder-Mailversand: " & ex.Message) + Return False + End Try + End Function +End Class + diff --git a/app/DD_PM_Server/ClassLogger.vb b/app/DD_PM_Server/ClassLogger.vb new file mode 100644 index 0000000..4d96ca0 --- /dev/null +++ b/app/DD_PM_Server/ClassLogger.vb @@ -0,0 +1,205 @@ +Imports System.IO +Public Class ClassLogger + Public Shared DateiSpeicherort As String = Nothing + Public Shared DateiPrefix As String = "" + Private Shared Datei As IO.File = Nothing + Private Shared Dateiname As String = "" + Private Shared StreamWriter As IO.StreamWriter = Nothing + Private Shared HasInformedAboutError As Boolean = False + ' eine Art Konstruktor + Public Shared Sub Init(ByVal speicherort As String, Optional ByVal prefix As String = "", Optional ByVal appendFile As Boolean = True) + ' initialisiert den Speicherort + ClassLogger.SetSpeicherort(speicherort) + ' wenn ein Prfix gesetzt wurde + If Not prefix = "" Then + ' initialisiert das Prefix + ClassLogger.SetPrefix(prefix) + End If + Dim str As String = ClassLogger.DateiSpeicherort & "\" & ClassLogger.DateiPrefix & System.DateTime.Now.ToString("yyyy_MM_dd") & ".txt" + If str.Contains("\\") Then + str = str.Replace("\\", "\") + End If + Dim anz As Integer = 1 + Do While File.Exists(str) + Dim info As New FileInfo(str) + Dim length As Long = info.Length + If length > 5000000 Then + str = IO.Path.GetDirectoryName(str) + str = str & "\" & ClassLogger.DateiPrefix & System.DateTime.Now.ToString("yyyy_MM_dd") & "(" & anz.ToString & ").txt" + anz = anz + 1 + Else + Exit Do + End If + Loop + If str.Contains("\\") Then + str = str.Replace("\\", "\") + End If + ClassLogger.Dateiname = str + If Not appendFile Then + ' der Versuch die Datei zu löschen + 'Try + ' My.Computer.FileSystem.DeleteFile(ClassNILogger.Dateiname, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.DeletePermanently) + 'Catch ex As Exception + ' ' bei Fehler besteht kein Schreibrecht auf die Datei oder Datei existiert nicht + ' ' ALSO: alles Okay soweit + 'End Try + My.Computer.FileSystem.WriteAllText(ClassLogger.Dateiname, String.Empty, False) + End If + ' testen ob sich die Datei öffnen und beschreiben lässt + 'ClassNILogger.CheckIsLogWritable() + End Sub + + ' legt den Speicherort fest + Public Shared Sub SetSpeicherort(ByVal speicherort As String) + Dim f As New IO.DirectoryInfo(My.Application.Info.DirectoryPath & "\Log") + If speicherort = "" Then + If f.Exists = False Then + IO.Directory.CreateDirectory(My.Application.Info.DirectoryPath & "\Log") + End If + ClassLogger.DateiSpeicherort = My.Application.Info.DirectoryPath & "\Log\" + Else + ClassLogger.DateiSpeicherort = speicherort + End If + End Sub + + ' legt das Prefix für den Dateinamen fest + Public Shared Sub SetPrefix(ByVal prefix As String) + ClassLogger.DateiPrefix = prefix + End Sub + + Public Shared Sub Add(ByVal information As String, Optional ByVal mit_prefix As Boolean = True) + If ClassLogger.OpenFile Then + Try + If mit_prefix Then + ClassLogger.StreamWriter.WriteLine("Nachricht (" & System.DateTime.Now & "): " & information) + Else + ClassLogger.StreamWriter.WriteLine(information) + End If + ClassLogger.CloseFile() + Catch e As Exception + ClassLogger.ShowErrorMessage() + End Try + Else + ClassLogger.ShowErrorMessage() + End If + End Sub + Public Shared Sub Add(ByVal ex As Exception) + If ClassLogger.OpenFile Then + Try + ClassLogger.StreamWriter.WriteLine("##### Exception (" & System.DateTime.Now & ")") + ClassLogger.StreamWriter.WriteLine("##### Fehler: " & ex.Message & " Source [" & ex.Source & "]") + ClassLogger.CloseFile() + Catch e As Exception + ClassLogger.ShowErrorMessage() + End Try + Else + ClassLogger.ShowErrorMessage() + End If + End Sub + ' öffnet eine Datei zum Schreiben + Private Shared Function OpenFile() + Try + ' wenn ein Speicherort festgelegt wurde + If Not ClassLogger.DateiSpeicherort = Nothing Then + ' den Dateienamen definieren + Dim dateiname As String = ClassLogger.Dateiname + ' Datei anlegen wenn noch nicht vorhanden + My.Computer.FileSystem.WriteAllText(dateiname, String.Empty, True) + ' die Datei zum Schreiben öffnen + ClassLogger.StreamWriter = New IO.StreamWriter(dateiname, True, System.Text.Encoding.UTF8) + End If + ' wenn die Datei erfolgreich geöffnet wurde + If ClassLogger.StreamWriter IsNot Nothing Then + Return True + Else + Return False + End If + Catch ex As Exception + Return False + End Try + + End Function + + ' öffnet eine Datei zum Schreiben + Private Shared Function OpenFile(ByVal DateiSpeicherort As String, ByVal DateiPrefix As String) + Try + ' wenn ein Speicherort festgelegt wurde + If Not DateiSpeicherort = Nothing And ClassLogger.CheckIsLogWritable() Then + ' den Dateienamen definieren + Dim dateiname As String = ClassLogger.Dateiname + ' Datei anlegen wenn noch nicht vorhanden + My.Computer.FileSystem.WriteAllText(dateiname, String.Empty, True) + ' die Datei zum Schreiben öffnen + ClassLogger.StreamWriter = New IO.StreamWriter(dateiname, True, System.Text.Encoding.UTF8) + End If + ' wenn die Datei erfolgreich geöffnet wurde + If ClassLogger.StreamWriter IsNot Nothing Then + Return True + Else + Return False + End If + + Catch ex As Exception + Return False + End Try + + End Function + + + ' schliesst die geöffnete Datei + Private Shared Sub CloseFile() + + ' wenn eine Datei geöffnet ist + If ClassLogger.StreamWriter IsNot Nothing Then + ' die Datei schliessen + ClassLogger.StreamWriter.Close() + ClassLogger.StreamWriter = Nothing + End If + End Sub + + + Public Shared Function CheckIsLogWritable() + + If ClassLogger.OpenFile Then + Try + ClassLogger.CloseFile() + Catch e As Exception + ClassLogger.ShowErrorMessage() + Return False + End Try + Else + ClassLogger.ShowErrorMessage() + Return False + End If + + Return True + End Function + + + Public Shared Function CheckIsLogWritable(ByVal vDateiSpeicherort As String, ByVal vDateiPrefix As String) + + If ClassLogger.OpenFile(vDateiSpeicherort, vDateiPrefix) Then + Try + ClassLogger.CloseFile() + Catch e As Exception + ClassLogger.ShowErrorMessage() + Return False + End Try + Else + ClassLogger.ShowErrorMessage() + Return False + End If + + Return True + End Function + + + Private Shared Sub ShowErrorMessage() + If Not ClassLogger.HasInformedAboutError Then + 'MsgBox("Beim Öffnen der Logdatei ist ein Fehler aufgetreten. Bitte stellen Sie sicher das Sie sowohl über entsprechende Schreibrechte im Verzeichnis, als auch über ausreichend Speicherplatz zum Speichern der Logdatei verfügen." & _ + ' vbNewLine & vbNewLine & "Es wird keine Logdatei angelegt oder beschrieben." & vbNewLine & vbNewLine & "Im folgenden werden Sie über Fehler, den Log betreffend nicht weiter informiert, um den Ablauf von " & My.Application.Info.ProductName & " nicht zu stören.", _ + ' MsgBoxStyle.Information, "Fehler beim Öffnen der Logdatei") + ClassLogger.HasInformedAboutError = True + End If + End Sub +End Class diff --git a/app/DD_PM_Server/ClassPMWindream.vb b/app/DD_PM_Server/ClassPMWindream.vb new file mode 100644 index 0000000..3d5467f --- /dev/null +++ b/app/DD_PM_Server/ClassPMWindream.vb @@ -0,0 +1,188 @@ +Imports WINDREAMLib +Imports WMOSRCHLib +Public Class ClassPMWindream + Inherits ClassWindream_allgemein + Private email As New ClassEmail + +#Region "+++++ Konstanten +++++" + Protected Const WMObjectEditModeObject = &H1F + Protected Const WMObjectStreamOpenModeReadWrite = 2 + Protected Const WMEntityObjectType = 10 + Protected Const WMEntityDocument = 1 + + Const WMObjectVariableValueTypeUndefined = 0 + Const WMObjectVariableValueTypeString = 1 + Const WMObjectVariableValueTypeInteger = 2 + Const WMObjectVariableValueTypeFloat = 3 + Const WMObjectVariableValueTypeBoolean = 4 + Const WMObjectVariableValueTypeDate = 5 + Const WMObjectVariableValueTypeFixedPoint = 6 + Const WMObjectVariableValueTypeTimeStamp = 7 + Const WMObjectVariableValueTypeCurrency = 8 + Const WMObjectVariableValueTypeTime = 9 + Const WMObjectVariableValueTypeVariant = 10 + Const WMObjectVariableValueTypeMask = &HFFF + Const WMObjectVariableValueFlagMask = &HFFFFF000 + Const WMObjectVariableValueTypeVector = &H1000 + Const WMObjectVariableValueTypeFulltext = &H2000 + Const WMObjectVariableValueTypeDefaultValue = &H4000 +#End Region + +#Region "+++++ Variablen +++++" + Private oController As New WMOSearchController +#End Region + +#Region "+++++ Allgemeine Methoden und Funktionen +++++" + Sub New() + MyBase.New() + End Sub + Private Function IsNotEmpty(ByVal aValue As Object) + + If aValue IsNot Nothing Then + Dim itsType As Type = aValue.GetType + If itsType Is GetType(String) Then + + If Not aValue = "" Then + Return True + End If + + Return False + Else + Return True + End If + Else + Return False + End If + + End Function + Private Function return_type(ByVal _wert As Object) + Return _wert.GetType + End Function + + +#End Region + + +#Region "+++++ Allgemeine Funktionen die Informationen zurückliefern +++++" + + Public Function Get_No_Documents(Profil As String, WD_Search As String) + Try + + If System.IO.File.Exists(WD_Search) = False Then + ClassLogger.Add(">> Windream Suche für Profil: '" & Profil & "' konnte nicht ausgeführt werden! Die Datei '" & WD_Search & "' existiert nicht!", False) + 'MsgBox("Windream Suche für Profil: '" & Profil & "' konnte nicht ausgeführt werden!" & vbNewLine & "Die Datei '" & WD_Search & "' existiert nicht!", MsgBoxStyle.Exclamation, "Achtung:") + 'wenn die gesuchte File eine Suche ist: per Mail informierne und Indexierung abbrechen + If My.Settings.Email_senden = True Then + email.Send_Error_Mail("Fehler in Get_No_Documents:
>> Profil: '" & Profil & "'
>> die windream-Suche : " & WD_Search & " konnte nicht gefunden werden!" & _ + "
>> Mögliche Fehlerursache: Das " & My.Settings.WD_LW & "-Laufwerk ist nicht verfügbar!") + End If + Return 0 + Else + ' windream-Suche für Profil starten + Dim windreamSucheErgebnisse As WMObjects = Me.GetSearchDocuments(WD_Search) + + If windreamSucheErgebnisse.Count > 0 Then + ' neue Anzahl von Dateien + Return windreamSucheErgebnisse.Count + Else + ' keine Dateien zum Importieren + Return 0 + End If + End If + Catch ex As Exception + ClassLogger.Add("Achtung: Fehler in Get_No_Documents: " & ex.Message) + Return 0 + End Try + + End Function + + Public Function GetSearchDocuments(ByVal wdfLocation As String) + + If System.IO.File.Exists(wdfLocation) Then + Dim Marker As String + Try + Dim ProfileName = wdfLocation.Substring(wdfLocation.LastIndexOf("\") + 1) + Marker = "ProfileName: " & ProfileName + Dim ProfilePath = wdfLocation.Substring(0, wdfLocation.Length - ProfileName.Length) + Marker &= "ProfilePath: " & ProfilePath + Me.oController.CheckSearchProfile(wdfLocation.ToLower) + Dim suchTyp = Me.oController.SearchProfileTargetProgID + Dim ExSettings As Object + Dim oSearch As Object + ExSettings = Me.oController.SearchProfileExSettings + If ExSettings = 0 Then ExSettings = 7 + Dim srchQuick As WMOSRCHLib.WMQuickSearch = CreateObject("WMOSrch.WMQuickSearch") + Dim srchIndex As WMOSRCHLib.WMIndexSearch = CreateObject("WMOSrch.WMIndexSearch") + Dim srchObjectType As WMOSRCHLib.WMObjectTypeSearch = CreateObject("WMOSrch.WMObjectTypeSearch") + Marker &= "SuchTyp: " & suchTyp.ToString.ToUpper + Select Case suchTyp.ToString.ToUpper + Case "WMOSRCH.WMQUICKSEARCH" + srchQuick.WMSession = CreateObject("Windream.WMSession", Me.GetCurrentServer) + Marker &= "Session Created" + Me.oConnect.LoginSession(srchQuick.WMSession) + Marker &= "login erfolgreich" + srchQuick.ClearSearch() + srchQuick.SearchProfilePath = ProfilePath + srchQuick.LoadSearchProfile(ProfileName) + Marker &= "Parameter / Profile geladen" + oSearch = srchQuick.GetSearch() + Marker &= "oSearch geladen" + Case "WMOSRCH.WMINDEXSEARCH" + srchIndex.WMSession = CreateObject("Windream.WMSession", Me.GetCurrentServer) + Marker &= "Session Created" + Me.oConnect.LoginSession(srchIndex.WMSession) + Marker &= "login erfolgreich" + srchIndex.ClearSearch() + srchIndex.SearchProfilePath = ProfilePath + srchIndex.LoadSearchProfile(ProfileName) + Marker &= "Parameter / Profile geladen" + oSearch = srchIndex.GetSearch() + Marker &= "oSearch geladen" + Case "WMOSRCH.WMOBJECTTYPESEARCH" + srchObjectType.WMSession = CreateObject("Windream.WMSession", Me.GetCurrentServer) + Marker &= "Session Created" + Me.oConnect.LoginSession(srchObjectType.WMSession) + Marker &= "login erfolgreich" + srchObjectType.ClearSearch() + srchObjectType.SearchProfilePath = ProfilePath + srchObjectType.LoadSearchProfile(ProfileName) + Marker &= "Parameter / Profile geladen" + oSearch = srchObjectType.GetSearch() + Marker &= "oSearch geladen" + Case Else + ClassLogger.Add("KEIN GÜLTIGER WINDREAM-SUCHTYP") + Return Nothing + End Select + Return oSearch.execute + + Catch ex As Exception + ' bei einem Fehler einen Eintrag in der Logdatei machen + ClassLogger.Add("Unvorhergesehener Fehler in Klasse PMWindream - GetSearchDocuments - " & ex.Message, True) + ClassLogger.Add("Bisheriger Marker: " & Marker, False) + Return Nothing + End Try + Else + ClassLogger.Add("Achtung: windream-Suche '" & wdfLocation & "' existiert nicht!", False) + End If + + Return Nothing + + End Function + ''' Liefert den Wert eines Indexes als String + ''' _indexname = Name des zu überprüfenden Indexfeldes + Public Function GetValueforIndex(ByVal _fullfilepath As String, _indexname As String) + Try + Const WMEntityDocument = 1 + Dim IndexwertAusWindream As Object = Nothing + Dim _dok As WINDREAMLib.WMObject + _dok = Nothing + _dok = oSession.GetWMObjectByPath(WMEntityDocument, _fullfilepath) 'WINDREAMLib.WMEntity.WMEntityDocument + IndexwertAusWindream = _dok.GetVariableValue(_indexname) + Return IndexwertAusWindream.ToString + Catch ex As Exception + 'MsgBox(ex.Message) + Return Nothing + End Try + End Function +#End Region +End Class diff --git a/app/DD_PM_Server/ClassWindream_allgemein.vb b/app/DD_PM_Server/ClassWindream_allgemein.vb new file mode 100644 index 0000000..35df333 --- /dev/null +++ b/app/DD_PM_Server/ClassWindream_allgemein.vb @@ -0,0 +1,321 @@ +Imports WINDREAMLib +Imports WINDREAMLib.WMCOMEvent +Imports WINDREAMLib.WMEntity +Imports WINDREAMLib.WMObjectEditMode +Imports WINDREAMLib.WMSearchOperator +Imports WINDREAMLib.WMSearchRelation +Imports WMOBRWSLib + +Public Class ClassWindream_allgemein + +#Region "+++++ Konstanten +++++" + Const DEBUG = AUS + Const AUS = 0 + Const WINDREAM = 1 + Const VARIABLEN = 2 +#End Region + +#Region "+++++ Variablen +++++" + Public oConnect ' der Typ darf nicht festgelegt werden (warum auch immer... geht sonst nicht) + Public oSession 'As WINDREAMLib.WMSession ' der Typ darf nicht festgelegt werden (warum auch immer... geht sonst nicht) + Public oBrowser As New WMOBRWSLib.ServerBrowser + Public oDokumentTypen As WINDREAMLib.WMObjects +#End Region + + +#Region "+++++ Allgemeine Methoden und Funktionen +++++" + + '''

+ ''' Konstruktor für die windream-Klasse + ''' + ''' + Sub New() + ' wenn ein Fehler bei der Initialisierung auftrat + If Not Me.Init() Then + ' Nachricht ausgeben + ClassLogger.Add("Achtung Es trat ein Fehler bei der Initialisierung der Klasse windream auf. Bitte prüfen Sie ob der windream-Server aktiv ist und alle Dienste gestartet sind.", True) + ' das Programm "abschießen" + Process.GetCurrentProcess.Kill() + End If + End Sub + + + ''' + ''' Initialisiert die statische Klasse (Login, Session starten, usw.) + ''' + ''' Liefert True wenn das Anmelden erfolgreich war, sonst False + ''' + Public Function Init() As Boolean + + Try + + Try + ' Session-Objekt instanziieren und mit dem im Client ausgewählten Server belegen + Me.oSession = CreateObject("Windream.WMSession", Me.GetCurrentServer) + ' Connection-Objekt instanziieren + Me.oConnect = CreateObject("Windream.WMConnect") + 'MsgBox("windrem init 'ed") + Catch ex As Exception + Return False + End Try + + + ' wenn windream nicht angemeldet ist + If Not Me.IsLoggedIn Then + + ' Art der Anmeldung an windream festlegen + ' 0x0L (also 0) = Standard windream Benutzer + ' WM_MODULE_ID_DOCTYPEEDITOR_LIC = ermöglicht Zugriff auf die windream Management Funktionen (Z.B. zur Verwaltung der windream Dokumententypen, Auswahllisten, etc.) + ' WM_MODULE_ID_INDEXSERVICE = ermöglicht der Session die Indexierungs-Events vom windream DMS-Service zu empfangen + Me.oConnect.ModuleID = 0 + + ' setzt die minimal erwartete windream-Version + Me.oConnect.MinReqVersion = "3" + + + ' -- Impersonifizierung nur möglich mit registry-eintrag -- + ' oConnect.UserName "\schulung\windream" + ' oConnect.Password "windream" + + ' Verbindung mit Session-Objekt (und dem ausgewählten Server) aufbauen + Me.oConnect.LoginSession(Me.oSession) + + If Me.oSession.aLoggedin = False Then + ClassLogger.Add("Achtung: Es konnte keine Verbindung mit dem windream-Server hergestellt werden", True) + Return False + End If + + ' AUSGABE VON SYSTEMINFORMATIONEN + ' Gibt die Versionsart (Lizenztyp) also Small-Business-Edition (SBE), Small-Business-Extension (SBX) + ' oder Business-Edition (BE) aus + 'MsgBox("WindreamVersion: " & oSession.GetSystemInfo("WindreamVersion") & vbNewLine & "LicenceKey: " & oSession.GetSystemInfo("LicenceKey") & vbNewLine & _ + ' vbNewLine & "LicenceName: " & oSession.GetSystemInfo("LicenceName")) + + 'Dim WMCtrl As AISCONTROLDATACOMLib.AISControlData + 'WMCtrl = New AISCONTROLDATACOMLib.AISControlData + + '' liefert die Versionsnummer des Clients + 'MsgBox(WMCtrl.WMWorkstationBuildNo) + 'MsgBox(WMCtrl.W + '' liefert den Servernamen des angemeldeten windreams + 'MsgBox(WMCtrl.WMServerName) + + Try + Me.oSession.SwitchEvents(WMCOMEventWMSessionNeedIndex, False) + ' der Parameter WMEntityDocument definiert, dass nur Dokumenttypen und keine + ' Ordnertypen ausgelesen werden + Me.oDokumentTypen = Me.oSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityDocument) + Catch ex As Exception + Return False + End Try + + End If + + Return True + + Catch ex As Exception + ClassLogger.Add("Achtung Fehler beim Login an windream - Evtl. Keine Verbindung zu windream: " & ex.Message, True) + 'If Err.Number = -2147220985 Then + ' ClassLogger.Add("Achtung Fehler beim Login an windream - Keine Verbindung zu windream: " & ex.Message, True) + ' MsgBox("Die installierte windream-Version ist nicht ausreichend für den Betrieb der Tool Collection für windream." & vbNewLine & _ + ' "Bitte kontaktieren Sie Digital Data." & vbNewLine & vbNewLine & "Fehlernachricht:" & vbNewLine & Err.Description, MsgBoxStyle.Exclamation, "Unzureichende windream-Version") + 'Else + ' ClassLogger.Add("Achtung Fehler beim Login an windream - Keine Verbindung zu windream: " & ex.Message, True) + 'End If + Return False + End Try + + End Function + +#End Region + + + +#Region "+++++ Funktionen die für den Objekttyp relevate Informationen zurückliefern +++++" + + ''' + ''' Liefert alle Indexe eines Objekttypen. + ''' + ''' Name des Objekttyps + ''' Array mit allen Objekttyp zugeordneten Indexen als String + ''' + Public Function GetIndicesByObjecttype(ByVal name As String) As String() + Try + Dim oObjectType As WMObject + Dim oIndexAttributes As WMObjectRelation + Dim oIndexAttribute As WMObject + Dim oIndex As WMObject + Dim oRelProperties As WMObjectRelationClass + + ' den Objekttyp laden + oObjectType = Me.oSession.GetWMObjectByName(WMEntityObjectType, name) + + ' Beziehung zu Indizes des Objekttyp auslesen + oIndexAttributes = oObjectType.GetWMObjectRelationByName("TypeAttributes") + + ' Array für Indizes vorbereiten + Dim aIndexNames(oIndexAttributes.Count - 1) As String + + ' alle Indizes durchlaufen + For j As Integer = 0 To oIndexAttributes.Count - 1 + + ' aktuellen Index auslesen + oIndexAttribute = oIndexAttributes.Item(j) + + ' Eigenschaften des Index auslesen + oRelProperties = oIndexAttribute.GetWMObjectRelationByName("Attribute") + + ' Index aus den Eigenschaften auslesen + oIndex = oRelProperties.Item(0) + + ' Indexname speichern + aIndexNames(j) = oIndex.aName + Next + + ' Indexarray zurückgeben + Return aIndexNames + + Catch ex As Exception + ClassLogger.Add("Achtung: Fehler beim Auslesen der windream-Indexe: " & ex.Message) + Return Nothing + End Try + End Function + ''' + ''' Liefert einen Objekttyp als WMObject an Hand dessen Name. + ''' + ''' Name des Objekttyps + ''' Objekttyp als WMObject + ''' + Public Function GetObjecttypeByName(ByVal objekttypName As String) As WMObject + Try + ' alle Objekttypen auslesen + Dim oObjectTypes As WMObjects = Me.oSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityDocument) + + ' alle Objekttypen durchlaufen und nach dem mit dem angegebenen Namen suchen + For Each oObjectType As WMObject In oObjectTypes + If oObjectType.aName = objekttypName Then + Return oObjectType + End If + Next + + Return Nothing + + Catch ex As Exception + ClassLogger.Add("Achtung: Fehler in GetObjecttypeByName: " & ex.Message) + Return Nothing + End Try + End Function + + ''' + ''' Überprüft ob der angegebene Index im Objekttyp existiert + ''' + ''' Name des zu durchsuchenden Objekttyps + ''' Name des zu suchenden Indexes + ''' Liefert True wenn der Index im Objekttyp existiert, sonst False + ''' + Public Function ExistIndexInObjekttyp(ByVal objekttyp As String, ByVal indexname As String) As Boolean + Try + Dim indexnamen() As String = Me.GetIndicesByObjecttype(objekttyp) + + If indexnamen Is Nothing Then Return False + + For Each index As String In indexnamen + If index = indexname Then Return True + Next + + Catch ex As Exception + ClassLogger.Add("Achtung: Fehler in ExistIndexInObjekttyp: " & ex.Message) + End Try + + Return False + + End Function + +#End Region + + + +#Region "+++++ Allgemeine Funktionen die Informationen zurückliefern +++++" + + ''' + ''' Liefert True wenn die windream-Session angemeldet ist und False für den Fall, dass die Session nicht eingeloggt ist. + ''' + ''' Anmeldestatus als Boolean + ''' + Public Function IsLoggedIn() As Boolean + Try + Return Me.oSession.aLoggedin + Catch ex As Exception + ClassLogger.Add("Achtung: Fehler in IsLoggedIn: " & ex.Message) + End Try + + Return False + End Function + + ''' + ''' Liefert den Servernamen an dem windream aktuell angemeldet ist. + ''' + ''' Servername als String + ''' + Public Function GetCurrentServer() As String + Try + Return Me.oBrowser.GetCurrentServer 'ClassWindream.oBrowser.GetCurrentServer + Catch ex As Exception + ClassLogger.Add("Achtung: Fehler in GetCurrentServer: " & ex.Message) + End Try + + Return "" + End Function + + 'Public Function GetSharedCurrentServer() As String + ' Try + ' Return ClassWindream.oBrowser.GetCurrentServer + ' Catch ex As Exception + ' MsgBox("Der aktuell gewählte windream-Server konnte nicht ausgelesen werden." & vbNewLine & vbNewLine & "Fehlernachricht:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler beim Auslesen des windream-Servers") + ' End Try + + ' Return "" + 'End Function + + + ''' + ''' Liefert das Windream-Laufwerk des windream-Servers, in Form '[Laufwerksbuchstabe]:'. (z.B. 'W:') + ''' + ''' Laufwerksbuchstabe mit Doppelpunkt als String + ''' + 'Public Function GetWindreamDriveLetter() As String + + ' Try + ' Dim oControl As AISCONTROLDATACOMLib.AISControlData + ' Dim sDrive As String = "" + + ' oControl = New AISCONTROLDATACOMLib.AISControlData + + ' sDrive = oControl.GetStringValue(&H10040003) + + ' Return sDrive & ":" + + ' Catch ex As Exception + ' MsgBox("Fehlernachricht: " & ex.Message, MsgBoxStyle.Critical, "Fehler beim Auslesen des windream-Laufwerks") + ' End Try + + ' Return "" + 'End Function + + ''' + ''' Liefert den Typen eines Indexes als Integer. + ''' + ''' Name des zu überprüfenden Indexfeldes + ''' Liefert eine Zahl, die einen Typen beschreibt + ''' + Public Function GetTypeOfIndexAsIntByName(ByVal indexname As String) As Integer + Try + Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, indexname) + Dim vType = oAttribute.getVariableValue("dwAttrType") + Return vType + Catch ex As Exception + Return Nothing + End Try + End Function +#End Region +End Class diff --git a/app/DD_PM_Server/DD_PM_Server.vbproj b/app/DD_PM_Server/DD_PM_Server.vbproj new file mode 100644 index 0000000..bf478a0 --- /dev/null +++ b/app/DD_PM_Server/DD_PM_Server.vbproj @@ -0,0 +1,138 @@ + + + + Debug + x86 + + + + + {7ED90CF1-7B5B-403A-A138-7CCB9F8963E9} + Exe + DD_PM_Server.Modul_Main + DD_PM_Server + DD_PM_Server + 512 + Console + v4.0 + Client + + + x86 + true + full + true + true + bin\Debug\ + DD_PM_Server.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + x86 + pdbonly + false + true + true + bin\Release\ + DD_PM_Server.xml + 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 + + + On + + + Binary + + + Off + + + On + + + + ..\..\..\..\..\DLL\windreamDLL\Interop.WINDREAMLib.dll + False + + + P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOBRWSLib.dll + True + + + P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOSRCHLib.dll + True + + + P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOTOOLLib.dll + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + Application.myapp + + + True + True + Resources.resx + + + True + Settings.settings + True + + + + + VbMyResourcesResXFileCodeGenerator + Resources.Designer.vb + My.Resources + Designer + + + + + + MyApplicationCodeGenerator + Application.Designer.vb + + + SettingsSingleFileGenerator + My + Settings.Designer.vb + + + + + \ No newline at end of file diff --git a/app/DD_PM_Server/Modul_Main.vb b/app/DD_PM_Server/Modul_Main.vb new file mode 100644 index 0000000..f9a3dab --- /dev/null +++ b/app/DD_PM_Server/Modul_Main.vb @@ -0,0 +1,306 @@ +Imports System.Data.SqlClient +Imports WINDREAMLib +Imports System.Globalization +Module Modul_Main + Public vIntervall As Integer + Private _windreamPM As ClassPMWindream + Private _wdDokument As WMObject + Private email As New ClassEmail + Private email_Reminder As Boolean + Private email_from, email_user, email_pw, email_smtp, Reminder_Head, Reminder_Footer As String + + Sub Main() + Try + ClassLogger.Init("", "logPM_Server", True) + ClassLogger.Add(" ######## ProcessManager - Server gestartet - " & Now, False) + Catch ex As System.Exception + 'MsgBox("Fehler bei Log Create: " & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Achtung:") + End Try + Try + ' Windream instanziieren + _windreamPM = New ClassPMWindream() + 'Windream initialisieren (Connection, Session, ... aufbauen) + _windreamPM.Init() + ClassLogger.Add(" >> windream initialisiert", False) + Catch ex As Exception + ClassLogger.Add("Fehler in windream-Init: " & ex.Message, True) + If My.Settings.Email_senden = True Then + email.Send_Error_Mail("Fehler in windream-Init (Modul main):
>> Fehlermeldung:
" & ex.Message) + End If + End Try + Load_Konfig() + Check_Profiles() + Send_Reminder() + End Sub + Sub Run_Timer_Refresh_Files() + ClassLogger.Add(">> Timer Refresh_Files gestartet!", False) + Check_Profiles() + End Sub + Sub Send_Reminder() + Try + If email_Reminder = True Then + Dim list As New List(Of Integer) + list.Add(8) + list.Add(9) + list.Add(10) + list.Add(12) + list.Add(14) + list.Add(16) + list.Add(18) + Dim hour As Integer = My.Computer.Clock.LocalTime.Hour + Dim start As Boolean = False + Dim i As Integer + For i = 0 To list.Count - 1 + If list.Item(i) = hour Then + start = True + End If + Next i + 'Wenn diese Stunde eine Email versendet werden soll + If start = True Then + Dim DT As DataTable = ClassDatabase.Return_Datatable("Select * from VWPM_EMAIL_PROFIL where ANZ_FILES > 0") + If DT Is Nothing = False Then + If DT.Rows.Count > 0 Then + For Each Row As DataRow In DT.Rows + 'If Row.Item("LAST_HOUR") = 0 Then + If Row.Item("LAST_HOUR") <> hour Then + If CBool(Row.Item("EMAIL_ONCE_DAY")) = True Then + If hour = 12 Then + Dim Body As String = "- Profilnam: '" & Row.Item("PROFIL_TITLE") & "' - Anzahl der Dokumente: " & Row.Item("ANZ_FILES") + If ClassEmail.Send_Reminder_Mail(Body, email_from, email_smtp, email_user, email_pw, Row.Item("EMAIL"), Reminder_Head, Reminder_Footer) = True Then + ClassDatabase.Execute_MSSQL("UPDATE TBPM_USER SET LAST_EMAIL_SEND = " & hour & " WHERE GUID = " & Row.Item("USER_ID")) + End If + End If + Else + Dim Body As String = "- Profilnam: '" & Row.Item("PROFIL_TITLE") & "' - Anzahl der Dokumente: " & Row.Item("ANZ_FILES") + If ClassEmail.Send_Reminder_Mail(Body, email_from, email_smtp, email_user, email_pw, Row.Item("EMAIL"), Reminder_Head, Reminder_Footer) = True Then + ClassDatabase.Execute_MSSQL("UPDATE TBPM_USER SET LAST_EMAIL_SEND = " & hour & " WHERE GUID = " & Row.Item("USER_ID")) + End If + End If + + End If + 'End If + Next + End If + End If + End If + End If + + + + Catch ex As Exception + ClassLogger.Add("###Fehler in Send_Reminder: " & ex.Message) + If My.Settings.Email_senden = True Then + email.Send_Error_Mail("Fehler in Send_Reminder (Modul main):
>> Fehlermeldung:
" & ex.Message) + End If + End Try + End Sub + Sub Load_Konfig() + Try + Dim myConnection As SqlConnection + myConnection = New SqlConnection(My.Settings.SQLConnection) + Dim mySQLcommand As SqlCommand + mySQLcommand = New SqlCommand("SELECT * FROM TBPM_KONFIGURATION WHERE GUID = 1", myConnection) + + ' mySQLcommand.CommandText = "SELECT * FROM TBPM_KONFIGURATION WHERE GUID = 1" + Try + myConnection.Open() + Catch ex As Exception + ClassLogger.Add("Fehler in Load_Konfig DB aufbauen - Fehler: " & ex.Message, False) + ClassLogger.Add("Prüfen Sie die Anwendungsdatei-Angaben für die Connection", False) + myConnection.Close() + Exit Sub + End Try + Dim adapter1 As SqlDataAdapter = New SqlDataAdapter(mySQLcommand) + Dim dt As DataTable = New DataTable() + adapter1.Fill(dt) + + If dt.Rows.Count = 1 Then + Dim Konfig_Row As System.Data.DataRow + '---------------------- für jedes Profil die Dateien überprüfen ------------------------ + For Each Konfig_Row In dt.Rows + If CBool(Konfig_Row.Item("EMAIL_ACTIVE")) = True Then + email_Reminder = CBool(Konfig_Row.Item("EMAIL_ACTIVE")) + email_from = Konfig_Row.Item("EMAIL_FROM") + email_user = Konfig_Row.Item("EMAIL_USER") + email_pw = Konfig_Row.Item("EMAIL_PW") + email_smtp = Konfig_Row.Item("EMAIL_SMTP") + Reminder_Head = Konfig_Row.Item("EMAIL_REMINDER_HEADER") + Reminder_Footer = Konfig_Row.Item("EMAIL_REMINDER_FOOTER") + Else + email_Reminder = False + End If + Next + End If + Catch ex As Exception + ClassLogger.Add("###Fehler in Load_Konfig: " & ex.Message) + If My.Settings.Email_senden = True Then + email.Send_Error_Mail("Fehler in Load_Konfig (Modul main):
>> Fehlermeldung:
" & ex.Message) + End If + End Try + End Sub + Sub Check_Profiles() + Dim stp As String + ' windream-Suche für Profil starten + _windreamPM = New ClassPMWindream() + stp = 1 + Try + ClassLogger.Add(" >> Check_Profiles gestartet", False) + Dim WD_Search As String + Dim myConnection As SqlConnection + stp = 2 + myConnection = New SqlConnection(My.Settings.SQLConnection) + stp = 3 + Dim mySQLcommand As SqlCommand + mySQLcommand = New SqlCommand("SELECT GUID,NAME,WD_OBJECTTYPE,WD_SEARCH FROM TBPM_PROFILE WHERE ACTIVE = 1", myConnection) + stp = 4 + mySQLcommand.CommandText = "SELECT GUID,NAME,WD_OBJECTTYPE,WD_SEARCH FROM TBPM_PROFILE WHERE ACTIVE = 1" + stp = 5 + Try + myConnection.Open() + Catch ex As Exception + ClassLogger.Add("Fehler in Check_Profiles DB aufbauen - Fehler: " & ex.Message, False) + myConnection.Close() + Exit Sub + End Try + stp = 6 + Dim adapter1 As SqlDataAdapter = New SqlDataAdapter(mySQLcommand) + stp = 7 + Dim dt As DataTable = New DataTable() + stp = 8 + adapter1.Fill(dt) + stp = 9 + + Console.WriteLine(">> Evtl alte nicht aktualisierte PROFILE-FILE Daten werden gelöscht") + '---------------------- Evtl alte nicht aktualisierte PROFILE-FILE Daten werden gelöscht ------------------------ + Dim delete As String = "DELETE FROM TBPM_PROFILE_FILES WHERE ACTIVE = 0 AND IN_WORK = 0" + ClassDatabase.Execute_MSSQL(delete) + + Dim sel4 = "select count(*) from TBPM_PROFILE_FILES" + Dim EMPTYTABLE = ClassDatabase.Execute_Scalar(sel4) + If EMPTYTABLE = 0 Then + ClassLogger.Add(">> Tabelle ist noch komplett leer", False) + End If + 'delete = "DELETE FROM TBPM_PROFILE_FILES_TEMP" + 'ClassDatabase.Execute_MSSQL(delete) + stp = 10 + + If dt.Rows.Count > 0 Then + Dim Profile_Row As System.Data.DataRow + '---------------------- für jedes Profil die Dateien überprüfen ------------------------ + For Each Profile_Row In dt.Rows + stp = "a" + Console.WriteLine(">> Dateien für Profil '" & Profile_Row.Item("NAME") & "' eintragen") + ClassLogger.Add(">> Dateien für Profil '" & Profile_Row.Item("NAME") & "' eintragen", False) + Dim ID As Integer = Profile_Row.Item("GUID") + WD_Search = Nothing + WD_Search = Profile_Row.Item("WD_SEARCH") + stp = "b" + If WD_Search Is Nothing = False Then + '---------------------- Die Dateien auslesen ------------------------ + Dim windreamSucheErgebnisse As WMObjects + stp = "c" + windreamSucheErgebnisse = _windreamPM.GetSearchDocuments(WD_Search) + stp = "d" + Dim Anzahl_Doks As Integer = 0 + If windreamSucheErgebnisse Is Nothing = False Then + If windreamSucheErgebnisse.Count > 0 Then + stp = "e" + 'Die aktuellen Files auf refreshed = 0 setzten + Dim upd As String = "UPDATE TBPM_PROFILE_FILES SET REFRESHED = 0 WHERE PROFIL_ID = " & ID + If ClassDatabase.Execute_MSSQL(upd) = True Then + stp = "e-1" + 'Ein Array mit Dateiinformationen anlegen + Dim Profil_Docs(windreamSucheErgebnisse.Count - 1, 2) As String + For Each dok As WMObject In windreamSucheErgebnisse + Profil_Docs(Anzahl_Doks, 0) = ID + Profil_Docs(Anzahl_Doks, 1) = My.Settings.WD_LW & ":" & dok.aPath + '------DMS Erstell-Datum holen -------- + Dim DMSErstellt = dok.GetVariableValue(My.Settings.vIDX_DMS_ERSTELLT) + Dim DOC_ID + Try + DOC_ID = dok.GetVariableValue("Dokument-ID") + Catch ex As Exception + DOC_ID = 0 + End Try + + 'ClassLogger.Add(">> DMSErstellt: '" & DMSErstellt.ToString, False) + Dim date_EN As String + If My.Settings.vIDX_DMS_ERSTELLT.EndsWith("reated") Then + Dim arr() = DMSErstellt.ToString.Split(".") + If arr.Length = 3 Then + date_EN = arr(2).Replace(" 00:00:00", "") & "-" & arr(1) & "-" & arr(0) + ClassLogger.Add(">> date_EN: '" & date_EN, False) + DMSErstellt = date_EN + End If + End If + '-------------------- Überprüfen ob das Dokument bereits enthalten ist? Kann nur passieren wenn das Dok gerade in Bearbeitung ist ---------- + Dim sel1 As String = "SELECT GUID FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = " & ID & " AND FILE_PATH = '" & My.Settings.WD_LW & ":" & dok.aPath & "'" + Dim check = ClassDatabase.Execute_Scalar(sel1) + '---------------------- Das Dokument inserten ------------------------ + Try + If check Is Nothing Or EMPTYTABLE = 0 Then + Dim insert As String = "INSERT INTO TBPM_PROFILE_FILES (PROFIL_ID, FILE_PATH, ACTIVE, DMS_ERSTELLT_DATE,DOC_ID) VALUES (" & ID & ", '" & My.Settings.WD_LW & ":" & dok.aPath & "',1, CONVERT(DATE,'" & DMSErstellt & "')," & DOC_ID & ")" + If ClassDatabase.Execute_MSSQL(insert) = False Then + ClassLogger.Add("### Unexpected Error while Inserting File-Record") + End If + ' aktuelles Dokument der Klasse mitteilen + Else + If CInt(check) > 0 Then + Dim upd1 As String = "UPDATE TBPM_PROFILE_FILES SET REFRESHED = 1, EDIT = 0 WHERE GUID = " & CInt(check) + ClassDatabase.Execute_MSSQL(upd1) + End If + + End If + Catch ex As Exception + ClassLogger.Add("###Fehler IN Insert or Update File-Record - ast step: " & stp) + ClassLogger.Add("###Fehler-Nachricht: " & ex.Message) + End Try + + Anzahl_Doks += 1 + Next + stp = "f - vor Delete Refreshed = 0" + Dim Del As String = "DELETE FROM TBPM_PROFILE_FILES WHERE PROFIL_ID = " & ID & " AND REFRESHED = 0" + ClassDatabase.Execute_MSSQL(Del) + '---------------------- Aktuelle Anzahl in Profiltabelle updaten ------------------------ + Dim update As String = "UPDATE TBPM_PROFILE SET NO_OF_DOCUMENTS = " & Anzahl_Doks & " WHERE GUID = " & ID + stp = "g - " & Anzahl_Doks.ToString + ClassDatabase.Execute_MSSQL(update) + ClassLogger.Add(">> Profil '" & Profile_Row.Item("NAME") & "' aktualisiert - Anzahl Dateien: " & Anzahl_Doks.ToString, False) + Else + ClassLogger.Add(">> ACHTUNG: Refresh konnte nicht ausgeführt werden: " & upd, False) + End If + Else + stp = "g" + ClassLogger.Add(">> KEINE DATEIEN FÜR PROFIL VORHANDEN.", False) + End If + Else + ClassLogger.Add(">> ACHTUNG: WINDREAM-SUCHE ist NOTHING.", False) + End If + End If + Next + stp = "h" + ''------------------------------- Bearbeitete Daten löschen ------------------------ + If ClassDatabase.Execute_MSSQL("DELETE FROM TBPM_PROFILE_FILES WHERE EDIT = 1") = True Then + ' stp = "i" + ' Console.WriteLine(">> Alte PROFILE-FILE Daten geleert") + ' '---------------------- DIE NEUEN DATEN AUF ACTIVE SETZEN ------------------------ + ' Dim update As String = "UPDATE TBPM_PROFILE_FILES SET ACTIVE = 1 WHERE ACTIVE = 0" + ' ClassDatabase.Execute_MSSQL(update) + ' stp = "j" + ' Console.WriteLine(">> Neue PROFILE-FILE Daten aktiv gesetzt") + End If + ClassDatabase.Execute_MSSQL("EXEC PRPM_REMOVE_NE_FILES") + End If + myConnection.Close() + stp = "k" + Catch ex As Exception + ClassLogger.Add("###Fehler IN Check_Profiles - last step: " & stp) + ClassLogger.Add("###Fehler IN Check_Profiles: " & ex.Message) + If ex.Message.Contains("Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.") = False Then + If My.Settings.Email_senden = True Then + email.Send_Error_Mail("Fehler in Check_Profiles (Modul main):
>> Fehlermeldung:
" & ex.Message) + End If + End If + End Try + End Sub +End Module diff --git a/app/DD_PM_Server/My Project/Application.Designer.vb b/app/DD_PM_Server/My Project/Application.Designer.vb new file mode 100644 index 0000000..1358e09 --- /dev/null +++ b/app/DD_PM_Server/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.261 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/app/DD_PM_Server/My Project/Application.myapp b/app/DD_PM_Server/My Project/Application.myapp new file mode 100644 index 0000000..e62f1a5 --- /dev/null +++ b/app/DD_PM_Server/My Project/Application.myapp @@ -0,0 +1,10 @@ + + + false + false + 0 + true + 0 + 2 + true + diff --git a/app/DD_PM_Server/My Project/AssemblyInfo.vb b/app/DD_PM_Server/My Project/AssemblyInfo.vb new file mode 100644 index 0000000..23dee72 --- /dev/null +++ b/app/DD_PM_Server/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports System.Runtime.InteropServices + +' Allgemeine Informationen über eine Assembly werden über die folgenden +' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +' die mit einer Assembly verknüpft sind. + +' Die Werte der Assemblyattribute überprüfen + + + + + + + + + + +'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird + + +' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +' +' Hauptversion +' Nebenversion +' Buildnummer +' Revision +' +' Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern +' übernehmen, indem Sie "*" eingeben: +' + + + diff --git a/app/DD_PM_Server/My Project/Resources.Designer.vb b/app/DD_PM_Server/My Project/Resources.Designer.vb new file mode 100644 index 0000000..6514473 --- /dev/null +++ b/app/DD_PM_Server/My Project/Resources.Designer.vb @@ -0,0 +1,62 @@ +'------------------------------------------------------------------------------ +' +' This code was generated by a tool. +' Runtime Version:4.0.30319.261 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My.Resources + + 'This class was auto-generated by the StronglyTypedResourceBuilder + 'class via a tool like ResGen or Visual Studio. + 'To add or remove a member, edit your .ResX file then rerun ResGen + 'with the /str option, or rebuild your VS project. + ''' + ''' A strongly-typed resource class, for looking up localized strings, etc. + ''' + _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + ''' + ''' Returns the cached ResourceManager instance used by this class. + ''' + _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DD_PM_Server.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + ''' + ''' Overrides the current thread's CurrentUICulture property for all + ''' resource lookups using this strongly typed resource class. + ''' + _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set(ByVal value As Global.System.Globalization.CultureInfo) + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/app/DD_PM_Server/My Project/Resources.resx b/app/DD_PM_Server/My Project/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/app/DD_PM_Server/My Project/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/app/DD_PM_Server/My Project/Settings.Designer.vb b/app/DD_PM_Server/My Project/Settings.Designer.vb new file mode 100644 index 0000000..c26642c --- /dev/null +++ b/app/DD_PM_Server/My Project/Settings.Designer.vb @@ -0,0 +1,203 @@ +'------------------------------------------------------------------------------ +' +' Dieser Code wurde von einem Tool generiert. +' Laufzeitversion:4.0.30319.34014 +' +' Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +' der Code erneut generiert wird. +' +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "Funktion zum automatischen Speichern von My.Settings" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + + _ + Public ReadOnly Property SQLConnection() As String + Get + Return CType(Me("SQLConnection"),String) + End Get + End Property + + _ + Public ReadOnly Property Email_senden() As Boolean + Get + Return CType(Me("Email_senden"),Boolean) + End Get + End Property + + _ + Public ReadOnly Property Email_Empfaenger() As String + Get + Return CType(Me("Email_Empfaenger"),String) + End Get + End Property + + _ + Public ReadOnly Property Email_From() As String + Get + Return CType(Me("Email_From"),String) + End Get + End Property + + _ + Public ReadOnly Property Email_User() As String + Get + Return CType(Me("Email_User"),String) + End Get + End Property + + _ + Public ReadOnly Property Email_PW() As String + Get + Return CType(Me("Email_PW"),String) + End Get + End Property + + _ + Public ReadOnly Property Email_Betreff() As String + Get + Return CType(Me("Email_Betreff"),String) + End Get + End Property + + ")> _ + Public ReadOnly Property Email_Body() As String + Get + Return CType(Me("Email_Body"),String) + End Get + End Property + + _ + Public ReadOnly Property Email_SMTP() As String + Get + Return CType(Me("Email_SMTP"),String) + End Get + End Property + + _ + Public ReadOnly Property WD_LW() As String + Get + Return CType(Me("WD_LW"),String) + End Get + End Property + + _ + Public ReadOnly Property vIDX_DMS_ERSTELLT() As String + Get + Return CType(Me("vIDX_DMS_ERSTELLT"),String) + End Get + End Property + + ")> _ + Public ReadOnly Property vBodyTag() As String + Get + Return CType(Me("vBodyTag"),String) + End Get + End Property + + _ + Public ReadOnly Property Email_ReminderBetreff() As String + Get + Return CType(Me("Email_ReminderBetreff"),String) + End Get + End Property + + _ + Public ReadOnly Property Email_ReminderStartup() As String + Get + Return CType(Me("Email_ReminderStartup"),String) + End Get + End Property + End Class +End Namespace + +Namespace My + + _ + Friend Module MySettingsProperty + + _ + Friend ReadOnly Property Settings() As Global.DD_PM_Server.My.MySettings + Get + Return Global.DD_PM_Server.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/app/DD_PM_Server/My Project/Settings.settings b/app/DD_PM_Server/My Project/Settings.settings new file mode 100644 index 0000000..57b7876 --- /dev/null +++ b/app/DD_PM_Server/My Project/Settings.settings @@ -0,0 +1,53 @@ + + + + + + <?xml version="1.0" encoding="utf-16"?> +<SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <ConnectionString>Data Source=172.24.12.41\tests;Initial Catalog=DD_DMS;Persist Security Info=True;User ID=sa;Password=dd</ConnectionString> + <ProviderName>System.Data.SqlClient</ProviderName> +</SerializableConnectionString> + Data Source=172.24.12.41\tests;Initial Catalog=DD_DMS;Persist Security Info=True;User ID=sa;Password=dd + + + True + + + + + + + + + + + + + + + Fehler in DD Process Manager - Server + + + Das Modul 'DD Process Manager - Server' meldet folgenden unvorhergesehen Fehler: <p> + + + + + + W + + + DMS erstellt + + + <table border="0"> + + + Hinweis Process-Manager Digital Data + + + E:\SchreiberM\Visual Studio\Kunden - Produktiv\PROCESSMANAGER\DD_PM_Server\DD_PM_Server\bin\Debug + + + \ No newline at end of file diff --git a/app/DD_PM_Server/app.config b/app/DD_PM_Server/app.config new file mode 100644 index 0000000..d9a15c4 --- /dev/null +++ b/app/DD_PM_Server/app.config @@ -0,0 +1,77 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + + + + + + + + + + + + + + + Fehler in DD Process Manager - Server + + + Das Modul 'DD Process Manager - Server' meldet folgenden unvorhergesehen Fehler: <p> + + + + + + W + + + DMS erstellt + + + <table border="0"> + + + Hinweis Process-Manager Digital Data + + + E:\SchreiberM\Visual Studio\Kunden - Produktiv\PROCESSMANAGER\DD_PM_Server\DD_PM_Server\bin\Debug + + + +

" & _ + "Starten Sie den Process-Manager " & "hier
" & _ + "