Files
SDL/VERAG_PROG_ALLGEMEIN/AuditFlow/frmFirmenuebersicht.vb

222 lines
8.4 KiB
VB.net

Imports System.Data.SqlClient
Imports System.Drawing
Imports System.IO
Imports System.Windows.Forms
Public Class frmFirmenuebersicht
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Private Sub frminterneEmailBenachrichtigungen_Load(sender As Object, e As EventArgs) Handles Me.Load
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
loadDGVMailbenachrichtigungen()
End Sub
Sub loadDGVMailbenachrichtigungen()
Try
Me.Cursor = Cursors.WaitCursor
Dim sqlstr As String = ""
sqlstr &= " Select [Firma_ID] ,[Firma_Bez],[Firma_Straße],[Firma_PLZ],[Firma_Ort],[Firma_LandKz] as Land,[Firma_Telefon],[Firma_Telefax],Replace([Firma_UID],'UID: ', '') as Firma_UID ,Replace([Firma_EORI],'EORI: ', '') as Firma_EORI,
[Firma_Bankverbindung1],Replace([Firma_IBAN1],'IBAN: ', '') as Firma_IBAN1, Replace([Firma_BIC1],'BIC: ', '') as Firma_BIC1,[Firma_Bankverbindung2],[Firma_IBAN2],[Firma_BIC2],[Firma_E-Mail],
[Firma_Webadresse],[Firmengruppe],[Firma_Warenort],[Firma_E_Mail_Mahnungen],[Firma_Steuernummer] ,Replace([Firma_Firmenbuch],'Firmenbuch: ', '') as Firma_Firmenbuch,[Firma_Logo],[Firma_Logo_Erweitert] from tblFirma "
With dgvFirmen
.SET_SQL(sqlstr, "FMZOLL")
.LOAD()
showDGVPruefungsobjekte()
End With
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, "")
End Try
Me.Cursor = Cursors.Default
End Sub
Sub showDGVPruefungsobjekte()
With dgvFirmen
If .ColumnCount = 0 Then Me.Cursor = Cursors.Default : Exit Sub
.RowHeadersVisible = False
.ReadOnly = True
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
.Columns("Firma_Logo").Visible = False
.Columns("Firma_Logo_Erweitert").Visible = False
.Columns("Firma_Bankverbindung1").Visible = False
.Columns("Firma_IBAN1").Visible = False
.Columns("Firma_BIC1").Visible = False
.Columns("Firma_Bankverbindung2").Visible = False
.Columns("Firma_BIC2").Visible = False
.Columns("Firma_IBAN2").Visible = False
.Columns("Firma_E-Mail").Visible = False
.Columns("Firma_E_Mail_Mahnungen").Visible = False
.Columns("Firma_ID").Width = 30
.Columns("Firma_Warenort").Width = 60
.Columns("Firma_PLZ").Width = 60
.Columns("Land").Width = 40
.Columns("Firma_Bez").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
For Each col As DataGridViewColumn In dgvFirmen.Columns
col.HeaderText = col.HeaderText.Replace("Firma_", "")
Next
End With
End Sub
Private Sub dgvFirmen_SelectionChanged(sender As Object, e As EventArgs) Handles dgvFirmen.SelectionChanged
If dgvFirmen.SelectedRows.Count = 1 Then
pbLogo.SizeMode = PictureBoxSizeMode.Zoom
pbLogoMail.SizeMode = PictureBoxSizeMode.Zoom
pbLogo.Image = BytesToImage(dgvFirmen.SelectedRows(0).Cells("Firma_Logo").Value)
pbLogoMail.Image = BytesToImage(dgvFirmen.SelectedRows(0).Cells("Firma_Logo_Erweitert").Value)
lblFirma.Text = dgvFirmen.SelectedRows(0).Cells("Firma_Bez").Value
lblBank1.Text = If(IsDBNull(dgvFirmen.SelectedRows(0).Cells("Firma_Bankverbindung1").Value) OrElse dgvFirmen.SelectedRows(0).Cells("Firma_Bankverbindung1").Value Is Nothing, "", dgvFirmen.SelectedRows(0).Cells("Firma_Bankverbindung1").Value.ToString())
lblIban1.Text = If(IsDBNull(dgvFirmen.SelectedRows(0).Cells("Firma_IBAN1").Value) OrElse dgvFirmen.SelectedRows(0).Cells("Firma_IBAN1").Value Is Nothing, "", dgvFirmen.SelectedRows(0).Cells("Firma_IBAN1").Value.ToString())
lblBic1.Text = If(IsDBNull(dgvFirmen.SelectedRows(0).Cells("Firma_BIC1").Value) OrElse dgvFirmen.SelectedRows(0).Cells("Firma_BIC1").Value Is Nothing, "", dgvFirmen.SelectedRows(0).Cells("Firma_BIC1").Value.ToString())
lblBank2.Text = If(IsDBNull(dgvFirmen.SelectedRows(0).Cells("Firma_Bankverbindung2").Value) OrElse dgvFirmen.SelectedRows(0).Cells("Firma_Bankverbindung2").Value Is Nothing, "", dgvFirmen.SelectedRows(0).Cells("Firma_Bankverbindung2").Value.ToString())
lblIban2.Text = If(IsDBNull(dgvFirmen.SelectedRows(0).Cells("Firma_IBAN2").Value) OrElse dgvFirmen.SelectedRows(0).Cells("Firma_IBAN2").Value Is Nothing, "", dgvFirmen.SelectedRows(0).Cells("Firma_IBAN2").Value.ToString())
lblBic2.Text = If(IsDBNull(dgvFirmen.SelectedRows(0).Cells("Firma_BIC2").Value) OrElse dgvFirmen.SelectedRows(0).Cells("Firma_BIC2").Value Is Nothing, "", dgvFirmen.SelectedRows(0).Cells("Firma_BIC2").Value.ToString())
lblMail1.Text = If(IsDBNull(dgvFirmen.SelectedRows(0).Cells("Firma_E-Mail").Value) OrElse dgvFirmen.SelectedRows(0).Cells("Firma_E-Mail").Value Is Nothing, "-", dgvFirmen.SelectedRows(0).Cells("Firma_E-Mail").Value.ToString())
lblMail2.Text = If(IsDBNull(dgvFirmen.SelectedRows(0).Cells("Firma_E_Mail_Mahnungen").Value) OrElse dgvFirmen.SelectedRows(0).Cells("Firma_E_Mail_Mahnungen").Value Is Nothing, "-", dgvFirmen.SelectedRows(0).Cells("Firma_E_Mail_Mahnungen").Value.ToString()) & " (Mahnungen)"
End If
End Sub
Private Function BytesToImage(value As Object) As Image
If value Is Nothing OrElse IsDBNull(value) Then
Return Nothing
End If
Dim bytes As Byte() = TryCast(value, Byte())
If bytes Is Nothing OrElse bytes.Length = 0 Then
Return Nothing
End If
Try
Using ms As New MemoryStream(bytes)
Using img As Image = Image.FromStream(ms, True, True)
Return New Bitmap(img)
End Using
End Using
Catch ex As ArgumentException
'MessageBox.Show("Die gespeicherten Daten sind kein gültiges Bild." &
' vbCrLf &
' "Bytes: " & bytes.Length)
Return Nothing
End Try
End Function
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click, PictureBox2.Click
If dgvFirmen.SelectedRows.Count <> 1 Then Exit Sub
Dim Firma As New cFirmen(CInt(dgvFirmen.SelectedRows(0).Cells("Firma_ID").Value))
Dim bild As Byte() = BildDateiLaden()
If bild Is Nothing Then Exit Sub
Dim spalte As String = ""
Dim vorhandenesBild As Byte() = Nothing
Select Case DirectCast(sender, PictureBox).Name
Case "PictureBox1"
spalte = "Firma_Logo"
vorhandenesBild = Firma.Firma_Logo
Case "PictureBox2"
spalte = "Firma_Logo_Erweitert"
vorhandenesBild = Firma.Firma_Logo_Erweitert
End Select
If vorhandenesBild IsNot Nothing AndAlso vorhandenesBild.Length > 0 Then
Dim antwort = MessageBox.Show(
"Es ist bereits ein Logo vorhanden." & vbCrLf & "Möchten Sie dieses überschreiben?", "Logo überschreiben", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If antwort = DialogResult.No Then
Exit Sub
End If
End If
Using con As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand(
$"UPDATE tblFirma SET {spalte}=@Bild WHERE Firma_ID=@Firma_ID", con)
cmd.Parameters.Add("@Bild", SqlDbType.VarBinary, -1).Value = bild
cmd.Parameters.Add("@Firma_ID", SqlDbType.Int).Value = Firma.Firma_ID
cmd.ExecuteNonQuery()
End Using
End Using
MessageBox.Show("Logo wurde gespeichert.", "Erfolgreich", MessageBoxButtons.OK, MessageBoxIcon.Information)
loadDGVMailbenachrichtigungen()
End Sub
Public Function BildDateiLaden() As Byte()
Using ofd As New OpenFileDialog()
ofd.Title = "Bild auswählen"
ofd.Filter = "Bilddateien|*.jpg;*.jpeg;*.png;*.bmp;*.gif;*.webp|Alle Dateien|*.*"
ofd.Multiselect = False
If ofd.ShowDialog() = DialogResult.OK Then
Return File.ReadAllBytes(ofd.FileName)
End If
End Using
Return Nothing
End Function
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
End Sub
End Class