SDL Jetzt erst recht!
This commit is contained in:
294
VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb
Normal file
294
VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb
Normal file
@@ -0,0 +1,294 @@
|
||||
Imports System.Net.Mail
|
||||
Imports System.Text
|
||||
Imports ClosedXML.Excel
|
||||
|
||||
Public Class cProgramFunctions
|
||||
|
||||
|
||||
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
Public Shared Function fktEuro(varBetrag As Object, varVonWährung As Object, varNachWährung As Object) As Object
|
||||
'(FixeTaxe, "ATS", RECHNUNG.Währungscode)
|
||||
'Dim varVonWährung As Object
|
||||
'Dim varNachWährung As Object
|
||||
Dim varKurs As Object
|
||||
|
||||
If varVonWährung Is Nothing Then Return Nothing
|
||||
If varNachWährung Is Nothing Then Return Nothing
|
||||
|
||||
If varVonWährung = varNachWährung Then ' Sind beide Währungen gleich,
|
||||
fktEuro = varBetrag ' ist keine Umrechnung erforderlich
|
||||
Exit Function ' und die Funktion wird beendet
|
||||
End If
|
||||
|
||||
If Not IsNumeric(varVonWährung) Then
|
||||
varVonWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & varVonWährung & "' order by Währungsschlüssel DESC", "FMZOLL")
|
||||
End If
|
||||
If Not IsNumeric(varNachWährung) Then
|
||||
varNachWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & varNachWährung & "' order by Währungsschlüssel DESC", "FMZOLL")
|
||||
End If
|
||||
|
||||
'
|
||||
'Select Case TypeName(fldVonWährung)
|
||||
' Case "Integer"
|
||||
' varVonWährung = fldVonWährung
|
||||
' Case "String", "Textbox", "Field", "Field2"
|
||||
' varVonWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", "[Währungscode] = '" & fldVonWährung & "'", "FMZOLL")
|
||||
' If varVonWährung = "" Then
|
||||
' MsgBox("Währungstabelle![Währung] enthält keinen Eintrag " & fldVonWährung, , "fktEuro")
|
||||
' fktEuro = Nothing
|
||||
' Exit Function
|
||||
' End If
|
||||
' Case Else
|
||||
' MsgBox("Datentyp " & TypeName(fldVonWährung) & " ist für fldVonWährung ungültig.", , "fktEuro")
|
||||
' fktEuro = Nothing
|
||||
' Exit Function
|
||||
'End Select
|
||||
|
||||
'Select Case TypeName(fldNachWährung)
|
||||
' Case "Integer"
|
||||
' varNachWährung = fldNachWährung
|
||||
' Case "String", "Textbox", "Field", "Field2"
|
||||
' varNachWährung = SQL.DLookup("[Währungsschlüssel]", "Währungstabelle", " [Währungscode] = '" & fldNachWährung & "'", "FMZOLL")
|
||||
' If varNachWährung = "" Then
|
||||
' MsgBox("Währungstabelle![Währung] enthält keinen Eintrag " & fldNachWährung, , "fktEuro")
|
||||
' fktEuro = Nothing
|
||||
' Exit Function
|
||||
' End If
|
||||
' Case Else
|
||||
' MsgBox("Datentyp " & TypeName(fldNachWährung) & " ist für fldNachWährung ungültig.", , "fktEuro")
|
||||
' fktEuro = Nothing
|
||||
' Exit Function
|
||||
' End Select
|
||||
|
||||
'If varVonWährung = varNachWährung Then ' Sind beide Währungen gleich,
|
||||
' fktEuro = varBetrag ' ist keine Umrechnung erforderlich
|
||||
' Exit Function ' und die Funktion wird beendet
|
||||
'End If
|
||||
|
||||
If varVonWährung <> 900 Then ' Eingangswährung in Euro umrechnen.
|
||||
varKurs = SQL.DLookup("[Eurokurs]", "Währungstabelle", "[Währungsschlüssel] = " & varVonWährung & " order by Währungsschlüssel DESC", "FMZOLL")
|
||||
If varKurs = "" OrElse varKurs = 0 Then
|
||||
MsgBox("(1) Die Währungstabelle enthält keinen Umrechnungskurs für den Währungsschlüssel " & varVonWährung, , "fktEuro")
|
||||
fktEuro = Nothing
|
||||
Exit Function
|
||||
End If
|
||||
varBetrag = Int(varBetrag / varKurs * 100 + 0.5) / 100
|
||||
End If
|
||||
|
||||
If varNachWährung <> 900 Then ' Euro In Ausgangswährung umrechnen.
|
||||
varKurs = SQL.DLookup("[Eurokurs]", "Währungstabelle", "[Währungsschlüssel] = " & varNachWährung & " order by Währungsschlüssel DESC", "FMZOLL")
|
||||
If varKurs = "" OrElse varKurs = 0 Then
|
||||
MsgBox("(2) Die Währungstabelle enthält keinen Umrechnungskurs für den Währungsschlüssel " & varNachWährung, , "fktEuro")
|
||||
fktEuro = Nothing
|
||||
Exit Function
|
||||
End If
|
||||
varBetrag = Int(varBetrag * varKurs * 100 + 0.5) / 100
|
||||
End If
|
||||
|
||||
fktEuro = varBetrag
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Public Shared Function genExcelFromDT_NEW(dt As DataTable, Optional rangeAsWaehrung() As String = Nothing, Optional ShowAutoFilter As Boolean = True, Optional HeaderTxt As String = "", Optional HeaderTxt2 As String = "", Optional openPDF As Boolean = True) As String
|
||||
Try
|
||||
|
||||
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SDL\tmp\" ' My.Computer.FileSystem.GetTempFileName
|
||||
If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
|
||||
My.Computer.FileSystem.CreateDirectory(sPath)
|
||||
End If
|
||||
|
||||
Dim wb As New XLWorkbook
|
||||
' Dim dt As DataTable = (dgv.DataSource)
|
||||
' Dim dt As DataTable = TryCast(dgv., DataTable)
|
||||
|
||||
wb.Worksheets.Add(dt, "DATEN")
|
||||
wb.Worksheets(0).Tables.FirstOrDefault().ShowAutoFilter = ShowAutoFilter
|
||||
|
||||
If rangeAsWaehrung IsNot Nothing Then
|
||||
For Each r In rangeAsWaehrung
|
||||
Try
|
||||
wb.Worksheets(0).Range(r).Style.NumberFormat.SetFormat("###,###,##0.00 €")
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message & ex.StackTrace)
|
||||
End Try
|
||||
Next
|
||||
End If
|
||||
|
||||
If HeaderTxt <> "" Then
|
||||
wb.Worksheets(0).FirstRow.InsertRowsAbove(2)
|
||||
wb.Worksheets(0).Range("A1").Value = HeaderTxt
|
||||
wb.Worksheets(0).Range("A1").Style.Font.Bold = True
|
||||
If HeaderTxt2 <> "" Then
|
||||
wb.Worksheets(0).Range("A2").Value = HeaderTxt2
|
||||
wb.Worksheets(0).Row(2).InsertRowsBelow(1)
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Dim filename As String = sPath & "tmp_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx"
|
||||
wb.SaveAs(filename)
|
||||
|
||||
If openPDF Then Process.Start(filename)
|
||||
|
||||
Return filename
|
||||
Catch ex As Exception
|
||||
MsgBox(ex.Message & ex.StackTrace)
|
||||
Return Nothing
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Public Shared Function sendMail(eMailTo, betreff, text, Optional eMailfrom = "support@verag.ag", Optional prio = False, Optional uhrzeitAngeben = True, Optional cc = "", Optional bcc = "", Optional anhaenge = Nothing)
|
||||
Dim Msg As New MailMessage
|
||||
Dim myCredentials As New System.Net.NetworkCredential
|
||||
Msg.IsBodyHtml = True
|
||||
Dim mySmtpsvr As New SmtpClient()
|
||||
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
||||
Case "IMEX"
|
||||
myCredentials.UserName = "support@verag.ag"
|
||||
myCredentials.Password = "support"
|
||||
mySmtpsvr.Host = "owa.verag.ag"
|
||||
mySmtpsvr.Port = 587
|
||||
Case "ATILLA"
|
||||
myCredentials.UserName = "support@verag.ag"
|
||||
myCredentials.Password = "support"
|
||||
mySmtpsvr.Host = "owa.verag.ag"
|
||||
mySmtpsvr.Port = 587
|
||||
Case Else
|
||||
myCredentials.UserName = "support@verag.ag"
|
||||
myCredentials.Password = "support"
|
||||
mySmtpsvr.Host = "owa.verag.ag"
|
||||
mySmtpsvr.Port = 587 '25 '587 '25
|
||||
|
||||
End Select
|
||||
mySmtpsvr.UseDefaultCredentials = False
|
||||
mySmtpsvr.Credentials = myCredentials
|
||||
Try
|
||||
'Msg.BodyEncoding = System.Text.Encoding.GetEncoding("UTF-8")
|
||||
Msg.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")
|
||||
Msg.From = New MailAddress(eMailfrom)
|
||||
|
||||
For Each s In eMailTo.ToString.Split(";")
|
||||
If s <> "" Then Msg.To.Add(convertToIso(s).ToString.Trim())
|
||||
Next
|
||||
|
||||
For Each s In cc.ToString.Split(";")
|
||||
If s <> "" Then Msg.CC.Add(convertToIso(s).ToString.Trim())
|
||||
Next
|
||||
|
||||
For Each s In bcc.ToString.Split(";")
|
||||
If s <> "" Then Msg.Bcc.Add(convertToIso(s).ToString.Trim())
|
||||
Next
|
||||
|
||||
Msg.Subject = betreff '"ERROR - DAKOSY Einarbeitung"
|
||||
If uhrzeitAngeben Then
|
||||
Msg.Body &= "Zeitpunkt: " & Now.ToShortDateString & " " & Now.ToShortTimeString & "<br><br>"
|
||||
'Msg.Body &= vbNewLine & vbNewLine
|
||||
End If
|
||||
Msg.Body &= text
|
||||
If prio Then Msg.Priority = MailPriority.High
|
||||
|
||||
|
||||
If anhaenge IsNot Nothing Then
|
||||
For Each a In DirectCast(anhaenge, List(Of String))
|
||||
Msg.Attachments.Add(New System.Net.Mail.Attachment(a))
|
||||
Next
|
||||
End If
|
||||
mySmtpsvr.Send(Msg)
|
||||
|
||||
Catch ex As Exception
|
||||
Try
|
||||
mySmtpsvr.Port = 25
|
||||
mySmtpsvr.Send(Msg)
|
||||
|
||||
Catch ex2 As Exception
|
||||
Try
|
||||
mySmtpsvr.Host = "192.168.0.107"
|
||||
mySmtpsvr.Port = 25
|
||||
mySmtpsvr.Send(Msg)
|
||||
|
||||
Catch ex3 As Exception
|
||||
MsgBox(ex3.Message & ex3.StackTrace)
|
||||
Return False
|
||||
End Try
|
||||
End Try
|
||||
|
||||
|
||||
End Try
|
||||
Return True
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Shared Function getISO2Land(LandKz As String)
|
||||
If LandKz Is Nothing Then Return Nothing
|
||||
Dim sqlstr = "SELECT TOP 1 isnull([Länderverzeichnis für die Außenhandelsstatistik].LandKz,'') AS LandKzISO2 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel WHERE Währungstabelle.LandKz='" & LandKz & "' "
|
||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
Return SQL.getValueTxtBySql(sqlstr, "FMZOLL")
|
||||
End Function
|
||||
|
||||
|
||||
Shared Function getISO1Land(LandKz As String)
|
||||
Dim sqlstr = "SELECT TOP 1 isnull(Währungstabelle.LandKz,'') AS LandKzISO1 FROM [Länderverzeichnis für die Außenhandelsstatistik] LEFT JOIN Währungstabelle ON [Länderverzeichnis für die Außenhandelsstatistik].LandNr = Währungstabelle.Währungsschlüssel WHERE [Länderverzeichnis für die Außenhandelsstatistik].LandKz='" & LandKz & "' "
|
||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
Return SQL.getValueTxtBySql(sqlstr, "FMZOLL")
|
||||
End Function
|
||||
Shared Function convertToIso(s) As String
|
||||
Return s
|
||||
|
||||
Dim converted As Byte() = Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("iso-8859-1"), s) 'Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding("iso-8859-1"), s)
|
||||
Return converted.ToString
|
||||
End Function
|
||||
|
||||
|
||||
Public Shared Sub sendMailTEST(eMailTo, betreff, text, Optional eMailfrom = "support@verag.ag", Optional prio = False, Optional uhrzeitAngeben = True)
|
||||
Dim Msg As New MailMessage
|
||||
Dim myCredentials As New System.Net.NetworkCredential
|
||||
myCredentials.UserName = "support@verag.ag"
|
||||
myCredentials.Password = "support"
|
||||
Msg.IsBodyHtml = True
|
||||
Dim mySmtpsvr As New SmtpClient()
|
||||
mySmtpsvr.Host = "owa.verag.ag"
|
||||
mySmtpsvr.Port = 25 '587 '25
|
||||
mySmtpsvr.UseDefaultCredentials = False
|
||||
mySmtpsvr.Credentials = myCredentials
|
||||
Try
|
||||
Msg.From = New MailAddress(eMailfrom)
|
||||
Msg.To.Add(eMailTo)
|
||||
Msg.BodyEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1")
|
||||
|
||||
Msg.Subject = betreff '"ERROR - DAKOSY Einarbeitung"
|
||||
If uhrzeitAngeben Then
|
||||
Msg.Body = "Zeitpunkt: " & Now.ToShortDateString & " " & Now.ToShortTimeString & "<br><br>"
|
||||
'Msg.Body &= vbNewLine & vbNewLine
|
||||
End If
|
||||
Msg.Body &= text
|
||||
If prio Then Msg.Priority = MailPriority.High
|
||||
|
||||
mySmtpsvr.Send(Msg)
|
||||
Catch ex As Exception
|
||||
Try
|
||||
mySmtpsvr.Host = "192.168.0.107"
|
||||
mySmtpsvr.Send(Msg)
|
||||
|
||||
Catch ex2 As Exception
|
||||
MsgBox(ex.Message & ex.StackTrace)
|
||||
End Try
|
||||
|
||||
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
Public Class SDL_Functions
|
||||
Shared Function SDL_GueltigBis_UTA_IDS()
|
||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
Return SQL.doSQL("UPDATE SDL SET Archiviert=1 where SDLNr IN(212,100) AND (Archiviert is null OR Archiviert = 0) AND [GültigBis] is not null AND [GültigBis] < dateadd(month,-2,CAST(SUBSTRING(CAST((DATEADD(d,-DAY(GETDATE()),GETDATE()) + 1) AS BINARY(8)),1,4) + 0x00000000 AS DATETIME))", "SDL")
|
||||
End Function
|
||||
End Class
|
||||
Reference in New Issue
Block a user