161 lines
5.6 KiB
VB.net
161 lines
5.6 KiB
VB.net
Imports System.IO
|
||
Imports DocumentFormat.OpenXml.Drawing.Charts
|
||
Imports VERAG_PROG_ALLGEMEIN
|
||
|
||
Public Class frmImportFromAVISOAnhaenge
|
||
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
|
||
Dim AvisoId As Integer = -1
|
||
Dim SendungID As Integer = -1
|
||
|
||
|
||
Public LIST_FILES As New List(Of String)
|
||
|
||
Sub New(avisoId, sendungId)
|
||
|
||
' Dieser Aufruf ist für den Designer erforderlich.
|
||
InitializeComponent()
|
||
|
||
Me.AvisoId = avisoId
|
||
Me.SendungID = sendungId
|
||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||
|
||
End Sub
|
||
|
||
Sub New(aviso As VERAG_PROG_ALLGEMEIN.cAviso, sendung As cSendungen)
|
||
|
||
' Dieser Aufruf ist für den Designer erforderlich.
|
||
InitializeComponent()
|
||
|
||
If aviso IsNot Nothing Then
|
||
Me.AvisoId = aviso.AvisoID
|
||
End If
|
||
|
||
If sendung IsNot Nothing Then
|
||
Me.SendungID = sendung.tblSnd_SendungID
|
||
End If
|
||
|
||
Me.SendungID = SendungID
|
||
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
||
|
||
End Sub
|
||
|
||
Private Sub frmImportFromAVISOAnhaenge_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||
initAnhang()
|
||
End Sub
|
||
|
||
Sub initAnhang()
|
||
|
||
If AvisoId <= 0 Then Exit Sub
|
||
If SendungID <= 0 Then Exit Sub
|
||
|
||
Dim hSQL As String = " SELECT [anh_id],[anh_Name],anh_Datum,[anh_docId],CASE WHEN (anh_SendungsId is null OR anh_SendungsId <=0) AND isnull(aa_name,'')='' THEN '***' ELSE [aa_name] END as [anh_Art],[anh_Typ]
|
||
FROM [tblAvisoAnhaenge]
|
||
left join tblAvisoAnhangsArten on aa_bezeichnung = anh_Art
|
||
WHERE anh_AvisoId=" & AvisoId & " AND (anh_SendungsId is null OR anh_SendungsId <=0 OR anh_SendungsId=" & SendungID & ")
|
||
ORDER BY anh_SendungsId desc, case when aa_sort = NULL THEN 15 else aa_sort END, [anh_Reihenfolge],[anh_id]"
|
||
|
||
dgvAnhang.DataSource = SQL.loadDgvBySql(hSQL, "AVISO")
|
||
|
||
If dgvAnhang.RowCount = 0 Then dgvAnhang.Columns.Clear() : Exit Sub
|
||
|
||
With dgvAnhang
|
||
.RowTemplate.Height = 35
|
||
'.RowTemplate.MinimumHeight = 30
|
||
.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
|
||
.Columns("anh_id").Visible = False 'VermerkID nicht anzeigen
|
||
.Columns("anh_docId").Visible = False 'AvisoID nicht anzeigen
|
||
|
||
.Columns("anh_Name").MinimumWidth = 150
|
||
.Columns("anh_Name").HeaderText = "Name"
|
||
.Columns("anh_Name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
||
|
||
.Columns("anh_Datum").Width = 120
|
||
.Columns("anh_Datum").HeaderText = "Datum"
|
||
|
||
.Columns("anh_Art").MinimumWidth = 100
|
||
.Columns("anh_Art").HeaderText = "Art"
|
||
.Columns("anh_Art").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
||
|
||
.Columns("anh_Typ").Width = 150
|
||
.Columns("anh_Typ").HeaderText = "Typ"
|
||
.Columns("anh_Typ").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
|
||
|
||
|
||
|
||
.ClearSelection()
|
||
|
||
End With
|
||
|
||
End Sub
|
||
|
||
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
||
If dgvAnhang.SelectedRows.Count = 0 Then Exit Sub
|
||
LIST_FILES.Clear()
|
||
|
||
For Each r In dgvAnhang.SelectedRows
|
||
Dim docId As Integer = CInt(r.cells("anh_docId").value)
|
||
If docId > 0 Then
|
||
Dim tempFile As String = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(docId)
|
||
If tempFile <> "" Then
|
||
LIST_FILES.Add(tempFile)
|
||
End If
|
||
End If
|
||
Next
|
||
If LIST_FILES.Count > 0 Then
|
||
Me.DialogResult = DialogResult.OK
|
||
Me.Close()
|
||
Else
|
||
Me.DialogResult = DialogResult.None
|
||
End If
|
||
End Sub
|
||
|
||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||
Dim fd As New OpenFileDialog With {
|
||
.Filter = "Excel Dateien|*.xls;*.xlsx",
|
||
.Multiselect = True,
|
||
.Title = "Bitte eine oder mehrere Excel-Dateien auswählen"
|
||
}
|
||
|
||
Dim result As DialogResult = fd.ShowDialog()
|
||
|
||
If result <> DialogResult.OK Then
|
||
Me.Cursor = Cursors.Default
|
||
MsgBox("Keine Datei ausgewählt!")
|
||
Me.DialogResult = DialogResult.None
|
||
Exit Sub
|
||
Else
|
||
|
||
For Each filePath As String In fd.FileNames
|
||
If Not filePath.ToLower.EndsWith(".xls") AndAlso Not filePath.ToLower.EndsWith(".xlsx") Then
|
||
' Ungültige Datei – überspringen oder abbrechen
|
||
Continue For
|
||
End If
|
||
LIST_FILES.Add(filePath)
|
||
Next
|
||
If LIST_FILES.Count > 0 Then
|
||
Me.DialogResult = DialogResult.OK
|
||
Me.Close()
|
||
Else
|
||
Me.DialogResult = DialogResult.None
|
||
End If
|
||
End If
|
||
|
||
End Sub
|
||
|
||
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
|
||
Dim data As IDataObject = Clipboard.GetDataObject
|
||
For Each s As String In My.Computer.Clipboard.GetFileDropList() 'GetData(DataFormats.) 'data.GetData(DataFormats.FileDrop) 'DataFormats.FileDrop)
|
||
If System.IO.File.Exists(s) Then
|
||
LIST_FILES.Add(s)
|
||
End If
|
||
Next
|
||
If LIST_FILES.Count > 0 Then
|
||
Me.DialogResult = DialogResult.OK
|
||
Me.Close()
|
||
Else
|
||
Me.DialogResult = DialogResult.None
|
||
End If
|
||
End Sub
|
||
End Class |