Datumsbereich Auswahl synchronisiert zwischen BRV und WHV, außerdem beim Enddatum die Stunden des Tages addiert

This commit is contained in:
Daniel Schick 2023-03-01 09:54:24 +01:00
parent 967a34dc79
commit 47336e0b8d
4 changed files with 79 additions and 7 deletions

View File

@ -40,9 +40,9 @@
<ColumnDefinition Width="80" /> <ColumnDefinition Width="80" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Label Content="From" Grid.Column="0" /> <Label Content="From" Grid.Column="0" />
<xctk:DateTimePicker x:Name="dateTimePickerFrom" Margin="2" Grid.Column="1" Format="ShortDate" /> <DatePicker x:Name="dateTimePickerFrom" Margin="2" Grid.Column="1" SelectedDateChanged="dateTimePickerFrom_SelectedDateChanged"/>
<Label Content="To" Grid.Column="2" /> <Label Content="To" Grid.Column="2" />
<xctk:DateTimePicker x:Name="dateTimePickerTo" Margin="2" Grid.Column="3" Format="ShortDate" /> <DatePicker x:Name="dateTimePickerTo" Margin="2" Grid.Column="3" SelectedDateChanged="dateTimePickerFrom_SelectedDateChanged"/>
<Button x:Name="buttonLoad" Grid.Column="4" Content="Load" Margin="2" Click="buttonLoad_Click" /> <Button x:Name="buttonLoad" Grid.Column="4" Content="Load" Margin="2" Click="buttonLoad_Click" />
<!--Button x:Name="buttonSave" Grid.Column="5" Content="Save" Margin="2" Click="buttonSave_Click" /--> <!--Button x:Name="buttonSave" Grid.Column="5" Content="Save" Margin="2" Click="buttonSave_Click" /-->
<Button x:Name="buttonRequestIds" Grid.Column="6" Content="Request marked Ids" Margin="2" Click="buttonRequestIds_Click" /> <Button x:Name="buttonRequestIds" Grid.Column="6" Content="Request marked Ids" Margin="2" Click="buttonRequestIds_Click" />

View File

