Refined the Easy Peasy Control with feedback from Christin
This commit is contained in:
parent
1d44b156f4
commit
46ca051331
@ -76,8 +76,8 @@
|
|||||||
<!-- Goods Items grid (paste target) -->
|
<!-- Goods Items grid (paste target) -->
|
||||||
<TextBlock Text="Warenpositionen (Paste tab/CSV with columns: HS, Item#, Description, Gross, Net, Pkgs, Type, Marks)" Margin="4,12,0,4"/>
|
<TextBlock Text="Warenpositionen (Paste tab/CSV with columns: HS, Item#, Description, Gross, Net, Pkgs, Type, Marks)" Margin="4,12,0,4"/>
|
||||||
<DataGrid ItemsSource="{Binding ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF}"
|
<DataGrid ItemsSource="{Binding ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF}"
|
||||||
AutoGenerateColumns="False" CanUserAddRows="True"
|
AutoGenerateColumns="False" SelectionMode="Extended" x:Name="dataGridGoodsItems" CanUserAddRows="False"
|
||||||
PreviewKeyDown="DataGrid_PreviewKeyDown" >
|
PreviewKeyDown="DataGrid_PreviewKeyDown">
|
||||||
<DataGrid.Columns>
|
<DataGrid.Columns>
|
||||||
<DataGridTextColumn Header="HS Code" Binding="{Binding Commodity.HarmonizedSystemSubHeadingCode}"/>
|
<DataGridTextColumn Header="HS Code" Binding="{Binding Commodity.HarmonizedSystemSubHeadingCode}"/>
|
||||||
<DataGridTextColumn Header="Item #" Binding="{Binding GoodsItemNumber}"/>
|
<DataGridTextColumn Header="Item #" Binding="{Binding GoodsItemNumber}"/>
|
||||||
|
|||||||
@ -14,6 +14,7 @@ using System.Text;
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.Xml.Serialization;
|
using System.Xml.Serialization;
|
||||||
|
|
||||||
@ -30,7 +31,22 @@ namespace ENI2.Controls
|
|||||||
public EasyPeasyControl()
|
public EasyPeasyControl()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
}
|
|
||||||
|
this.dataGridGoodsItems.ContextMenu = new ContextMenu();
|
||||||
|
|
||||||
|
MenuItem addItem = new MenuItem();
|
||||||
|
addItem.Header = Properties.Resources.textAdd;
|
||||||
|
addItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/add.png")) };
|
||||||
|
addItem.Click += AddItem_Click;
|
||||||
|
this.dataGridGoodsItems.ContextMenu.Items.Add(addItem);
|
||||||
|
|
||||||
|
MenuItem deleteItem = new MenuItem();
|
||||||
|
deleteItem.Header = Properties.Resources.textDelete;
|
||||||
|
deleteItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/delete.png")) };
|
||||||
|
deleteItem.Click += DeleteItem_Click;
|
||||||
|
this.dataGridGoodsItems.ContextMenu.Items.Add(deleteItem);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void SaveState()
|
public void SaveState()
|
||||||
{
|
{
|
||||||
@ -39,7 +55,33 @@ namespace ENI2.Controls
|
|||||||
EasyPeasyState.Save(_vm);
|
EasyPeasyState.Save(_vm);
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region context menu event handler
|
||||||
|
|
||||||
|
private void AddItem_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
if (_vm?.ProofInformationT2LT2LF?.GoodsShipmentForT2LT2LF?.GoodsItemsForT2LT2LF == null) return;
|
||||||
|
var list = _vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF;
|
||||||
|
int nextItemNo = list.Any() ? list.Max(x => x.GoodsItemNumber) + 1 : 1;
|
||||||
|
var item = new GoodsItemForT2LT2LF
|
||||||
|
{
|
||||||
|
GoodsItemNumber = nextItemNo
|
||||||
|
};
|
||||||
|
list.Add(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DeleteItem_Click(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
foreach(GoodsItemForT2LT2LF item in this.dataGridGoodsItems.SelectedItems.Cast<GoodsItemForT2LT2LF>().ToArray())
|
||||||
|
{
|
||||||
|
if (_vm?.ProofInformationT2LT2LF?.GoodsShipmentForT2LT2LF?.GoodsItemsForT2LT2LF == null) return;
|
||||||
|
var list = _vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF;
|
||||||
|
list.Remove(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region button event handler
|
#region button event handler
|
||||||
|
|
||||||
@ -108,7 +150,8 @@ namespace ENI2.Controls
|
|||||||
// after loading/creating _vm
|
// after loading/creating _vm
|
||||||
if (_vm.ProofInformationT2LT2LF?.GoodsShipmentForT2LT2LF?.GoodsItemsForT2LT2LF == null)
|
if (_vm.ProofInformationT2LT2LF?.GoodsShipmentForT2LT2LF?.GoodsItemsForT2LT2LF == null)
|
||||||
_vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF = new ObservableCollection<GoodsItemForT2LT2LF>();
|
_vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF = new ObservableCollection<GoodsItemForT2LT2LF>();
|
||||||
|
|
||||||
|
_vm.ProofInformationT2LT2LF.DeclarationDate = DateTime.Now; // reset to today
|
||||||
|
|
||||||
this.DataContext = _vm;
|
this.DataContext = _vm;
|
||||||
}
|
}
|
||||||
@ -130,6 +173,7 @@ namespace ENI2.Controls
|
|||||||
LocationOfGoods = new LocationOfGoods(),
|
LocationOfGoods = new LocationOfGoods(),
|
||||||
TransportDocuments = new TransportDocuments()
|
TransportDocuments = new TransportDocuments()
|
||||||
};
|
};
|
||||||
|
_vm.ProofInformationT2LT2LF.DeclarationDate = DateTime.Now; // reset to today
|
||||||
this.DataContext = _vm;
|
this.DataContext = _vm;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -287,6 +331,10 @@ namespace ENI2.Controls
|
|||||||
item.GoodsMeasure.NetMass = net;
|
item.GoodsMeasure.NetMass = net;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
item.DescriptionOfGoods = "Brand New Vehicles"; // per spec
|
||||||
|
item.Packaging.TypeOfPackages = "UN"; // per spec
|
||||||
|
item.Packaging.ShippingMarks = "-"; // per spec
|
||||||
|
|
||||||
list.Add(item);
|
list.Add(item);
|
||||||
anyAdded = true;
|
anyAdded = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,6 @@ using ENI2.EditControls;
|
|||||||
using ExcelDataReader;
|
using ExcelDataReader;
|
||||||
using Microsoft.Win32;
|
using Microsoft.Win32;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
@ -33,8 +32,7 @@ namespace ENI2.SheetDisplayControls
|
|||||||
private AGNT _agnt;
|
private AGNT _agnt;
|
||||||
private SEC _sec;
|
private SEC _sec;
|
||||||
private WAS _was;
|
private WAS _was;
|
||||||
private Message _stoMessage;
|
private Message _stoMessage;
|
||||||
// private Message _crewMessage;
|
|
||||||
|
|
||||||
private Dictionary<string, string> portAreas = null;
|
private Dictionary<string, string> portAreas = null;
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user