Aktuelle Woche kann manuell überschrieben werden

This commit is contained in:
ms
2025-02-24 08:43:06 +01:00
parent a43f604eb2
commit 7365379812
6 changed files with 113 additions and 19 deletions

View File

@@ -1,5 +1,7 @@
Imports System.IO.File
Imports System.Net.Mail
Imports Renci.SshNet
Imports System.IO
Public Class Form1
@@ -8,11 +10,12 @@ Public Class Form1
Public PDFUploadPath As String = ""
Public DatumNextMonday As String
Public DatumThisWeeksMonday As String
Public Silent As Boolean = False
Public Shared HighwayFTPUser As String = "u78672691"
Public Shared HighwayFTPPwd As String = "verag#2"
Public Shared HighwayFTPSrv As String = "ftp://home546285429.1and1-data.host"
Public Shared HighwayFTPPwd As String = "LmZAK6x!Ur6^7BaUkCV^5Zk*G"
Public Shared HighwayFTPSrv As String = "home546285429.1and1-data.host"
Private Function LoadParameters()
Try
@@ -61,7 +64,7 @@ Public Class Form1
End If
End If
Upload2FTP(HighwayFTPSrv & "/speisekarte/Mittagsmenue.pdf", HighwayFTPUser, HighwayFTPPwd, anhang)
Upload2SFTP(HighwayFTPSrv, 22, HighwayFTPUser, HighwayFTPPwd, anhang)
End Function
@@ -79,25 +82,51 @@ Public Class Form1
Return (DatumNextMonday)
End Function
Public Function Upload2FTP(server As String, user As String, pwd As String, file As String)
Dim clsRequest As System.Net.FtpWebRequest =
DirectCast(System.Net.WebRequest.Create(server), System.Net.FtpWebRequest)
clsRequest.Credentials = New System.Net.NetworkCredential(user, pwd)
clsRequest.Method = System.Net.WebRequestMethods.Ftp.UploadFile
Public Function GetThisWeeksMonday()
Dim datum As Date = Now.Date.AddDays(0)
' read in file...
Dim bFile() As Byte = System.IO.File.ReadAllBytes(file)
For i = 0 To 10
If datum.DayOfWeek = 1 Then
Exit For
Else
datum = datum.AddDays(-1)
End If
Next
DatumThisWeeksMonday = datum.Date.ToString.Substring(0, 10)
Return (DatumThisWeeksMonday)
End Function
' upload file...
Dim clsStream As System.IO.Stream =
clsRequest.GetRequestStream()
clsStream.Write(bFile, 0, bFile.Length)
clsStream.Close()
clsStream.Dispose()
If Silent = False Then MsgBox("Ok, erledigt.")
sendMail("FTP Upload ausgeführt", "Der automatische Upload wurde ausgeführt. Datei: " & PDFUploadPath & DatumNextMonday & ".pdf")
Public Function Upload2SFTP(server As String, port As Integer, user As String, pwd As String, filePath As String, Optional Silent As Boolean = False) As Boolean
Try
' Verbindung zu SFTP herstellen
Using sftpClient As New SftpClient(server, port, user, pwd)
sftpClient.Connect()
' Datei einlesen
Dim fileBytes() As Byte = File.ReadAllBytes(filePath)
Dim remoteFileName As String = "/speisekarte/Mittagsmenue.pdf" 'Path.GetFileName(filePath)
' Datei hochladen
Using stream As New MemoryStream(fileBytes)
sftpClient.UploadFile(stream, remoteFileName)
End Using
sftpClient.Disconnect()
End Using
' Rückmeldung und optional E-Mail
If Not Silent Then
MsgBox("Upload erfolgreich abgeschlossen.")
End If
sendMail("SFTP-Upload ausgeführt", $"Der automatische Upload wurde ausgeführt. Datei: {filePath}")
Return True
Catch ex As Exception
' Fehlerbehandlung
MsgBox("Fehler beim SFTP-Upload: " & ex.Message)
Return False
End Try
End Function
Private Sub btnUpload_Click(sender As Object, e As EventArgs) Handles btnUpload.Click
@@ -135,7 +164,7 @@ Public Class Form1
Dim sql As New Gastro.cSQL
Dim Upload2SQLGuide As String = "INSERT INTO [SQLGUIDE01.verag.ost.dmn].[AVISO].dbo.[tblEBMenu]
Select *, 5 as [MenuBestellungBisTageVorher] from [192.168.2.17].[Gastro].dbo.[GMenu] as table1
Select *, 4 as [MenuBestellungBisTageVorher] from [192.168.2.17].[Gastro].dbo.[GMenu] as table1
WHERE NOT EXISTS (
select * from [SQLGUIDE01.verag.ost.dmn].[AVISO].dbo.[tblEBMenu] as table2 WHERE table1.MenuTitel = table2.MenuTitel AND table1.[MenuDateVon] = table2.[MenuDateVon]
)
@@ -177,4 +206,10 @@ WHERE NOT EXISTS (
sqlsendinator()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
GetThisWeeksMonday()
DatumNextMonday = DatumThisWeeksMonday
Upload()
End Sub
End Class