diff --git a/SDL/kunden/frmKundenKontakteDetails.vb b/SDL/kunden/frmKundenKontakteDetails.vb index 710a1bd5..8b316341 100644 --- a/SDL/kunden/frmKundenKontakteDetails.vb +++ b/SDL/kunden/frmKundenKontakteDetails.vb @@ -68,24 +68,14 @@ txtPLZ.Text = If(KD_KONTAKT.kkd_PLZ, "") txtKorrAdd.Text = If(KD_KONTAKT.kkd_Firmenname, "") - If VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(lblEmail.Text) Then - lblEmail.ForeColor = Color.Black - Else - lblEmail.ForeColor = Color.Red - End If + Dim mailfalse = VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(lblEmail.Text) + If mailfalse <> "" Then lblEmail.ForeColor = Color.Red - If VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(lblEmailCC.Text) Then - lblEmailCC.ForeColor = Color.Black - Else - lblEmailCC.ForeColor = Color.Red - End If - - If VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(lblEmailBCC.Text) Then - lblEmailBCC.ForeColor = Color.Black - Else - lblEmailBCC.ForeColor = Color.Red - End If + Dim mailfalsecc = VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(lblEmailCC.Text) + If mailfalsecc <> "" Then lblEmail.ForeColor = Color.Red + Dim mailfalsebcc = VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(lblEmailBCC.Text) + If mailfalsebcc <> "" Then lblEmail.ForeColor = Color.Red txtGebDatum.Text = IIf(Not IsDBNull(KD_KONTAKT.kkd_GebDatum) AndAlso IsDate(KD_KONTAKT.kkd_GebDatum), CDate(KD_KONTAKT.kkd_GebDatum), "") txtPassgueltigbis.Text = IIf(Not IsDBNull(KD_KONTAKT.kkd_Passgueltigbis) AndAlso IsDate(KD_KONTAKT.kkd_Passgueltigbis), CDate(KD_KONTAKT.kkd_Passgueltigbis), "") @@ -133,25 +123,33 @@ Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click getvalue() - If Not VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(KD_KONTAKT.kkd_Email) Then + + + Dim mailfalse = VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(KD_KONTAKT.kkd_Email) + If mailfalse <> "" Then lblEmail.ForeColor = Color.Red + MsgBox("Mailadresse: " & mailfalse & " fehlerhaft!") lblEmail.Focus() Exit Sub + Else lblEmail.ForeColor = Color.Black - End If - If Not VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(KD_KONTAKT.kkd_EmailCC) Then + Dim mailfalsecc = VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(KD_KONTAKT.kkd_EmailCC) + If mailfalsecc <> "" Then lblEmailCC.ForeColor = Color.Red + MsgBox("Mailadresse: " & mailfalsecc & " fehlerhaft!") lblEmailCC.Focus() Exit Sub Else lblEmailCC.ForeColor = Color.Black End If - If Not VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(KD_KONTAKT.kkd_EmailBCC) Then + Dim mailfalsebcc = VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(KD_KONTAKT.kkd_EmailBCC) + If mailfalsebcc <> "" Then lblEmailBCC.ForeColor = Color.Red + MsgBox("Mailadresse: " & mailfalsebcc & " fehlerhaft!") lblEmailBCC.Focus() Exit Sub Else diff --git a/SDL/kunden/usrCntlKundenKontakte.vb b/SDL/kunden/usrCntlKundenKontakte.vb index 7671954c..8c7f331d 100644 --- a/SDL/kunden/usrCntlKundenKontakte.vb +++ b/SDL/kunden/usrCntlKundenKontakte.vb @@ -38,14 +38,14 @@ dgvAufschub.Rows.Clear() If dgvAufschub.Columns.Count >= 5 Then If kdNr > 0 Then - Dim dt = SQL.loadDgvBySql("SELECT * FROM [tblKundenKontakt] where [kkd_KundenNr]=" & kdNr, "FMZOLL") + Dim dt = SQL.loadDgvBySql("SELECT [kkd_id],[kkd_KundenNr],[kkd_kkaBez],[kkd_Tel],isnull([kkd_Email],'') as kkd_Email ,isnull([kkd_EmailCC], '') as kkd_EmailCC ,isnull([kkd_EmailBCC], '') as kkd_EmailBCC ,[kkd_Fax],[kkd_AnsprechpartnerAnrede],[kkd_AnsprechpartnerVorname],[kkd_AnsprechpartnerNachname] FROM [tblKundenKontakt] where [kkd_KundenNr]=" & kdNr, "FMZOLL") If dt IsNot Nothing Then For Each r In dt.Rows Dim anspr = (If(r("kkd_AnsprechpartnerAnrede"), "") & " " & If(r("kkd_AnsprechpartnerVorname"), "") & " " & If(r("kkd_AnsprechpartnerNachname"), "")).Trim Dim rowIndex As Integer = dgvAufschub.Rows.Add(r("kkd_id"), r("kkd_kkaBez"), r("kkd_Tel"), r("kkd_Email"), anspr, r("kkd_Fax")) - If Not VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(r("kkd_email")) Or Not VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(r("kkd_emailcc")) Or Not VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(r("kkd_emailbcc")) Then + If VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(r("kkd_email")) <> "" Or VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(r("kkd_emailcc")) <> "" Or VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(r("kkd_emailbcc")) <> "" Then Dim dgvRow As DataGridViewRow = dgvAufschub.Rows(rowIndex) dgvRow.DefaultCellStyle.BackColor = Color.IndianRed End If diff --git a/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb b/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb index 395e39b9..2644b523 100644 --- a/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb +++ b/VERAG_PROG_ALLGEMEIN/cProgramFunktions.vb @@ -900,25 +900,44 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object( End Function - Shared Function checkifMailisOK(email As String) As Boolean + Shared Function checkifMailisOK(emailList As String) As String - If String.IsNullOrWhiteSpace(email) Then - Return True + Dim invalid As New List(Of String) - Else + If String.IsNullOrWhiteSpace(emailList) Then Return "" + + Dim emails = emailList.Split(";"c, ","c) + + For Each email In emails + Dim e = email.Trim() + If e = "" Then Continue For Try - Dim addr As New System.Net.Mail.MailAddress(email) - ' zusätzlicher Check: Domain muss einen Punkt enthalten - Dim domain As String = addr.Host - If Not domain.Contains(".") Then Return False - Return True + Dim addr As New System.Net.Mail.MailAddress(e) + If Not addr.Host.Contains(".") Then + invalid.Add(e) + End If Catch - Return False + invalid.Add(e) End Try + Next + + If invalid.Count = 0 Then + Return "" + Else + Dim StringLIst As String = "" + For i = 1 To invalid.Count + StringLIst = StringLIst & invalid(i - 1) + Next i + + Return StringLIst End If + + + + End Function Public Function MakeScreenshot()