Doppel-Klick auf den Maersk PO Listeneintrag öffnet die Anmeldung in der Übersicht, falls eine Messagecore vorhanden ist

This commit is contained in:
Daniel Schick 2023-02-16 07:58:52 +01:00
parent d02fe72378
commit 65e45f40b8
4 changed files with 48 additions and 4 deletions

View File

@ -53,7 +53,8 @@
<local:BusyControl x:Name="busyControl" Grid.Column="11" /> <local:BusyControl x:Name="busyControl" Grid.Column="11" />
</Grid> </Grid>
<local:ENIDataGrid Grid.Row="1" Margin="2,8,2,2" x:Name="dataGridPOCores" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" <local:ENIDataGrid Grid.Row="1" Margin="2,8,2,2" x:Name="dataGridPOCores" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
SelectionMode="Extended" AutoGenerateColumns="False" CellEditEnding="dataGridPOCores_CellEditEnding" CanUserAddRows="False"> SelectionMode="Extended" AutoGenerateColumns="False" CellEditEnding="dataGridPOCores_CellEditEnding" CanUserAddRows="False"
MouseDoubleClick="dataGridPOCores_MouseDoubleClick">
<local:ENIDataGrid.RowStyle> <local:ENIDataGrid.RowStyle>
<Style TargetType="DataGridRow"> <Style TargetType="DataGridRow">
<Style.Triggers> <Style.Triggers>

View File

@ -85,6 +85,12 @@ namespace ENI2.Controls
#endregion #endregion
#region events
public event MessageCore.MessageCoreSelectedHandler MessageCoreSelected;
#endregion
#region control event handler #region control event handler
private void POList_Loaded(object sender, RoutedEventArgs e) private void POList_Loaded(object sender, RoutedEventArgs e)
@ -381,7 +387,7 @@ namespace ENI2.Controls
{ {
foreach(MaerskData md in this.maerskDataList) foreach(MaerskData md in this.maerskDataList)
{ {
if((md.MessageCore == null) && (md.ColM.IsNullOrEmpty())) if((md.MessageCore == null) && md.ColM.IsNullOrEmpty())
{ {
if (md.ETA.HasValue && md.ETA.Value.IsNextXDays(3)) if (md.ETA.HasValue && md.ETA.Value.IsNextXDays(3))
requestList.Add(md); requestList.Add(md);
@ -428,5 +434,25 @@ namespace ENI2.Controls
#endregion #endregion
#region grid event handler
private void dataGridPOCores_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
if (sender != null)
{
DataGrid grid = sender as DataGrid;
if (grid?.SelectedItems?.Count == 1)
{
MaerskData md = grid.SelectedItem as MaerskData;
if(md.MessageCore != null) {
Util.UIHelper.SetBusyState();
this.MessageCoreSelected?.Invoke(md.MessageCore);
}
}
}
}
#endregion
} }
} }

View File

@ -1,4 +1,5 @@
using System.Windows.Controls; using System.Collections.Generic;
using System.Windows.Controls;
namespace ENI2.Controls namespace ENI2.Controls
{ {
@ -13,5 +14,13 @@ namespace ENI2.Controls
this.brvListControl.PortLocode = "DEBRV"; this.brvListControl.PortLocode = "DEBRV";
this.wvnListControl.PortLocode = "DEWVN"; this.wvnListControl.PortLocode = "DEWVN";
} }
public List<MaerskListControl> ListControls
{
get
{
return new List<MaerskListControl>() { this.brvListControl, this.wvnListControl };
}
}
} }
} }

View File

@ -82,6 +82,12 @@ namespace ENI2
{ {
if(aMessageCore != null) if(aMessageCore != null)
{ {
Dispatcher.BeginInvoke((Action)(() =>
{
this.radioButton_Click(this.menuItemNotifications, null);
}));
if (!openTabs.ContainsKey(aMessageCore.Id.Value)) if (!openTabs.ContainsKey(aMessageCore.Id.Value))
{ {
ClosableTabItem searchResultItem = new ClosableTabItem(); ClosableTabItem searchResultItem = new ClosableTabItem();
@ -285,6 +291,8 @@ namespace ENI2
if (this.moControl == null) if (this.moControl == null)
{ {
this.moControl = new MaerskOverviewControl(); this.moControl = new MaerskOverviewControl();
foreach (MaerskListControl mlc in this.moControl.ListControls)
mlc.MessageCoreSelected += this.AnmeldungenControl_MessageCoreSelected;
} }
this.rootContainer.Children.Add(moControl); this.rootContainer.Children.Add(moControl);
} }
@ -304,7 +312,7 @@ namespace ENI2
if(compareExcelDialog == null) if(compareExcelDialog == null)
{ {
this.compareExcelDialog = new CompareExcelDialog(); this.compareExcelDialog = new CompareExcelDialog();
this.compareExcelDialog.Closed += (o, e) => this.compareExcelDialog = null; this.compareExcelDialog.Closed += (o, e) => this.compareExcelDialog = null;
compareExcelDialog.Show(); compareExcelDialog.Show();
} }
else else