Merge branch 'develop' into release/eni_7.2.7

This commit is contained in:
Daniel Schick 2025-03-06 11:00:16 +01:00
commit 3880e37aa5
21 changed files with 150 additions and 94 deletions

View File

@ -1,20 +1,8 @@
// Copyright (c) 2017 Informatibüro Daniel Schick
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using bsmd.database;
using System.Windows.Controls;
using System.Windows.Input;
namespace ENI2
{
@ -62,7 +50,7 @@ namespace ENI2
{
if((this.MessageCoreSelected != null) && (aMessageCore != null))
{
this.MessageCoreSelected(aMessageCore);
this.MessageCoreSelected(aMessageCore, DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].ShipcallDisplayMode);
}
}

View File

@ -607,7 +607,7 @@ namespace ENI2.Controls
MaerskData md = grid.SelectedItem as MaerskData;
if(md.MessageCore != null) {
Util.UIHelper.SetBusyState();
this.MessageCoreSelected?.Invoke(md.MessageCore);
this.MessageCoreSelected?.Invoke(md.MessageCore, DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].ShipcallDisplayMode);
}
}
}

View File

@ -644,12 +644,15 @@ namespace ENI2
this.detailView.Children.Clear();
this.controlCache.Clear();
// return to "new" overviewdan
int currentIndex = this.listBoxMessages.SelectedIndex;
// return to "new" overview
Dispatcher.BeginInvoke((System.Action)(() =>
{
this.listBoxMessages_SelectionChanged(this, null);
shipNameLabel.Text = this.Core.Shipname;
shipEMailLabel.Text = this.Core.HerbergEmailContactReportingVessel;
this.listBoxMessages.SelectedIndex = currentIndex;
}
));

View File

@ -40,7 +40,7 @@ namespace ENI2.DetailViewControls
this.RegisterIntegerUpDownChange(this.integerUpDownPassengersOnBoard, Message.NotificationClass.POBD);
this.RegisterIntegerUpDownChange(this.integerUpDownPersonsOnBoard, Message.NotificationClass.POBD);
this.RegisterIntegerUpDownChange(this.integerUpDownStowawaysOnBoard, Message.NotificationClass.POBD);
this.dataGridBKRD.CellEditEnding += (obj, ev) => { this.OnNotificationClassChanged(Message.NotificationClass.BKRD); };
this.dataGridBKRD.CellEditEnding += (obj, ev) => { this.SublistElementChanged(Message.NotificationClass.BKRD); };
startupComplete = true;
}

View File

@ -36,8 +36,8 @@
<MinimumRequiredVersion>5.4.0.0</MinimumRequiredVersion>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.html</WebPage>
<ApplicationRevision>3</ApplicationRevision>
<ApplicationVersion>7.2.7.3</ApplicationVersion>
<ApplicationRevision>5</ApplicationRevision>
<ApplicationVersion>7.2.7.5</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>
<PublishWizardCompleted>true</PublishWizardCompleted>

View File

@ -65,7 +65,7 @@ namespace ENI2.EditControls
private void textBoxSearchDescription_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
{
string searchText = this.textBoxSearchDescription.Text.Trim();
if (_portAreas == null) return;
lock (filterLock)
{
IEnumerable<PortAreaInfo> filtered = _portAreas;

View File

@ -135,7 +135,7 @@ namespace ENI2
this._dbWatchDog.Register(aMessageCore);
drc.HighlightReset += Drc_HighlightReset;
drc.OpenNewCoreRequested += (core) => this.AnmeldungenControl_MessageCoreSelected(core);
drc.OpenNewCoreRequested += (core) => this.AnmeldungenControl_MessageCoreSelected(core, DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].ShipcallDisplayMode);
drc.ReloadCoreRequested += Drc_ReloadCoreRequested;
}
@ -472,7 +472,7 @@ namespace ENI2
if (((ShowIdDialog)sid).OpenCore)
{
Dispatcher.BeginInvoke((Action)(() => {
this.AnmeldungenControl_MessageCoreSelected(closedDialog.Core); // in einem neuen Reiter öffnen
this.AnmeldungenControl_MessageCoreSelected(closedDialog.Core, DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].ShipcallDisplayMode); // in einem neuen Reiter öffnen
}));
}
@ -540,7 +540,7 @@ namespace ENI2
// Meldeklassen für neuen Anlauf erzeugen:
bsmd.database.Util.CreateMessagesForCore(newCore, null, userEntity);
this.AnmeldungenControl_MessageCoreSelected(newCore); // in einem neuen Reiter öffnen
this.AnmeldungenControl_MessageCoreSelected(newCore, DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].ShipcallDisplayMode); // in einem neuen Reiter öffnen
// watchdog registrieren, damit die "grüne" Markierung erscheint, sobald die Anmeldung durch den Excel-Prozess gelaufen ist.
this._dbWatchDog.Register(newCore);
@ -612,7 +612,7 @@ namespace ENI2
showIdDialog.Closed += (sid, showIdArgs) =>
{
if (((ShowIdDialog)sid).OpenCore)
this.AnmeldungenControl_MessageCoreSelected(changedCore);
this.AnmeldungenControl_MessageCoreSelected(changedCore, DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].ShipcallDisplayMode);
};
showIdDialog.Show();
showIdDialog.Activate();

View File

