65 lines
2.4 KiB
C#
65 lines
2.4 KiB
C#
// Copyright (c) 2017 schick Informatik
|
|
// Description: Bearbeitungsdialog für Call of itinerary
|
|
//
|
|
|
|
using System;
|
|
using System.Windows;
|
|
using ENI2.Controls;
|
|
|
|
using bsmd.database;
|
|
using bsmd.ExcelReadService;
|
|
|
|
namespace ENI2.EditControls
|
|
{
|
|
/// <summary>
|
|
/// Interaction logic for EditPortOfItineraryDialog.xaml
|
|
/// </summary>
|
|
public partial class EditPortOfItineraryDialog : EditWindowBase
|
|
{
|
|
public EditPortOfItineraryDialog()
|
|
{
|
|
InitializeComponent();
|
|
|
|
Loaded += EditPortOfItineraryDialog_Loaded; ;
|
|
AddClicked += () => { this.textBoxPortName.Focus(); };
|
|
|
|
}
|
|
|
|
public PortOfItinerary PortOfItinerary { get; set; }
|
|
|
|
private void EditPortOfItineraryDialog_Loaded(object sender, RoutedEventArgs e)
|
|
{
|
|
this.OKClicked += EditPortOfItineraryDialog_OKClicked;
|
|
|
|
// copy into fields
|
|
this.textBoxPortName.Text = this.PortOfItinerary.PortOfItineraryName;
|
|
this.dateTimePickerETA.Value = this.PortOfItinerary.PortOfItineraryETA.HasValue ? ((DateTime?) DateTime.SpecifyKind(this.PortOfItinerary.PortOfItineraryETA.Value, DateTimeKind.Utc).ToLocalTime()) : null;
|
|
this.AddVisible = true;
|
|
}
|
|
|
|
public void CopyValuesToEntity()
|
|
{
|
|
// copy back
|
|
string portNameFromLocode = null;
|
|
if(!this.textBoxPortName.Text.IsNullOrEmpty() && (this.textBoxPortName.Text.Length == 5))
|
|
portNameFromLocode = LocodeDB.PortNameFromLocode(this.textBoxPortName.Text.ToUpper());
|
|
|
|
if(!portNameFromLocode.IsNullOrEmpty()) // der Anwender hat einen Locode eingetragen
|
|
{
|
|
this.PortOfItinerary.PortOfItineraryLocode = this.textBoxPortName.Text;
|
|
this.PortOfItinerary.PortOfItineraryName = portNameFromLocode;
|
|
}
|
|
else // einfach Hafen als Text direkt übernehmen
|
|
{
|
|
this.PortOfItinerary.PortOfItineraryName = this.textBoxPortName.Text;
|
|
}
|
|
this.PortOfItinerary.PortOfItineraryETA = this.dateTimePickerETA.Value.HasValue ? ((DateTime?)DateTime.SpecifyKind(this.dateTimePickerETA.Value.Value, DateTimeKind.Local).ToUniversalTime()) : null;
|
|
}
|
|
|
|
private void EditPortOfItineraryDialog_OKClicked()
|
|
{
|
|
this.CopyValuesToEntity();
|
|
}
|
|
}
|
|
}
|