Reload after export, Show and filter by Document Kind, Fix crash when reloading settings, change filename pattern for export files

This commit is contained in:
Jonathan Jenne 2022-01-28 16:17:15 +01:00
parent f224c73a2e
commit 9b3436686f
8 changed files with 111 additions and 114 deletions

View File

@ -10,9 +10,7 @@ Public Class frmConfig
Private ReadOnly FormHelper As FormHelper
Private BindingSource As BindingSource = TBEDIXMLITEMSBindingSource
Private TableAdapter = TBEDI_XML_TEMPLATE_ITEMSTableAdapter
Private View As GridView = GridViewSchema
Private AddingNew As Boolean = False
Private ReadOnly Property Config As MultiTool.Shared.Config
Get

View File

@ -43,6 +43,7 @@ Partial Class frmExportMain
Me.RepositoryItemImageComboBox1 = New DevExpress.XtraEditors.Repository.RepositoryItemImageComboBox()
Me.BooleanImages = New DevExpress.Utils.SvgImageCollection(Me.components)
Me.colNumber = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colDocumentKind = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colAccount = New DevExpress.XtraGrid.Columns.GridColumn()
Me.GridColumn7 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colDate = New DevExpress.XtraGrid.Columns.GridColumn()
@ -63,27 +64,24 @@ Partial Class frmExportMain
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.GridColumn1 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.GridColumn2 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.lookupDocumentKind = New DevExpress.XtraEditors.GridLookUpEdit()
Me.GridView2 = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.GridColumn3 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.GridColumn4 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.chkShowExported = New DevExpress.XtraEditors.CheckEdit()
Me.txtDocumentFrom = New DevExpress.XtraEditors.TextEdit()
Me.txtDocumentTo = New DevExpress.XtraEditors.TextEdit()
Me.dateDocDateTo = New DevExpress.XtraEditors.DateEdit()
Me.comboDocumentType = New DevExpress.XtraEditors.GridLookUpEdit()
Me.GridView3 = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.comboDocumentKind = New DevExpress.XtraEditors.CheckedComboBoxEdit()
Me.Root = New DevExpress.XtraLayout.LayoutControlGroup()
Me.LayoutControlItem1 = New DevExpress.XtraLayout.LayoutControlItem()
Me.EmptySpaceItem1 = New DevExpress.XtraLayout.EmptySpaceItem()
Me.LayoutControlItem3 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem2 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem4 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem5 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem6 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem7 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem8 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem9 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LayoutControlItem10 = New DevExpress.XtraLayout.LayoutControlItem()
Me.LabelControl2 = New DevExpress.XtraEditors.LabelControl()
Me.colName2 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colId2 = New DevExpress.XtraGrid.Columns.GridColumn()
@ -109,8 +107,6 @@ Partial Class frmExportMain
CType(Me.dateDocDateFrom.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.lookupAccount.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.lookupDocumentKind.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.chkShowExported.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtDocumentFrom.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.txtDocumentTo.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
@ -118,17 +114,18 @@ Partial Class frmExportMain
CType(Me.dateDocDateTo.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.comboDocumentType.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.GridView3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.comboDocumentKind.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.Root, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem4, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem5, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem6, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem7, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem8, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem9, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.LayoutControlItem10, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'RibbonControl1
@ -248,7 +245,7 @@ Partial Class frmExportMain
'
'GridViewDocuments
'
Me.GridViewDocuments.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colImported, Me.colNumber, Me.colAccount, Me.GridColumn7, Me.colDate, Me.GridColumn5, Me.GridColumn6, Me.GridColumn8, Me.GridColumn9, Me.GridColumn10})
Me.GridViewDocuments.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.colImported, Me.colNumber, Me.colDocumentKind, Me.colAccount, Me.GridColumn7, Me.colDate, Me.GridColumn5, Me.GridColumn6, Me.GridColumn8, Me.GridColumn9, Me.GridColumn10})
Me.GridViewDocuments.GridControl = Me.GridControlDocuments
Me.GridViewDocuments.Name = "GridViewDocuments"
Me.GridViewDocuments.OptionsSelection.CheckBoxSelectorField = "IsSelected"
@ -297,13 +294,21 @@ Partial Class frmExportMain
Me.colNumber.VisibleIndex = 2
Me.colNumber.Width = 138
'
'colDocumentKind
'
Me.colDocumentKind.Caption = "Belegart"
Me.colDocumentKind.FieldName = "DOCUMENT_KIND"
Me.colDocumentKind.Name = "colDocumentKind"
Me.colDocumentKind.Visible = True
Me.colDocumentKind.VisibleIndex = 3
'
'colAccount
'
Me.colAccount.Caption = "Konto"
Me.colAccount.FieldName = "AccountName"
Me.colAccount.Name = "colAccount"
Me.colAccount.Visible = True
Me.colAccount.VisibleIndex = 3
Me.colAccount.VisibleIndex = 4
Me.colAccount.Width = 138
'
'GridColumn7
@ -312,7 +317,7 @@ Partial Class frmExportMain
Me.GridColumn7.FieldName = "RunningNumber"
Me.GridColumn7.Name = "GridColumn7"
Me.GridColumn7.Visible = True
Me.GridColumn7.VisibleIndex = 4
Me.GridColumn7.VisibleIndex = 5
Me.GridColumn7.Width = 94
'
'colDate
@ -321,7 +326,7 @@ Partial Class frmExportMain
Me.colDate.FieldName = "Date"
Me.colDate.Name = "colDate"
Me.colDate.Visible = True
Me.colDate.VisibleIndex = 5
Me.colDate.VisibleIndex = 6
Me.colDate.Width = 138
'
'GridColumn5
@ -330,7 +335,7 @@ Partial Class frmExportMain
Me.GridColumn5.FieldName = "NetAmount"
Me.GridColumn5.Name = "GridColumn5"
Me.GridColumn5.Visible = True
Me.GridColumn5.VisibleIndex = 6
Me.GridColumn5.VisibleIndex = 7
Me.GridColumn5.Width = 94
'
'GridColumn6
@ -339,7 +344,7 @@ Partial Class frmExportMain
Me.GridColumn6.FieldName = "GrossAmount"
Me.GridColumn6.Name = "GridColumn6"
Me.GridColumn6.Visible = True
Me.GridColumn6.VisibleIndex = 7
Me.GridColumn6.VisibleIndex = 8
Me.GridColumn6.Width = 118
'
'GridColumn8
@ -350,7 +355,7 @@ Partial Class frmExportMain
Me.GridColumn8.Name = "GridColumn8"
Me.GridColumn8.UnboundDataType = GetType(Date)
Me.GridColumn8.Visible = True
Me.GridColumn8.VisibleIndex = 9
Me.GridColumn8.VisibleIndex = 10
'
'RepositoryItemDateEdit1
'
@ -366,7 +371,7 @@ Partial Class frmExportMain
Me.GridColumn9.FieldName = "ExportedWho"
Me.GridColumn9.Name = "GridColumn9"
Me.GridColumn9.Visible = True
Me.GridColumn9.VisibleIndex = 8
Me.GridColumn9.VisibleIndex = 9
'
'GridColumn10
'
@ -374,7 +379,7 @@ Partial Class frmExportMain
Me.GridColumn10.FieldName = "FilenameExport"
Me.GridColumn10.Name = "GridColumn10"
Me.GridColumn10.Visible = True
Me.GridColumn10.VisibleIndex = 10
Me.GridColumn10.VisibleIndex = 11
'
'SplitContainerControl1
'
@ -401,12 +406,12 @@ Partial Class frmExportMain
Me.LayoutControl1.Controls.Add(Me.lookupMandator)
Me.LayoutControl1.Controls.Add(Me.dateDocDateFrom)
Me.LayoutControl1.Controls.Add(Me.lookupAccount)
Me.LayoutControl1.Controls.Add(Me.lookupDocumentKind)
Me.LayoutControl1.Controls.Add(Me.chkShowExported)
Me.LayoutControl1.Controls.Add(Me.txtDocumentFrom)
Me.LayoutControl1.Controls.Add(Me.txtDocumentTo)
Me.LayoutControl1.Controls.Add(Me.dateDocDateTo)
Me.LayoutControl1.Controls.Add(Me.comboDocumentType)
Me.LayoutControl1.Controls.Add(Me.comboDocumentKind)
Me.LayoutControl1.Dock = System.Windows.Forms.DockStyle.Fill
Me.LayoutControl1.Location = New System.Drawing.Point(0, 0)
Me.LayoutControl1.Name = "LayoutControl1"
@ -503,43 +508,6 @@ Partial Class frmExportMain
Me.GridColumn2.Visible = True
Me.GridColumn2.VisibleIndex = 1
'
'lookupDocumentKind
'
Me.lookupDocumentKind.Location = New System.Drawing.Point(104, 45)
Me.lookupDocumentKind.MenuManager = Me.RibbonControl1
Me.lookupDocumentKind.Name = "lookupDocumentKind"
Me.lookupDocumentKind.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo), New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Clear)})
Me.lookupDocumentKind.Properties.NullText = ""
Me.lookupDocumentKind.Properties.PopupSizeable = False
Me.lookupDocumentKind.Properties.PopupView = Me.GridView2
Me.lookupDocumentKind.Size = New System.Drawing.Size(179, 20)
Me.lookupDocumentKind.StyleController = Me.LayoutControl1
Me.lookupDocumentKind.TabIndex = 8
'
'GridView2
'
Me.GridView2.Columns.AddRange(New DevExpress.XtraGrid.Columns.GridColumn() {Me.GridColumn3, Me.GridColumn4})
Me.GridView2.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus
Me.GridView2.Name = "GridView2"
Me.GridView2.OptionsSelection.EnableAppearanceFocusedCell = False
Me.GridView2.OptionsView.ShowGroupPanel = False
'
'GridColumn3
'
Me.GridColumn3.Caption = "Name"
Me.GridColumn3.FieldName = "Name"
Me.GridColumn3.Name = "GridColumn3"
Me.GridColumn3.Visible = True
Me.GridColumn3.VisibleIndex = 0
'
'GridColumn4
'
Me.GridColumn4.Caption = "Nummer"
Me.GridColumn4.FieldName = "Id"
Me.GridColumn4.Name = "GridColumn4"
Me.GridColumn4.Visible = True
Me.GridColumn4.VisibleIndex = 1
'
'chkShowExported
'
Me.chkShowExported.Location = New System.Drawing.Point(12, 252)
@ -600,11 +568,22 @@ Partial Class frmExportMain
Me.GridView3.OptionsSelection.EnableAppearanceFocusedCell = False
Me.GridView3.OptionsView.ShowGroupPanel = False
'
'comboDocumentKind
'
Me.comboDocumentKind.Location = New System.Drawing.Point(104, 45)
Me.comboDocumentKind.MenuManager = Me.RibbonControl1
Me.comboDocumentKind.Name = "comboDocumentKind"
Me.comboDocumentKind.Properties.AllowMultiSelect = True
Me.comboDocumentKind.Properties.Buttons.AddRange(New DevExpress.XtraEditors.Controls.EditorButton() {New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo), New DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Clear)})
Me.comboDocumentKind.Size = New System.Drawing.Size(179, 20)
Me.comboDocumentKind.StyleController = Me.LayoutControl1
Me.comboDocumentKind.TabIndex = 14
'
'Root
'
Me.Root.EnableIndentsWithoutBorders = DevExpress.Utils.DefaultBoolean.[True]
Me.Root.GroupBordersVisible = False
Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.EmptySpaceItem1, Me.LayoutControlItem3, Me.LayoutControlItem2, Me.LayoutControlItem4, Me.LayoutControlItem5, Me.LayoutControlItem6, Me.LayoutControlItem7, Me.LayoutControlItem8, Me.LayoutControlItem9})
Me.Root.Items.AddRange(New DevExpress.XtraLayout.BaseLayoutItem() {Me.LayoutControlItem1, Me.EmptySpaceItem1, Me.LayoutControlItem3, Me.LayoutControlItem2, Me.LayoutControlItem5, Me.LayoutControlItem6, Me.LayoutControlItem7, Me.LayoutControlItem8, Me.LayoutControlItem9, Me.LayoutControlItem10})
Me.Root.Name = "Root"
Me.Root.Size = New System.Drawing.Size(298, 538)
Me.Root.TextVisible = False
@ -647,16 +626,6 @@ Partial Class frmExportMain
Me.LayoutControlItem2.Text = "Belegdatum Von"
Me.LayoutControlItem2.TextSize = New System.Drawing.Size(77, 13)
'
'LayoutControlItem4
'
Me.LayoutControlItem4.Control = Me.lookupDocumentKind
Me.LayoutControlItem4.Location = New System.Drawing.Point(0, 30)
Me.LayoutControlItem4.Name = "LayoutControlItem4"
Me.LayoutControlItem4.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem4.Size = New System.Drawing.Size(278, 30)
Me.LayoutControlItem4.Text = "Belegart"
Me.LayoutControlItem4.TextSize = New System.Drawing.Size(77, 13)
'
'LayoutControlItem5
'
Me.LayoutControlItem5.Control = Me.chkShowExported
@ -706,6 +675,16 @@ Partial Class frmExportMain
Me.LayoutControlItem9.Text = "Belegtyp"
Me.LayoutControlItem9.TextSize = New System.Drawing.Size(77, 13)
'
'LayoutControlItem10
'
Me.LayoutControlItem10.Control = Me.comboDocumentKind
Me.LayoutControlItem10.Location = New System.Drawing.Point(0, 30)
Me.LayoutControlItem10.Name = "LayoutControlItem10"
Me.LayoutControlItem10.Padding = New DevExpress.XtraLayout.Utils.Padding(5, 5, 5, 5)
Me.LayoutControlItem10.Size = New System.Drawing.Size(278, 30)
Me.LayoutControlItem10.Text = "Belegart"
Me.LayoutControlItem10.TextSize = New System.Drawing.Size(77, 13)
'
'LabelControl2
'
Me.LabelControl2.Appearance.Font = New System.Drawing.Font("Tahoma", 48.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
@ -774,8 +753,6 @@ Partial Class frmExportMain
CType(Me.dateDocDateFrom.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.lookupAccount.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.lookupDocumentKind.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.chkShowExported.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtDocumentFrom.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.txtDocumentTo.Properties, System.ComponentModel.ISupportInitialize).EndInit()
@ -783,17 +760,18 @@ Partial Class frmExportMain
CType(Me.dateDocDateTo.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.comboDocumentType.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.comboDocumentKind.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.Root, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.EmptySpaceItem1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem3, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem4, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem5, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem6, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem7, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem8, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem9, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.LayoutControlItem10, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
@ -829,11 +807,6 @@ Partial Class frmExportMain
Friend WithEvents colId2 As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents GridColumn1 As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents GridColumn2 As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents LayoutControlItem4 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents lookupDocumentKind As DevExpress.XtraEditors.GridLookUpEdit
Friend WithEvents GridView2 As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents GridColumn3 As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents GridColumn4 As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents GridColumn5 As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents GridColumn6 As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents colImported As DevExpress.XtraGrid.Columns.GridColumn
@ -864,4 +837,7 @@ Partial Class frmExportMain
Friend WithEvents LayoutControlItem9 As DevExpress.XtraLayout.LayoutControlItem
Friend WithEvents comboDocumentType As DevExpress.XtraEditors.GridLookUpEdit
Friend WithEvents GridView3 As DevExpress.XtraGrid.Views.Grid.GridView
Friend WithEvents colDocumentKind As DevExpress.XtraGrid.Columns.GridColumn
Friend WithEvents comboDocumentKind As DevExpress.XtraEditors.CheckedComboBoxEdit
Friend WithEvents LayoutControlItem10 As DevExpress.XtraLayout.LayoutControlItem
End Class

View File

@ -120,9 +120,6 @@
<metadata name="BooleanImages.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>189, 17</value>
</metadata>
<metadata name="BooleanImages.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>189, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>87</value>
</metadata>

View File

@ -48,8 +48,7 @@ Public Class frmExportMain
Dim oViews As New List(Of GridView) From {
GridViewDocuments,
lookupMandator.Properties.View,
lookupAccount.Properties.View,
lookupDocumentKind.Properties.View
lookupAccount.Properties.View
}
GridBuilder = New GridBuilder(oViews)
GridBuilder.
@ -78,9 +77,9 @@ Public Class frmExportMain
lookupAccount.ForceInitialize()
lookupAccount.Properties.View.BestFitColumns()
lookupDocumentKind.Properties.DataSource = Winline.DocumentKinds
lookupDocumentKind.ForceInitialize()
lookupDocumentKind.Properties.View.BestFitColumns()
comboDocumentKind.Properties.DataSource = Winline.DocumentKinds
comboDocumentKind.Properties.EditValueType = Repository.EditValueTypeCollection.List
comboDocumentKind.EditValue = New List(Of Object)
comboDocumentType.Properties.DisplayMember = "Key"
comboDocumentType.Properties.ValueMember = "Value"
@ -91,6 +90,7 @@ Public Class frmExportMain
ToList()
If ConfigManager.Config.LastUsedMandator <> "" Then
lookupMandator.EditValue = Winline.Mandators.
Where(Function(mandator) mandator.Id = ConfigManager.Config.LastUsedMandator).
@ -150,20 +150,27 @@ Public Class frmExportMain
Private Sub lookupMandator_EditValueChanged(sender As Object, e As EventArgs) Handles lookupMandator.EditValueChanged
Dim oMandator As Mandator = lookupMandator.EditValue
lookupAccount.Properties.DataSource = Winline.Accounts.Where(Function(acc) acc.Mandator.Equals(oMandator))
lookupDocumentKind.Properties.DataSource = Winline.DocumentKinds.Where(Function(kind) kind.Mandator.Equals(oMandator))
comboDocumentKind.Properties.DataSource = Winline.DocumentKinds.Where(Function(kind) kind.Mandator.Equals(oMandator))
ConfigManager.Config.LastUsedMandator = oMandator.Id
ConfigManager.Save()
End Sub
Private Sub lookup_Properties_ButtonClick(sender As Object, e As DevExpress.XtraEditors.Controls.ButtonPressedEventArgs) _
Handles lookupDocumentKind.Properties.ButtonClick, lookupAccount.Properties.ButtonClick, comboDocumentType.ButtonClick
Private Sub lookup_Properties_ButtonClick(sender As Object, e As DevExpress.XtraEditors.Controls.ButtonPressedEventArgs) Handles comboDocumentKind.Properties.ButtonClick, lookupAccount.Properties.ButtonClick, comboDocumentType.ButtonClick
Dim oLookup As GridLookUpEdit = sender
If e.Button.Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Clear Then
oLookup.EditValue = Nothing
End If
End Sub
Private Sub combo_Properties_ButtonClick(sender As Object, e As DevExpress.XtraEditors.Controls.ButtonPressedEventArgs) Handles comboDocumentKind.Properties.ButtonClick
Dim oLookup As CheckedComboBoxEdit = sender
If e.Button.Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Clear Then
oLookup.EditValue = New List(Of Object)
End If
End Sub
Private Sub SearchDocuments()
@ -173,13 +180,16 @@ Public Class frmExportMain
Dim oMandator = lookupMandator.EditValue
Dim oAccount = lookupAccount.EditValue
Dim oKind = lookupDocumentKind.EditValue
Dim oKindsAsObjects As List(Of Object) = comboDocumentKind.EditValue
Dim oKinds As List(Of DocumentKind) = oKindsAsObjects.Cast(Of DocumentKind).ToList()
Dim oDateFrom = dateDocDateFrom.EditValue
Dim oDateTo = dateDocDateTo.EditValue
Dim oShowExported = chkShowExported.Checked
Dim oDocNumberFrom = Utils.NotNull(txtDocumentFrom.EditValue, String.Empty)
Dim oDocNumberTo = Utils.NotNull(txtDocumentTo.EditValue, String.Empty)
If oMandator Is Nothing Then
FormHelper.ShowWarning("Bitte einen Mandanten auswählen!")
Exit Sub
@ -188,7 +198,7 @@ Public Class frmExportMain
'TODO: Make Document Type configurable
Dim oDocuments = Winline.GetDocuments(oMandator, CurrentTemplate, comboDocumentType.EditValue, New WinlineData.GetDocumentArgs With {
.Account = oAccount,
.Kind = oKind,
.Kinds = oKinds,
.DateFrom = oDateFrom,
.DateTo = oDateTo,
.ShowExported = oShowExported,
@ -242,6 +252,7 @@ Public Class frmExportMain
Finally
SplashScreenManager.CloseWaitForm()
SearchDocuments()
End Try
End Sub

View File

@ -234,6 +234,10 @@ Public Class frmMain
End Sub
Private Async Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
If SplashScreenManager.IsSplashFormVisible Then
Exit Sub
End If
SplashScreenManager.ShowWaitForm()
Try

View File

@ -65,7 +65,7 @@ Public Class Patterns
Return oString
End Function
Public Function ReplaceForExport(pTemplate As Template, pDocument As ExportDocument, pMandator As Mandator, oString As String)
Public Function ReplaceForExport(pDocument As ExportDocument, pMandator As Mandator, oString As String)
Dim oRegex = New Regex("{#(\w+)#([\w\s_-]+)}+")
Dim oMatches As MatchCollection = oRegex.Matches(oString)

View File

@ -15,7 +15,6 @@ Namespace Winline
Private ReadOnly Config As WebServiceConfig
Private ReadOnly Serializer As Serializer
Private ReadOnly GeneralConfig As GeneralConfig
Private ReadOnly Winline As WinlineData
Private ReadOnly FileEx As File
Private ReadOnly Patterns As Patterns
@ -26,9 +25,8 @@ Namespace Winline
MyBase.New(pLogConfig, pDatabase)
Serializer = New Serializer(pLogConfig)
Config = pWebserviceConfig
GeneralConfig = pGeneralConfig
Patterns = New Patterns(pLogConfig, pGeneralConfig)
FileEx = New DigitalData.Modules.Filesystem.File(LogConfig)
FileEx = New File(LogConfig)
Winline = pWinline
End Sub
@ -124,7 +122,7 @@ Namespace Winline
Select Case oContentType
Case "text/xml"
Dim oOutputDirectory = FileEx.CreateDateDirectory(pTemplate.OutputWebserviceDirectory)
WriteResponseFile(oOutputDirectory, pBaseFileNAme, oResponseBody, "xml")
WriteResponseFileWithPrefix(oOutputDirectory, pBaseFileNAme, oResponseBody, "xml", "Response")
Dim oBytes As Byte() = Encoding.UTF8.GetBytes(oResponseBody)
Using oStream As New IO.MemoryStream(oBytes)
@ -153,7 +151,7 @@ Namespace Winline
End Using
Case "text/html"
WriteResponseFile(pTemplate.OutputWebserviceDirectory, pBaseFileNAme, oResponseBody, "txt")
WriteResponseFileWithSuffix(pTemplate.OutputWebserviceDirectory, pBaseFileNAme, oResponseBody, "txt", "Response")
Throw New ApplicationException(oResponseBody)
@ -235,11 +233,6 @@ Namespace Winline
oActionCode = 0
End If
' Byref: Should data be supplied as file or as string?
' 0 = As String
' 1 = As File (relative to Winline Server directory)
Dim oByref = 0
Dim oURL As String = $"{oWS.BaseUrl}/ewlservice/export?User={oWS.Username}&Password={oWS.Password}&Company={pMandator.Id}&Type={oTemplateType}&Vorlage={oTemplateName}&ActionCode={oActionCode}&Key={oKey}"
Dim oClient As New HttpClient()
@ -264,7 +257,7 @@ Namespace Winline
End Try
End Function
Private Async Function HandleExportResponse(pResponse As HttpResponseMessage, pDocument As Entities.ExportDocument, pTemplate As Template, pMandator As Mandator, pBaseFileNAme As String) As Task
Private Async Function HandleExportResponse(pResponse As HttpResponseMessage, pDocument As Entities.ExportDocument, pTemplate As Template, pMandator As Mandator, pBaseFileName As String) As Task
pResponse.EnsureSuccessStatusCode()
Dim oResponseBody As String = Await pResponse.Content.ReadAsStringAsync()
Dim oContentType = pResponse.Content.Headers.ContentType.MediaType
@ -274,14 +267,16 @@ Namespace Winline
oResponseBody = ApplyItemFunctionsForExport(pDocument, pTemplate, pMandator, oResponseBody)
' TODO: Change WriteResponseFile as TEMPLATENAME-DATE.xml
Select Case oContentType
Case "text/xml"
WriteResponseFile(pTemplate.OutputWebserviceDirectory, pBaseFileNAme, oResponseBody, "xml")
WriteResponseFile(pTemplate.OutputXmlFileDirectory, pBaseFileNAme, oResponseBody, "xml")
WriteResponseFile(FileEx.CreateDateDirectory(pTemplate.ArchiveDirectory), pBaseFileNAme, oResponseBody, "xml")
WriteResponseFileWithSuffix(pTemplate.OutputWebserviceDirectory, pBaseFileName, oResponseBody, "xml", "Response")
WriteResponseFileWithPrefix(pTemplate.OutputXmlFileDirectory, pBaseFileName, oResponseBody, "xml", pTemplate.Name)
WriteResponseFileWithPrefix(FileEx.CreateDateDirectory(pTemplate.ArchiveDirectory), pBaseFileName, oResponseBody, "xml", pTemplate.Name)
Case "text/html"
WriteResponseFile(pTemplate.OutputWebserviceDirectory, pBaseFileNAme, oResponseBody, "txt")
WriteResponseFileWithSuffix(pTemplate.OutputWebserviceDirectory, pBaseFileName, oResponseBody, "txt", "Response")
Throw New ApplicationException(oResponseBody)
@ -328,7 +323,7 @@ Namespace Winline
oNode.InnerText = oEAN
ElseIf oItem.Config.Function.Name = "SQL" Then
Dim oSQL = Patterns.ReplaceForExport(pTemplate, pDocument, pMandator, oItem.Config.Function.Params)
Dim oSQL = Patterns.ReplaceForExport(pDocument, pMandator, oItem.Config.Function.Params)
Dim oValue = Database.GetScalarValue(oSQL)
If oValue Is Nothing Then
@ -354,9 +349,22 @@ Namespace Winline
End Function
#End Region
Private Function WriteResponseFile(pPath As String, pBaseFileName As String, pResponseBody As String, pExtension As String) As Boolean
Private Function WriteResponseFileWithSuffix(pPath As String, pBaseFileName As String, pResponseBody As String, pExtension As String, pSuffix As String) As Boolean
Try
Dim oRequestFileName As String = FileEx.GetFilenameWithSuffix(pBaseFileName, "Response", pExtension)
Dim oRequestFileName As String = FileEx.GetFilenameWithSuffix(pBaseFileName, pSuffix, pExtension)
Dim oFilePath As String = IO.Path.Combine(pPath, oRequestFileName)
IO.File.WriteAllText(oFilePath, pResponseBody)
Return True
Catch ex As Exception
Logger.Error(ex)
Return False
End Try
End Function
Private Function WriteResponseFileWithPrefix(pPath As String, pBaseFileName As String, pResponseBody As String, pExtension As String, pPrefix As String) As Boolean
Try
Dim oRequestFileName As String = FileEx.GetFilenameWithPrefix(pBaseFileName, pPrefix, pExtension)
Dim oFilePath As String = IO.Path.Combine(pPath, oRequestFileName)
IO.File.WriteAllText(oFilePath, pResponseBody)

View File

@ -45,7 +45,7 @@ Namespace Winline
Public Class GetDocumentArgs
Public Property Account As Account
Public Property Kind As DocumentKind
Public Property Kinds As List(Of DocumentKind)
Public Property DateFrom As Date
Public Property DateTo As Date
Public Property DocNumberFrom As String
@ -543,18 +543,21 @@ Namespace Winline
End If
Dim oKindConstraint = ""
If pOptions.Kind IsNot Nothing Then
oKindConstraint = $"T.c035 = {pOptions.Kind.Id} AND "
If pOptions.Kinds IsNot Nothing AndAlso pOptions.Kinds.Count > 0 Then
Dim oKindIdList = pOptions.Kinds.Select(Function(kind) kind.Id)
Dim oKindIdString = String.Join(",", oKindIdList)
oKindConstraint = $"T.c035 IN ({oKindIdString}) AND "
End If
Dim oDateFromConstraint = ""
If pOptions.DateFrom <> Date.MinValue Then
oDateFromConstraint = $"T2.DATE >= CAST('{pOptions.DateFrom.ToString("yyyy-MM-dd")}' as date) AND "
oDateFromConstraint = $"T2.DATE >= CAST('{pOptions.DateFrom:yyyy-MM-dd}' as date) AND "
End If
Dim oDateToConstraint = ""
If pOptions.DateTo <> Date.MinValue Then
oDateToConstraint = $"T2.DATE <= CAST('{pOptions.DateTo.ToString("yyyy-MM-dd")}' as date) AND "
oDateToConstraint = $"T2.DATE <= CAST('{pOptions.DateTo:yyyy-MM-dd}' as date) AND "
End If
Dim oDocNumberConstraint = ""
@ -641,7 +644,7 @@ Namespace Winline
Public Async Function ExecuteFinalSQL(pDocument As ExportDocument, pTemplate As Template, pMandator As Mandator) As Task(Of Boolean)
Try
Dim oSql As String = Patterns.ReplaceForExport(pTemplate, pDocument, pMandator, pTemplate.FinalSQL)
Dim oSql As String = Patterns.ReplaceForExport(pDocument, pMandator, pTemplate.FinalSQL)
Return Await Database.ExecuteNonQueryAsync(oSql)
Catch ex As Exception