@ -4008,6 +4008,15 @@ namespace ENI2.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to MDH simplification available.
/// </summary>
public static string textMDHSimplification {
get {
return ResourceManager.GetString("textMDHSimplification", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Was a medical practitioner consulted?.
/// </summary>
@ -5205,6 +5214,15 @@ namespace ENI2.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to SEC simplification available.
/// </summary>
public static string textSECSimplification {
get {
return ResourceManager.GetString("textSECSimplification", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Security.
/// </summary>

View File

@ -2227,4 +2227,10 @@
<data name="textRepeatNewPassword" xml:space="preserve">
<value>Repeat new password</value>
</data>
<data name="textMDHSimplification" xml:space="preserve">
<value>MDH simplification available</value>
</data>
<data name="textSECSimplification" xml:space="preserve">
<value>SEC simplification available</value>
</data>
</root>

View File

@ -207,6 +207,7 @@
<RowDefinition Height="28" />
<RowDefinition Height="28" />
<RowDefinition Height="28" />
<RowDefinition Height="28" />
<RowDefinition Height="36" />
<RowDefinition Height="180" />
@ -214,18 +215,20 @@
</Grid.RowDefinitions>
<TextBlock FontSize="18" VerticalAlignment="Bottom" Text="{x:Static p:Resources.text25CargeOnBoard}" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="3"/>
<Label HorizontalContentAlignment="Right" Grid.Row="1" Grid.Column="0" Content="{x:Static p:Resources.textGeneralCargoDescription}" Name="label_GeneralCargoDescription" Margin="0,0,10,0"/>
<ComboBox Name="comboBoxGeneralDescriptionOfCargo" Grid.Row="1" Grid.Column="1" IsEditable="True" StaysOpenOnEdit="True" SelectedIndex="{Binding GeneralDescriptionOfCargo, Converter={util:ByteConverter}}" Margin="2" IsTextSearchEnabled="True"/>
<ComboBox Name="comboBoxGeneralDescriptionOfCargo" Grid.Row="1" Grid.Column="1" IsEditable="False" StaysOpenOnEdit="True" SelectedIndex="{Binding GeneralDescriptionOfCargo, Converter={util:ByteConverter}}" Margin="2" IsTextSearchEnabled="True"/>
<Label HorizontalContentAlignment="Right" Grid.Row="2" Grid.Column="0" Content="{x:Static p:Resources.textFumigatedBulkCargo}" Name="label_INFOFumigatedBulkCargo" VerticalContentAlignment="Center" Margin="0,0,10,0"/>
<CheckBox Grid.Row="2" Grid.Column="1" Name="checkBoxFumigatedBulkCargo" VerticalContentAlignment="Center" IsChecked="{Binding FumigatedBulkCargoBool, Mode=TwoWay}" Margin="2"/>
<Label Content="{x:Static p:Resources.textTankerCondition}" Grid.Column="0" Grid.Row="3" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
<ComboBox Grid.Row="3" Grid.Column="1" Name="comboBoxConditionCargoBallastTanks" Margin="2" SelectedIndex="{Binding ConditionCargoBallastTanks, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Converter={util:ByteConverter}}" IsEnabled="{Binding ElementName=checkBoxTanker, Path=IsChecked}" ContextMenu="{DynamicResource ClearContextMenu}"/>
<Label Content="{x:Static p:Resources.textTankerNatureOfCargo}" Grid.Column="0" Grid.Row="4" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
<TextBox Text="{Binding NatureOfCargo, Mode=TwoWay, Converter={util:TrimStringConverter}}" Name="textBoxNatureOfCargo" Grid.Column="1" Grid.Row="4" Margin="2,2,2,2" IsEnabled="{Binding ElementName=checkBoxTanker, Path=IsChecked}" VerticalContentAlignment="Center" MaxLength="99" />
<Label Content="{x:Static p:Resources.textTankerVolumeOfCargo}" Grid.Column="0" Grid.Row="5" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
<xctk:DoubleUpDown Grid.Row="5" Grid.Column="1" Name="doubleUpDownVolumeOfCargo" ShowButtonSpinner="False" ParsingNumberStyle="Any" Margin="2,2,2,2" FormatString="N3" Value="{Binding VolumeOfCargo, Mode=TwoWay}" IsEnabled="{Binding ElementName=checkBoxTanker, Path=IsChecked}" TextAlignment="Left"/>
<CheckBox Grid.Row="2" Grid.Column="1" Name="checkBoxFumigatedBulkCargo" VerticalContentAlignment="Center" IsChecked="{Binding FumigatedBulkCargoBool, Mode=TwoWay}" Margin="2,2,2,2"/>
<Label HorizontalContentAlignment="Right" Grid.Row="3" Grid.Column="0" Content="{x:Static p:Resources.textTanker}" VerticalContentAlignment="Center" Margin="0,0,10,0" />
<CheckBox Grid.Row="3" Grid.Column="1" Name="checkBoxTanker" VerticalContentAlignment="Center" IsChecked="{Binding Tanker, Mode=TwoWay}" Margin="2,2,2,2" />
<Label Content="{x:Static p:Resources.textTankerCondition}" Grid.Column="0" Grid.Row="4" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
<ComboBox Grid.Row="4" Grid.Column="1" Name="comboBoxConditionCargoBallastTanks" Margin="2" SelectedIndex="{Binding ConditionCargoBallastTanks, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Converter={util:ByteConverter}}" IsEnabled="{Binding ElementName=checkBoxTanker, Path=IsChecked}" ContextMenu="{DynamicResource ClearContextMenu}"/>
<Label Content="{x:Static p:Resources.textTankerNatureOfCargo}" Grid.Column="0" Grid.Row="5" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
<TextBox Text="{Binding NatureOfCargo, Mode=TwoWay, Converter={util:TrimStringConverter}}" Name="textBoxNatureOfCargo" Grid.Column="1" Grid.Row="5" Margin="2,2,2,2" IsEnabled="{Binding ElementName=checkBoxTanker, Path=IsChecked}" VerticalContentAlignment="Center" MaxLength="99" />
<Label Content="{x:Static p:Resources.textTankerVolumeOfCargo}" Grid.Column="0" Grid.Row="6" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
<xctk:DoubleUpDown Grid.Row="6" Grid.Column="1" Name="doubleUpDownVolumeOfCargo" ShowButtonSpinner="False" ParsingNumberStyle="Any" Margin="2,2,2,2" FormatString="N3" Value="{Binding VolumeOfCargo, Mode=TwoWay}" IsEnabled="{Binding ElementName=checkBoxTanker, Path=IsChecked}" TextAlignment="Left"/>
<TextBlock FontSize="18" VerticalAlignment="Bottom" Text="{x:Static p:Resources.text26CargoPort}" Grid.Column="0" Grid.Row="6" Grid.ColumnSpan="3"/>
<GroupBox Name="ladgGroupBox" Header="{x:Static p:Resources.textLadg}" Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="3">
<TextBlock FontSize="18" VerticalAlignment="Bottom" Text="{x:Static p:Resources.text26CargoPort}" Grid.Column="0" Grid.Row="7" Grid.ColumnSpan="3"/>
<GroupBox Name="ladgGroupBox" Header="{x:Static p:Resources.textLadg}" Grid.Row="8" Grid.Column="0" Grid.ColumnSpan="3">
<enictrl:ENIDataGrid x:Name="dataGridLADG" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
AutoGenerateColumns="False" Margin="0,5,0,0">
<DataGrid.Columns>
@ -304,7 +307,7 @@
</DatePicker>
<TextBox Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="2" Grid.RowSpan="1" Name="textBoxWasteDisposalServiceProviders" Text="{Binding WasteDisposalServiceProviderText, Converter={util:TrimStringConverter}}" Margin="2" />
<Label Grid.Row="6" Grid.Column="0" HorizontalContentAlignment="Right" Content="{x:Static p:Resources.textAgentTemplate}" Margin="0,0,10,0" />
<Grid Grid.Row="6" Grid.Column="1" Grid.ColumnSpan="2">
<Grid Grid.Row="6" Grid.Column="1" Grid.ColumnSpan="2" x:Name="gridWasteControls">
<Grid.ColumnDefinitions>
<ColumnDefinition Width=".25*" />
<ColumnDefinition Width=".25*" />

View File

@ -107,6 +107,7 @@ namespace ENI2.SheetDisplayControls
portAreas = LocalizedLookup.getPortAreasForLocode(this.Core.PoC);
this.comboBoxPortArea.ItemsSource = portAreas;
this.comboBoxPortArea.DataContext = this._info;
this.textRequestedPostionInPortOfCall.DataContext = this._info;
this.textSpecialRequirements.DataContext = this._info;
this.textConstructionCharacteristics.DataContext = this._info;
@ -160,6 +161,7 @@ namespace ENI2.SheetDisplayControls
this.comboBoxConditionCargoBallastTanks.DataContext = this._pre72H;
this.textBoxNatureOfCargo.DataContext = this._pre72H;
this.doubleUpDownVolumeOfCargo.DataContext = this._pre72H;
this.checkBoxTanker.DataContext = this._pre72H;
// 2.6
this.dataGridLADG.Initialize();
@ -170,6 +172,8 @@ namespace ENI2.SheetDisplayControls
this.dataGridLADG.CreateRequested += DataGridLADG_CreateRequested;
// 2.7
this.checkBoxValidExemption.Checked += CheckBoxValidExemption_Checked;
this.checkBoxValidExemption.Unchecked += CheckBoxValidExemption_Checked;
this.checkBoxAccurateCorrectDetails.DataContext = _was;
this.checkBoxValidExemption.DataContext = _was;
this.dataGridWaste.Initialize();
@ -200,6 +204,17 @@ namespace ENI2.SheetDisplayControls
}
private void CheckBoxValidExemption_Checked(object sender, RoutedEventArgs e)
{
bool on = !(this.checkBoxValidExemption.IsChecked ?? false);
this.checkBoxAccurateCorrectDetails.IsEnabled = on;
this.locodeCtrlLastWastePort.IsEnabled = on;
this.datePickerDateLastDisposal.IsEnabled = on;
this.textBoxWasteDisposalServiceProviders.IsEnabled = on;
this.gridWasteControls.IsEnabled = on;
this.dataGridWaste.IsEnabled = on;
}
public override void SetEnabled(bool enabled)
{
base.SetEnabled(enabled);

View File

@ -15,7 +15,7 @@
<ScrollViewer PreviewMouseWheel="ScrollViewer_PreviewMouseWheel">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="220"/>
<ColumnDefinition Width="240"/>
<ColumnDefinition Width=".3*" />
<ColumnDefinition Width=".3*" />
</Grid.ColumnDefinitions>
@ -50,11 +50,11 @@
<Label HorizontalContentAlignment="Right" Grid.Row="2" Grid.Column="0" Content="{x:Static p:Resources.textCurrentShipSecLevel}" Name="label_CurrentShipSecLevel" Margin="0,0,10,0"/>
<ComboBox Name="comboBoxCurrentShipSecurityLevel" Grid.Row="2" Grid.Column="1" SelectedValue="{Binding CurrentShipSecurityLevel}" Margin="2" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" />
<Label HorizontalContentAlignment="Right" Grid.Row="3" Grid.Column="0" Content="{x:Static p:Resources.textAnchored}" Name="label_IsAnchored" Margin="0,0,10,0" />
<CheckBox Grid.Column="1" Grid.Row="3" IsThreeState="True" VerticalContentAlignment="Center" Name="checkBox_IsAnchored" IsChecked="{Binding IsAnchored}"/>
<CheckBox Grid.Column="1" Grid.Row="3" IsThreeState="False" VerticalContentAlignment="Center" Name="checkBox_IsAnchored" IsChecked="{Binding IsAnchored}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="4" Grid.Column="0" Content="{x:Static p:Resources.textAreMatterToReport}" Name="label_AreMatterToReport" Margin="0,0,10,0"/>
<CheckBox Grid.Column="1" Grid.Row="4" IsThreeState="True" VerticalContentAlignment="Center" Name="checkBox_AreMatterToReport" IsChecked="{Binding AreMatterToReport}"/>
<CheckBox Grid.Column="1" Grid.Row="4" IsThreeState="False" VerticalContentAlignment="Center" Name="checkBox_AreMatterToReport" IsChecked="{Binding AreMatterToReport}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="5" Grid.Column="0" Content="{x:Static p:Resources.textMatterToReport}" Name="label_MatterToReport" Margin="0,0,10,0"/>
<TextBox Name="textBoxMatterToReport" Grid.Row="5" Grid.Column="1" MaxLength="1024" Text="{Binding MatterToReport, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center"/>
<TextBox Name="textBoxMatterToReport" Grid.Row="5" Grid.Column="1" MaxLength="1024" Text="{Binding MatterToReport, Converter={util:TrimStringConverter}}" IsEnabled="{Binding ElementName=checkBox_AreMatterToReport, Path=IsChecked}" Margin="2" VerticalContentAlignment="Center"/>
<TextBlock FontSize="18" VerticalAlignment="Bottom" Text="{x:Static p:Resources.text32PersonsOnBoard}" Grid.Column="0" Grid.Row="6" Grid.ColumnSpan="3"/>
<Label Content="{x:Static p:Resources.textPersonsOnBoard}" Grid.Column="0" Grid.Row="7" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>

View File

@ -92,22 +92,22 @@
<enictrl:ENIDataGrid Grid.Row="16" Grid.Column="0" Grid.ColumnSpan="3" x:Name="dataGridTowageOnDeparture" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" AutoGenerateColumns="False" Margin="0,5,0,0">
<DataGrid.Columns>
<DataGridTextColumn Header="" Binding="{Binding Identifier}" IsReadOnly="True" />
<DataGridTextColumn Header="{x:Static p:Resources.textName}" Binding="{Binding TowageOnArrivalName}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textPurposeOfCall}" Binding="{Binding TowageOnArrivalPurposeOfCall}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textFlag}" Binding="{Binding TowageOnArrivalFlag}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textDraughtInDecimetre}" Binding="{Binding TowageOnArrivalDraught_DMT, StringFormat={}{0:N1}}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textGrossTonnage}" Binding="{Binding TowageOnArrivalGrossTonnage}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textLengthOverAll}" Binding="{Binding TowageOnArrivalLengthOverall_MTR, StringFormat={}{0:N2}}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textBeamOverAll}" Binding="{Binding TowageOnArrivalBeam_MTR, StringFormat={}{0:N2}}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textRemarks}" Binding="{Binding TowageOnArrivalRemarks}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textCompanyName}" Binding="{Binding TowageOnArrivalOperatorCompanyName}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textStreetNumber}" Binding="{Binding TowageOnArrivalOperatorStreetNameAndNumber}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textPostalCode}" Binding="{Binding TowageOnArrivalOperatorPostalCode}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textCity}" Binding="{Binding TowageOnArrivalOperatorCity}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textCountry}" Binding="{Binding TowageOnArrivalOperatorCountry}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textEMail}" Binding="{Binding TowageOnArrivalOperatorEmail}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textPhone}" Binding="{Binding TowageOnArrivalOperatorPhone}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textFax}" Binding="{Binding TowageOnArrivalOperatorFax}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textName}" Binding="{Binding TowageOnDepartureName}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textPurposeOfCall}" Binding="{Binding TowageOnDeparturePurposeOfCall}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textFlag}" Binding="{Binding TowageOnDepartureFlag}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textDraughtInDecimetre}" Binding="{Binding TowageOnDepartureDraught_DMT, StringFormat={}{0:N1}}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textGrossTonnage}" Binding="{Binding TowageOnDepartureGrossTonnage}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textLengthOverAll}" Binding="{Binding TowageOnDepartureLengthOverall_MTR, StringFormat={}{0:N2}}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textBeamOverAll}" Binding="{Binding TowageOnDepartureBeam_MTR, StringFormat={}{0:N2}}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textRemarks}" Binding="{Binding TowageOnDepartureRemarks}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textCompanyName}" Binding="{Binding TowageOnDepartureOperatorCompanyName}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textStreetNumber}" Binding="{Binding TowageOnDepartureOperatorStreetNameAndNumber}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textPostalCode}" Binding="{Binding TowageOnDepartureOperatorPostalCode}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textCity}" Binding="{Binding TowageOnDepartureOperatorCity}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textCountry}" Binding="{Binding TowageOnDepartureOperatorCountry}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textEMail}" Binding="{Binding TowageOnDepartureOperatorEmail}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textPhone}" Binding="{Binding TowageOnDepartureOperatorPhone}" IsReadOnly="True" Width="Auto" />
<DataGridTextColumn Header="{x:Static p:Resources.textFax}" Binding="{Binding TowageOnDepartureOperatorFax}" IsReadOnly="True" Width="Auto" />
</DataGrid.Columns>
</enictrl:ENIDataGrid>

View File

@ -147,59 +147,59 @@
<TextBlock FontSize="18" VerticalAlignment="Bottom" Text="{x:Static p:Resources.text52SSCEC}" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="2"/>
<Label HorizontalContentAlignment="Right" Grid.Row="1" Grid.Column="0" Content="{x:Static p:Resources.textSimplificationAvailable}" Name="label_MDHSimplificationAvailable" Margin="0,0,10,0"/>
<Label HorizontalContentAlignment="Right" Grid.Row="1" Grid.Column="0" Content="{x:Static p:Resources.textMDHSimplification}" Name="label_MDHSimplificationAvailable" Margin="0,0,10,0"/>
<CheckBox Name="checkSimplification" IsChecked="{Binding MDHSimplification}" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center"/>
<Label HorizontalContentAlignment="Right" Grid.Row="2" Grid.Column="0" Content="{x:Static p:Resources.textPortOfHealth}" Name="label_PortOfHealth" Margin="0,0,10,0"/>
<enictrl:LocodeControl x:Name="locodePortWhereHealthDeclarationWasGiven" Grid.Row="2" Grid.Column="1" LocodeValue="{Binding PortOfCallWhereCompleteMDHNotified, Mode=TwoWay}" />
<enictrl:LocodeControl x:Name="locodePortWhereHealthDeclarationWasGiven" Grid.Row="2" Grid.Column="1" LocodeValue="{Binding PortOfCallWhereCompleteMDHNotified, Mode=TwoWay}" IsEnabled="{Binding ElementName=checkSimplification, Path=IsChecked}" />
<Label HorizontalContentAlignment="Right" Grid.Row="3" Grid.Column="0" Content="{x:Static p:Resources.textSanitaryControlExemption}" Name="label_SanitaryControlExemption" Margin="0,0,10,0"/>
<CheckBox Name="checkBoxSanitaryControlExemption" IsChecked="{Binding ValidSanitaryControlExemptionOrCertificateOnBoard}" Grid.Row="3" Grid.Column="1" VerticalAlignment="Center"/>
<CheckBox Name="checkBoxSanitaryControlExemption" IsChecked="{Binding ValidSanitaryControlExemptionOrCertificateOnBoard}" Grid.Row="3" Grid.Column="1" VerticalAlignment="Center" IsEnabled="{Binding ElementName=checkSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="4" Grid.Column="0" Content="{x:Static p:Resources.textPlaceOfIssue}" Name="label_PlaceOfIssue" Margin="0,0,10,0"/>
<TextBox Name="textBoxPlaceOfIssue" Grid.Row="4" Grid.Column="1" MaxLength="100" Text="{Binding PlaceOfIssue, Converter={util:TrimStringConverter}}" Margin="2" />
<TextBox Name="textBoxPlaceOfIssue" Grid.Row="4" Grid.Column="1" MaxLength="100" Text="{Binding PlaceOfIssue, Converter={util:TrimStringConverter}}" Margin="2" IsEnabled="{Binding ElementName=checkSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="5" Grid.Column="0" Content="{x:Static p:Resources.textDateOfIssue}" Name="label_DateOfIssue" Margin="0,0,10,0"/>
<DatePicker Name="datePickerDateOfIssue" Grid.Row="5" Grid.Column="1" SelectedDate="{Binding DateOfIssue, Mode=TwoWay}" Margin="2" ContextMenu="{DynamicResource ClearContextMenu}" DisplayDateStart="1/1/1900" DisplayDateEnd="12/31/2199" PreviewKeyUp="DateTimePicker_PreviewKeyUpDate">
<DatePicker Name="datePickerDateOfIssue" Grid.Row="5" Grid.Column="1" SelectedDate="{Binding DateOfIssue, Mode=TwoWay}" Margin="2" ContextMenu="{DynamicResource ClearContextMenu}" DisplayDateStart="1/1/1900" DisplayDateEnd="12/31/2199" PreviewKeyUp="DateTimePicker_PreviewKeyUpDate" IsEnabled="{Binding ElementName=checkSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}">
<DatePicker.BlackoutDates>
<CalendarDateRange Start="1/1/0001" End="12/31/1799"/>
<CalendarDateRange Start="1/1/2199" End="1/1/9999"/>
</DatePicker.BlackoutDates>
</DatePicker>
<Label HorizontalContentAlignment="Right" Grid.Row="6" Grid.Column="0" Content="{x:Static p:Resources.textReinspectionSanitaryControl}" Name="label_ReinspectionSanitaryControl" Margin="0,0,10,0"/>
<CheckBox Name="checkBoxReinspectionSanitary" IsChecked="{Binding SanitaryControlReinspectionRequired}" Grid.Row="6" Grid.Column="1" VerticalAlignment="Center"/>
<CheckBox Name="checkBoxReinspectionSanitary" IsChecked="{Binding SanitaryControlReinspectionRequired}" Grid.Row="6" Grid.Column="1" VerticalAlignment="Center" IsEnabled="{Binding ElementName=checkSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
<TextBlock FontSize="18" VerticalAlignment="Bottom" Text="{x:Static p:Resources.text53ISPS}" Grid.Column="0" Grid.Row="7" Grid.ColumnSpan="2"/>
<Label HorizontalContentAlignment="Right" Grid.Row="8" Grid.Column="0" Content="{x:Static p:Resources.textSimplificationAvailable}" Name="label_SimplificationAvailable" Margin="0,0,10,0"/>
<Label HorizontalContentAlignment="Right" Grid.Row="8" Grid.Column="0" Content="{x:Static p:Resources.textSECSimplification}" Name="label_SimplificationAvailable" Margin="0,0,10,0"/>
<CheckBox Name="checkBoxSECSimplification" IsChecked="{Binding SECSimplification}" Grid.Row="8" Grid.Column="1" VerticalAlignment="Center"/>
<Label HorizontalContentAlignment="Right" Grid.Row="9" Grid.Column="0" Content="{x:Static p:Resources.textPortWhereSimplWasGiven}" Name="label_PortWhereSimplWasGiven" Margin="0,0,10,0"/>
<enictrl:LocodeControl x:Name="locodePortOfCallWhereCompleteSECNotified" Grid.Row="9" Grid.Column="1" LocodeValue="{Binding PortOfCallWhereCompleteSECNotified, Mode=TwoWay}" />
<enictrl:LocodeControl x:Name="locodePortOfCallWhereCompleteSECNotified" Grid.Row="9" Grid.Column="1" LocodeValue="{Binding PortOfCallWhereCompleteSECNotified, Mode=TwoWay}" IsEnabled="{Binding ElementName=checkBoxSECSimplification, Path=IsChecked}"/>
<Label HorizontalContentAlignment="Right" VerticalContentAlignment="Bottom" Grid.Row="10" Grid.Column="0" Content="{x:Static p:Resources.textChiefSecurityOfficer}" Name="label_ChiefSecurityOfficer" Margin="0,0,10,0"/>
<Label HorizontalContentAlignment="Right" Grid.Row="11" Grid.Column="0" Content="{x:Static p:Resources.textLastName}" Name="label_LastName" Margin="0,0,10,0"/>
<TextBox Name="textBoxCSOLastName" Grid.Row="11" Grid.Column="1" MaxLength="100" Text="{Binding CSOLastName, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center"/>
<TextBox Name="textBoxCSOLastName" Grid.Row="11" Grid.Column="1" MaxLength="100" Text="{Binding CSOLastName, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center" IsEnabled="{Binding ElementName=checkBoxSECSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="12" Grid.Column="0" Content="{x:Static p:Resources.textFirstName}" Name="label_FirstName" Margin="0,0,10,0"/>
<TextBox Name="textBoxCSOFirstName" Grid.Row="12" Grid.Column="1" MaxLength="100" Text="{Binding CSOFirstName, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center"/>
<TextBox Name="textBoxCSOFirstName" Grid.Row="12" Grid.Column="1" MaxLength="100" Text="{Binding CSOFirstName, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center" IsEnabled="{Binding ElementName=checkBoxSECSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="13" Grid.Column="0" Content="{x:Static p:Resources.textPhone}" Name="label_Phone" Margin="0,0,10,0"/>
<TextBox Name="textBoxCSOPhoneName" Grid.Row="13" Grid.Column="1" MaxLength="100" Text="{Binding CSOPhone, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center"/>
<TextBox Name="textBoxCSOPhoneName" Grid.Row="13" Grid.Column="1" MaxLength="100" Text="{Binding CSOPhone, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center" IsEnabled="{Binding ElementName=checkBoxSECSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="14" Grid.Column="0" Content="{x:Static p:Resources.textEMail}" Name="label_EMail" Margin="0,0,10,0"/>
<TextBox Name="textBoxCSOEMailName" Grid.Row="14" Grid.Column="1" MaxLength="100" Text="{Binding CSOEMail, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center"/>
<TextBox Name="textBoxCSOEMailName" Grid.Row="14" Grid.Column="1" MaxLength="100" Text="{Binding CSOEMail, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center" IsEnabled="{Binding ElementName=checkBoxSECSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="15" Grid.Column="0" Content="{x:Static p:Resources.textFax}" Name="label_Fax" Margin="0,0,10,0"/>
<TextBox Name="textBoxCSOFaxName" Grid.Row="15" Grid.Column="1" MaxLength="100" Text="{Binding CSOFax, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center"/>
<TextBox Name="textBoxCSOFaxName" Grid.Row="15" Grid.Column="1" MaxLength="100" Text="{Binding CSOFax, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center" IsEnabled="{Binding ElementName=checkBoxSECSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="16" Grid.Column="0" Content="{x:Static p:Resources.textValidISSCOnBoard}" Name="label_ValidISSCOnBoard" Margin="0,0,10,0"/>
<CheckBox Name="checkBoxValidISSCOnBoard" IsChecked="{Binding ValidISSCOnBoard}" Grid.Row="16" Grid.Column="1" VerticalAlignment="Center"/>
<CheckBox Name="checkBoxValidISSCOnBoard" IsChecked="{Binding ValidISSCOnBoard}" Grid.Row="16" Grid.Column="1" VerticalAlignment="Center" IsEnabled="{Binding ElementName=checkBoxSECSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="17" Grid.Column="0" Content="{x:Static p:Resources.textReasonForInvalidISSC}" Name="label_ReasonForInvalidISSC" Margin="0,0,10,0"/>
<TextBox Name="textBoxReasonsForNoValidISSC" Grid.Row="17" Grid.Column="1" MaxLength="255" Text="{Binding ReasonsForNoValidISSC, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center"/>
<TextBox Name="textBoxReasonsForNoValidISSC" Grid.Row="17" Grid.Column="1" MaxLength="255" Text="{Binding ReasonsForNoValidISSC, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center" IsEnabled="{Binding ElementName=checkBoxSECSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="18" Grid.Column="0" Content="{x:Static p:Resources.textISSCType}" Name="label_ISSCType" Margin="0,0,10,0"/>
<ComboBox Name="comboBoxISSCType" Grid.Row="18" Grid.Column="1" SelectedIndex="{Binding ISSCType, Converter={util:ByteConverter}}" Margin="2" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True"/>
<ComboBox Name="comboBoxISSCType" Grid.Row="18" Grid.Column="1" SelectedIndex="{Binding ISSCType, Converter={util:ByteConverter}}" Margin="2" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" IsEnabled="{Binding ElementName=checkBoxSECSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="19" Grid.Column="0" Content="{x:Static p:Resources.textISSCExpirationDate}" Name="label_ISSCExpirationDate" Margin="0,0,10,0"/>
<DatePicker Name="datePickerISSCDateOfExpiration" Grid.Row="19" Grid.Column="1" SelectedDate="{Binding ISSCDateOfExpiration}" Margin="2" DisplayDateStart="1/1/1900" DisplayDateEnd="12/31/2199" PreviewKeyUp="DateTimePicker_PreviewKeyUpDate">
<DatePicker Name="datePickerISSCDateOfExpiration" Grid.Row="19" Grid.Column="1" SelectedDate="{Binding ISSCDateOfExpiration}" Margin="2" DisplayDateStart="1/1/1900" DisplayDateEnd="12/31/2199" PreviewKeyUp="DateTimePicker_PreviewKeyUpDate" IsEnabled="{Binding ElementName=checkBoxSECSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}">
<DatePicker.BlackoutDates>
<CalendarDateRange Start="1/1/0001" End="12/31/1799"/>
<CalendarDateRange Start="1/1/2199" End="1/1/9999"/>
</DatePicker.BlackoutDates>
</DatePicker>
<Label HorizontalContentAlignment="Right" Grid.Row="20" Grid.Column="0" Content="{x:Static p:Resources.textISSCIssuerType}" Name="label_ISSCIssuerType" Margin="0,0,10,0"/>
<ComboBox Name="comboBoxISSCIssuerType" Grid.Row="20" Grid.Column="1" SelectedIndex="{Binding ISSCIssuerType, Converter={util:ByteConverter}}" Margin="2" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True"/>
<ComboBox Name="comboBoxISSCIssuerType" Grid.Row="20" Grid.Column="1" SelectedIndex="{Binding ISSCIssuerType, Converter={util:ByteConverter}}" Margin="2" IsEditable="True" StaysOpenOnEdit="True" IsTextSearchEnabled="True" IsEnabled="{Binding ElementName=checkBoxSECSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="21" Grid.Column="0" Content="{x:Static p:Resources.textISSCIssuerName}" Name="label_ISSCIssuerName" Margin="0,0,10,0"/>
<TextBox Name="textBoxISSCIssuerName" Grid.Row="21" Grid.Column="1" MaxLength="100" Text="{Binding ISSCIssuerName, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center"/>
<TextBox Name="textBoxISSCIssuerName" Grid.Row="21" Grid.Column="1" MaxLength="100" Text="{Binding ISSCIssuerName, Converter={util:TrimStringConverter}}" Margin="2" VerticalContentAlignment="Center" IsEnabled="{Binding ElementName=checkBoxSECSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
<Label HorizontalContentAlignment="Right" Grid.Row="22" Grid.Column="0" Content="{x:Static p:Resources.textApprovedSecPlan}" Name="label_ApprovedSecPlan" Margin="0,0,10,0"/>
<CheckBox Name="checkBoxApprovedSecurityPlanOnBoard" IsChecked="{Binding ApprovedSecurityPlanOnBoard}" Grid.Row="22" Grid.Column="1" VerticalAlignment="Center"/>
<CheckBox Name="checkBoxApprovedSecurityPlanOnBoard" IsChecked="{Binding ApprovedSecurityPlanOnBoard}" Grid.Row="22" Grid.Column="1" VerticalAlignment="Center" IsEnabled="{Binding ElementName=checkBoxSECSimplification, Path=IsChecked, Converter={util:InverseBooleanConverter}}"/>
</Grid>
</TabItem>
<TabItem Header="{x:Static p:Resources.textTab53}">

View File

@ -107,11 +107,11 @@
<Grid.RowDefinitions>
<RowDefinition Height="36" />
<RowDefinition Height="28" />
<RowDefinition Height="300" />
<RowDefinition Height="260" />
<RowDefinition Height="36" />
<RowDefinition Height="28" />
<RowDefinition Height="220" />
<RowDefinition Height="260" />
<RowDefinition Height="36" />
<RowDefinition Height="28" />
@ -220,7 +220,7 @@
<ScrollViewer PreviewMouseWheel="ScrollViewer_PreviewMouseWheel">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="280"/>
<ColumnDefinition Width="290"/>
<ColumnDefinition Width=".3*" />
<ColumnDefinition Width=".3*" />
</Grid.ColumnDefinitions>
@ -247,7 +247,7 @@
<TextBlock FontSize="18" VerticalAlignment="Bottom" Text="{x:Static p:Resources.text110MaritimeHealthData}" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="3"/>
<TextBlock Grid.Row="1" Grid.RowSpan="2" Text="{x:Static p:Resources.textPersonDiedOnBoard}" Name="textBlock_PersonsDiedOnBoard" Margin="0,0,10,0" TextWrapping="Wrap" VerticalAlignment="Top"/>
<CheckBox Name="checkBoxHavePersonsDied" IsChecked="{Binding NonAccidentalDeathsDuringVoyage}" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center"/>
<CheckBox Name="checkBoxHavePersonsDied" IsChecked="{Binding NonAccidentalDeathsDuringVoyage}" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" />
<Label HorizontalContentAlignment="Right" Grid.Row="2" Grid.Column="0" Content="{x:Static p:Resources.textNumberOfDeaths}" Name="label_NumberOfDeaths" Margin="0,0,10,0"/>
<xctk:IntegerUpDown Name="integerUpDownNumberOfDeaths" Grid.Row="2" Grid.Column="1" Value="{Binding NonAccidentalDeathsDuringVoyageCount}" Margin="2" ShowButtonSpinner="False" TextAlignment="Left"/>
<TextBlock Grid.Row="3" Grid.Column="0" Text="{x:Static p:Resources.textDiseaseInfectiousNature}" Name="textBlock_diseaseInfectious" TextWrapping="Wrap" Margin="0,0,10,0"/>

View File

@ -182,6 +182,9 @@ namespace ENI2.SheetDisplayControls
this.checkBoxStowaways.DataContext = _bpol;
this.checkBoxCruiseShip.DataContext = _bpol;
this.checkBoxCruiseShip.Checked += CheckBoxCruiseShip_Checked;
this.checkBoxCruiseShip.Unchecked += CheckBoxCruiseShip_Checked;
this.CheckBoxCruiseShip_Checked(null, null);
this.dataGridPortOfItinerary.Initialize();
this.dataGridPortOfItinerary.ItemsSource = _bpol.PortOfItineraries;
this.dataGridPortOfItinerary.AddingNewItem += DataGridPortOfItinerary_AddingNewItem;
@ -284,6 +287,12 @@ namespace ENI2.SheetDisplayControls
this.dataGridSanitaryMeasures.IsReadOnly = !(this.checkBoxSanitaryMeasuresApplied.IsChecked ?? false);
}
private void CheckBoxCruiseShip_Checked(object sender, RoutedEventArgs e)
{
this.buttonImportPortOfItineraryFromSEC.IsEnabled = this.checkBoxCruiseShip.IsChecked ?? false;
this.dataGridPortOfItinerary.IsEnabled = this.checkBoxCruiseShip.IsChecked ?? false;
}
private void buttonImportExcelLast10PortFacilities_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog

View File

@ -71,6 +71,11 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn-->
<DataGridTextColumn Header="{x:Static p:Resources.textAmountWasteReceived_MTQ}" IsReadOnly="False" Width="0.15*">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</DataGridTextColumn.ElementStyle>
<DataGridTextColumn.Binding>
<Binding Path="AmountWasteReceived_MTQ" Mode="TwoWay" StringFormat="N3" >
<Binding.ValidationRules>

View File

@ -28,25 +28,34 @@ namespace ENI2.Util
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
if (targetType != typeof(bool?))
throw new InvalidOperationException("The target must be a boolean");
if (targetType == typeof(bool?))
{
if (!((bool?)value).HasValue) return null;
return !(bool?)value;
}
if (targetType == typeof(bool))
return !(bool) value;
throw new InvalidOperationException("The target must be a boolean");
}
public object ConvertBack(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
if (targetType != typeof(bool?))
throw new InvalidOperationException("The target must be a boolean");
if (targetType == typeof(bool?))
{
if (!((bool?)value).HasValue) return null;
return !(bool?)value;
}
if(targetType == typeof(bool))
return !(bool)value;
throw new InvalidOperationException("The target must be a boolean");
}
#endregion
}
}

View File

@ -83,7 +83,7 @@ namespace bsmd.database
public DateTime? ETAToNextPort { get; set; }
[ENI2Validation]
public bool? IsAnchored { get; set; }
public bool? IsAnchored { get; set; } = false;
#endregion

View File

@ -28,7 +28,7 @@ namespace bsmd.database
[Validation(ValidationCode.NOT_NULL)]
[LookupName("PRE72H.Tanker")]
[ENI2Validation]
public bool? Tanker { get; set; }
public bool? Tanker { get; set; } = false;
[ShowReport]
[ENI2Validation]

View File

@ -140,7 +140,7 @@ namespace bsmd.database
public byte? GeneralDescriptionOfCargo { get; set; }
[ENI2Validation]
public bool? AreMatterToReport { get; set; }
public bool? AreMatterToReport { get; set; } = false;
[LookupName("SEC.MatterToReport")]
[MaxLength(1024)]