git_bsmd/ENI2/EditControls/EditLast10PortFacilitiesDialog.xaml.cs
2023-09-11 12:13:58 +02:00

81 lines
3.9 KiB
C#

// Copyright (c) 2017 schick Informatik
// Description: Last 10 port facilities Detailansicht
//
using System.Windows;
using bsmd.database;
using ENI2.Controls;
using ENI2.Util;
namespace ENI2.EditControls
{
/// <summary>
/// Interaction logic for EditLast10PortFacilitiesDialog.xaml
/// </summary>
public partial class EditLast10PortFacilitiesDialog : EditWindowBase
{
public EditLast10PortFacilitiesDialog()
{
InitializeComponent();
Loaded += EditLast10PortFacilitiesDialog_Loaded;
AddClicked += () => { this.locodePort.Focus(); };
}
public LastTenPortFacilitiesCalled LastTenPortFacilitiesCalled { get; set; }
private void EditLast10PortFacilitiesDialog_Loaded(object sender, RoutedEventArgs e)
{
this.locodePort.LocodeValue = this.LastTenPortFacilitiesCalled.PortFacilityPortLoCode;
this.textBoxPortName.Text = this.LastTenPortFacilitiesCalled.PortFacilityPortName;
this.textBoxPortCountry.Text = this.LastTenPortFacilitiesCalled.PortFacilityPortCountry;
this.datePickerATA.SelectedDate = this.LastTenPortFacilitiesCalled.PortFacilityDateOfArrival;
this.datePickerATD.SelectedDate = this.LastTenPortFacilitiesCalled.PortFacilityDateOfDeparture;
this.comboBoxShipSecurityLevel.ItemsSource = GlobalStructures.ShipSecurityLevels;
if (this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel.HasValue)
this.comboBoxShipSecurityLevel.SelectedIndex = this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel.Value - 1;
else
this.comboBoxShipSecurityLevel.SelectedIndex = -1;
this.textBoxGisisCode.Text = this.LastTenPortFacilitiesCalled.PortFacilityGISISCode;
this.textBoxSecurityMatters.Text = this.LastTenPortFacilitiesCalled.PortFacilitySecurityMattersToReport;
this.locodeGISIS.LocodeValue = this.LastTenPortFacilitiesCalled.PortFacilityGISISCodeLocode;
this.AddVisible = true;
this.OKClicked += EditLast10PortFacilitiesDialog_OKClicked;
}
public void CopyValuesToEntity()
{
this.LastTenPortFacilitiesCalled.PortFacilityPortLoCode = this.locodePort.LocodeValue;
this.LastTenPortFacilitiesCalled.PortFacilityPortName = this.textBoxPortName.Text.Trim();
this.LastTenPortFacilitiesCalled.PortFacilityPortCountry = this.textBoxPortCountry.Text.Trim();
this.LastTenPortFacilitiesCalled.PortFacilityDateOfArrival = this.datePickerATA.SelectedDate;
this.LastTenPortFacilitiesCalled.PortFacilityDateOfDeparture = this.datePickerATD.SelectedDate;
this.LastTenPortFacilitiesCalled.PortFacilityGISISCode = this.textBoxGisisCode.Text.Trim();
if (this.comboBoxShipSecurityLevel.SelectedIndex == -1)
this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel = null;
else
this.LastTenPortFacilitiesCalled.PortFacilityShipSecurityLevel = (byte?) (this.comboBoxShipSecurityLevel.SelectedIndex + 1);
this.LastTenPortFacilitiesCalled.PortFacilityGISISCodeLocode = this.locodeGISIS.LocodeValue;
this.LastTenPortFacilitiesCalled.PortFacilitySecurityMattersToReport = this.textBoxSecurityMatters.Text.Trim();
}
private void EditLast10PortFacilitiesDialog_OKClicked()
{
this.CopyValuesToEntity();
}
private void textBoxGisisCode_PreviewTextInput(object sender, System.Windows.Input.TextCompositionEventArgs e)
{
e.Handled = !e.Text.IsDigitsOnly();
}
private void textBoxGisisCode_PreviewKeyDown(object sender, System.Windows.Input.KeyEventArgs e)
{
if(e.Key == System.Windows.Input.Key.Space) e.Handled = true;
}
}
}