@ -41,13 +41,27 @@ namespace ENI2.Controls
{ {
InitializeComponent(); InitializeComponent();
Loaded += POList_Loaded; Loaded += POList_Loaded;
this.dateTimePickerFrom.Value = DateTime.Today.AddDays(-14); this.dateTimePickerFrom.SelectedDate = DateTime.Today.AddDays(-14);
this.dateTimePickerTo.Value = DateTime.Today.AddDays(14); this.dateTimePickerTo.SelectedDate = DateTime.Today.AddDays(14);
this._dbWatchDog = new DatabaseEntityWatchdog(); this._dbWatchDog = new DatabaseEntityWatchdog();
this._dbWatchDog.DatabaseEntityChanged += _dbWatchDog_DatabaseEntityChanged; this._dbWatchDog.DatabaseEntityChanged += _dbWatchDog_DatabaseEntityChanged;
this._dbWatchDog.VisitTransitIdUpdated += _dbWatchDog_VisitTransitIdUpdated; this._dbWatchDog.VisitTransitIdUpdated += _dbWatchDog_VisitTransitIdUpdated;
} }
#endregion
#region Events
public delegate void DateChanged(DateTime date);
public event DateChanged FromDateChanged;
public event DateChanged ToDateChanged;
#endregion
#region DB Watchdog
private async void _dbWatchDog_VisitTransitIdUpdated(DatabaseEntity entity) private async void _dbWatchDog_VisitTransitIdUpdated(DatabaseEntity entity)
{ {
if (entity is MessageCore core) if (entity is MessageCore core)
@ -87,6 +101,23 @@ namespace ENI2.Controls
/// </summary> /// </summary>
public string PortLocode { get; set; } public string PortLocode { get; set; }
/// <summary>
/// synchronize selection props
/// </summary>
public DateTime? FromDate {
get { return this.dateTimePickerFrom.SelectedDate; }
set { this.dateTimePickerFrom.SelectedDate = value; }
}
/// <summary>
/// synchronize selection props
/// </summary>
public DateTime? ToDate
{
get { return this.dateTimePickerTo.SelectedDate; }
set { this.dateTimePickerTo.SelectedDate = value; }
}
#endregion #endregion
#region events #region events
@ -213,8 +244,9 @@ namespace ENI2.Controls
Dictionary<MessageCore.SearchFilterType, string> filterDict = new Dictionary<MessageCore.SearchFilterType, string>(); Dictionary<MessageCore.SearchFilterType, string> filterDict = new Dictionary<MessageCore.SearchFilterType, string>();
// Die Suche findet in dem eingestellten Intervall statt // Die Suche findet in dem eingestellten Intervall statt
uint from = this.dateTimePickerFrom.Value.Value.ToUniversalTime().ToUnixTimeStamp(); uint from = this.dateTimePickerFrom.SelectedDate.Value.ToUniversalTime().ToUnixTimeStamp();
uint to = this.dateTimePickerTo.Value.Value.ToUniversalTime().ToUnixTimeStamp(); DateTime toDate = this.dateTimePickerTo.SelectedDate.Value.ToUniversalTime().Add(new TimeSpan(23, 59, 59));
uint to = toDate.ToUnixTimeStamp();
filterDict.Add(MessageCore.SearchFilterType.FILTER_ETA, string.Format("{0}:{1}", from.ToString() ?? "", to.ToString() ?? "")); filterDict.Add(MessageCore.SearchFilterType.FILTER_ETA, string.Format("{0}:{1}", from.ToString() ?? "", to.ToString() ?? ""));
// eingeschränkt auf flags // eingeschränkt auf flags
filterDict.Add(MessageCore.SearchFilterType.FILTER_FLAG_EQ, "0"); filterDict.Add(MessageCore.SearchFilterType.FILTER_FLAG_EQ, "0");
@ -536,5 +568,20 @@ namespace ENI2.Controls
#endregion #endregion
#region DateTime picker event handler
private void dateTimePickerFrom_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
{
if (sender == dateTimePickerFrom)
this.FromDateChanged?.Invoke(dateTimePickerFrom.SelectedDate.Value);
if (sender == dateTimePickerTo)
this.ToDateChanged?.Invoke(dateTimePickerTo.SelectedDate.Value);
}
#endregion
} }
} }

View File

@ -13,6 +13,31 @@ namespace ENI2.Controls
InitializeComponent(); InitializeComponent();
this.brvListControl.PortLocode = "DEBRV"; this.brvListControl.PortLocode = "DEBRV";
this.wvnListControl.PortLocode = "DEWVN"; this.wvnListControl.PortLocode = "DEWVN";
this.brvListControl.FromDateChanged += BrvListControl_FromDateChanged;
this.brvListControl.ToDateChanged += BrvListControl_ToDateChanged;
this.wvnListControl.FromDateChanged += WvnListControl_FromDateChanged;
this.wvnListControl.ToDateChanged += WvnListControl_ToDateChanged;
}
private void WvnListControl_ToDateChanged(System.DateTime date)
{
this.brvListControl.ToDate = date;
}
private void WvnListControl_FromDateChanged(System.DateTime date)
{
this.brvListControl.FromDate = date;
}
private void BrvListControl_ToDateChanged(System.DateTime date)
{
this.wvnListControl.ToDate = date;
}
private void BrvListControl_FromDateChanged(System.DateTime date)
{
this.wvnListControl.FromDate = date;
} }
public List<MaerskListControl> ListControls public List<MaerskListControl> ListControls

View File

@ -36,7 +36,7 @@
<MinimumRequiredVersion>5.4.0.0</MinimumRequiredVersion> <MinimumRequiredVersion>5.4.0.0</MinimumRequiredVersion>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish> <CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.html</WebPage> <WebPage>publish.html</WebPage>
<ApplicationRevision>8</ApplicationRevision> <ApplicationRevision>9</ApplicationRevision>
<ApplicationVersion>7.9.0.%2a</ApplicationVersion> <ApplicationVersion>7.9.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust> <UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut> <CreateDesktopShortcut>true</CreateDesktopShortcut>