From 9b3436686ff9a96ab1a1c9baf0584acfec3c7cbc Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Fri, 28 Jan 2022 16:17:15 +0100 Subject: [PATCH] Reload after export, Show and filter by Document Kind, Fix crash when reloading settings, change filename pattern for export files --- MultiTool.Form/frmConfig.vb | 2 - MultiTool.Form/frmExportMain.Designer.vb | 124 +++++++++------------ MultiTool.Form/frmExportMain.resx | 3 - MultiTool.Form/frmExportMain.vb | 31 ++++-- MultiTool.Form/frmMain.vb | 4 + MultiTool.Shared/Patterns.vb | 2 +- MultiTool.Shared/Winline/WebServiceData.vb | 44 +++++--- MultiTool.Shared/Winline/WinlineData.vb | 15 ++- 8 files changed, 111 insertions(+), 114 deletions(-) diff --git a/MultiTool.Form/frmConfig.vb b/MultiTool.Form/frmConfig.vb index 8a5452d..943af1d 100644 --- a/MultiTool.Form/frmConfig.vb +++ b/MultiTool.Form/frmConfig.vb @@ -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 diff --git a/MultiTool.Form/frmExportMain.Designer.vb b/MultiTool.Form/frmExportMain.Designer.vb index 11d55e4..69adc41 100644 --- a/MultiTool.Form/frmExportMain.Designer.vb +++ b/MultiTool.Form/frmExportMain.Designer.vb @@ -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 diff --git a/MultiTool.Form/frmExportMain.resx b/MultiTool.Form/frmExportMain.resx index 69735f0..2876866 100644 --- a/MultiTool.Form/frmExportMain.resx +++ b/MultiTool.Form/frmExportMain.resx @@ -120,9 +120,6 @@ 189, 17 - - 189, 17 - 87 diff --git a/MultiTool.Form/frmExportMain.vb b/MultiTool.Form/frmExportMain.vb index 2a4fb02..ea74f41 100644 --- a/MultiTool.Form/frmExportMain.vb +++ b/MultiTool.Form/frmExportMain.vb @@ -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 diff --git a/MultiTool.Form/frmMain.vb b/MultiTool.Form/frmMain.vb index ba2418e..389151a 100644 --- a/MultiTool.Form/frmMain.vb +++ b/MultiTool.Form/frmMain.vb @@ -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 diff --git a/MultiTool.Shared/Patterns.vb b/MultiTool.Shared/Patterns.vb index 99e2d1f..491d02d 100644 --- a/MultiTool.Shared/Patterns.vb +++ b/MultiTool.Shared/Patterns.vb @@ -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) diff --git a/MultiTool.Shared/Winline/WebServiceData.vb b/MultiTool.Shared/Winline/WebServiceData.vb index e83edbc..0d0d242 100644 --- a/MultiTool.Shared/Winline/WebServiceData.vb +++ b/MultiTool.Shared/Winline/WebServiceData.vb @@ -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, 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.GetFilenameWithSuffix(pBaseFileName, "Response", pExtension) + Dim oRequestFileName As String = FileEx.GetFilenameWithPrefix(pBaseFileName, pPrefix, pExtension) Dim oFilePath As String = IO.Path.Combine(pPath, oRequestFileName) IO.File.WriteAllText(oFilePath, pResponseBody) diff --git a/MultiTool.Shared/Winline/WinlineData.vb b/MultiTool.Shared/Winline/WinlineData.vb index 9221f2f..033e076 100644 --- a/MultiTool.Shared/Winline/WinlineData.vb +++ b/MultiTool.Shared/Winline/WinlineData.vb @@ -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