Zwischenstand - Validierungseditor und Validierungsattribute
This commit is contained in:
parent
867146eb54
commit
44cec6dd9f
@ -14,17 +14,23 @@ namespace ENI2.Controls
|
||||
/// </summary>
|
||||
public partial class ConditionGroupControl : UserControl
|
||||
{
|
||||
private ConditionGroup _conditionGroup;
|
||||
|
||||
public ConditionGroupControl()
|
||||
{
|
||||
InitializeComponent();
|
||||
Loaded += ConditionGroupControl_Loaded;
|
||||
}
|
||||
|
||||
public ConditionGroup ConditionGroup { get; set; }
|
||||
public ConditionGroup ConditionGroup
|
||||
{
|
||||
get { return this._conditionGroup; }
|
||||
set { this._conditionGroup = value; this.DataContext = value; }
|
||||
}
|
||||
|
||||
private void ConditionGroupControl_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.DataContext = this.ConditionGroup;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
34
ENI-2/ENI2/ENI2/Controls/ValidationConditionControl.xaml
Normal file
34
ENI-2/ENI2/ENI2/Controls/ValidationConditionControl.xaml
Normal file
@ -0,0 +1,34 @@
|
||||
<UserControl x:Class="ENI2.Controls.ValidationConditionControl"
|
||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:local="clr-namespace:ENI2.Controls"
|
||||
xmlns:p="clr-namespace:ENI2.Properties"
|
||||
xmlns:db="clr-namespace:bsmd.database;assembly=bsmd.database"
|
||||
xmlns:util="clr-namespace:ENI2.Util"
|
||||
mc:Ignorable="d"
|
||||
d:DesignHeight="150" d:DesignWidth="300">
|
||||
<Grid Name="gridContent">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="0.3*" />
|
||||
<ColumnDefinition Width="0.2*" />
|
||||
<ColumnDefinition Width="0.5*" />
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="32" />
|
||||
<RowDefinition Height="32" />
|
||||
<RowDefinition Height="32" />
|
||||
<RowDefinition Height="*" />
|
||||
</Grid.RowDefinitions>
|
||||
<Label Grid.Row="0" Grid.Column="0" Content="{x:Static p:Resources.textFieldName}" VerticalContentAlignment="Center"/>
|
||||
<Label Grid.Row="0" Grid.Column="1" Content="{x:Static p:Resources.textOperator}" VerticalContentAlignment="Center"/>
|
||||
<Label Grid.Row="0" Grid.Column="2" Content="{x:Static p:Resources.textValue}" VerticalContentAlignment="Center"/>
|
||||
<ComboBox Name="comboBoxFieldName" Grid.Row="1" Grid.Column="0" Margin="2" />
|
||||
<ComboBox Name="comboBoxOperator" Grid.Row="1" Grid.Column="1" Margin="2" SelectedValuePath="Key" DisplayMemberPath="Value" />
|
||||
<TextBox Name="textBoxValue" Grid.Row="1" Grid.Column="2" Margin="2" Text="{Binding Value}" VerticalContentAlignment="Center" />
|
||||
<Label Grid.Row="2" Grid.Column="0" Content="{x:Static p:Resources.textFailureMessage}" VerticalContentAlignment="Center" />
|
||||
<TextBox Name="textBoxFailureMessage" Grid.Row="2" Grid.Column="1" Grid.RowSpan="2" Grid.ColumnSpan="2" Margin="2" Text="{Binding ErrorMessage}"/>
|
||||
|
||||
</Grid>
|
||||
</UserControl>
|
||||
49
ENI-2/ENI2/ENI2/Controls/ValidationConditionControl.xaml.cs
Normal file
49
ENI-2/ENI2/ENI2/Controls/ValidationConditionControl.xaml.cs
Normal file
@ -0,0 +1,49 @@
|
||||
// Copyright (c) 2017 schick Informatik
|
||||
// Description: Plugin Control für eine Validierungsbedingung
|
||||
//
|
||||
|
||||
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;
|
||||
|
||||
namespace ENI2.Controls
|
||||
{
|
||||
/// <summary>
|
||||
/// Interaction logic for ValidationConditionControl.xaml
|
||||
/// </summary>
|
||||
public partial class ValidationConditionControl : UserControl
|
||||
{
|
||||
private ValidationCondition _validationCondition;
|
||||
|
||||
public ValidationConditionControl()
|
||||
{
|
||||
InitializeComponent();
|
||||
Loaded += ValidationConditionControl_Loaded;
|
||||
}
|
||||
|
||||
private void ValidationConditionControl_Loaded(object sender, RoutedEventArgs e)
|
||||
{
|
||||
this.comboBoxOperator.ItemsSource = Util.EnumHelper.GetAllValuesAndDescription(typeof(ValidationCondition.ConditionOperatorEnum));
|
||||
}
|
||||
|
||||
public ValidationCondition ValidationCondition
|
||||
{
|
||||
get { return this._validationCondition; }
|
||||
set { this.gridContent.DataContext = value; this._validationCondition = value; }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -181,6 +181,9 @@
|
||||
<Compile Include="Controls\RuleControl.xaml.cs">
|
||||
<DependentUpon>RuleControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Controls\ValidationConditionControl.xaml.cs">
|
||||
<DependentUpon>ValidationConditionControl.xaml</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="CustomCommands.cs" />
|
||||
<Compile Include="DetailBaseControl.cs" />
|
||||
<Compile Include="DetailRootControl.xaml.cs">
|
||||
@ -354,6 +357,10 @@
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="Controls\ValidationConditionControl.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
</Page>
|
||||
<Page Include="ControlTemplates.xaml">
|
||||
<SubType>Designer</SubType>
|
||||
<Generator>MSBuild:Compile</Generator>
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||
xmlns:p="clr-namespace:ENI2.Properties"
|
||||
mc:Ignorable="d"
|
||||
Title="{x:Static p:Resources.textEditRules}" Height="410" Width="800" WindowStyle="SingleBorderWindow" Background="AliceBlue">
|
||||
Title="{x:Static p:Resources.textEditRules}" Height="410" Width="800" WindowStyle="SingleBorderWindow" Background="AliceBlue" Icon="/ENI2;component/Resources/mail_forward.png">
|
||||
<Grid>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="32" />
|
||||
|
||||
@ -21,6 +21,7 @@ namespace ENI2.EditControls
|
||||
private ConditionGroup rootCondition;
|
||||
private ObservableCollection<ConditionGroup> rootGroupList = new ObservableCollection<ConditionGroup>();
|
||||
private ConditionGroupControl groupControl = new ConditionGroupControl();
|
||||
private ValidationConditionControl vcControl = new ValidationConditionControl();
|
||||
|
||||
public EditRulesDialog()
|
||||
{
|
||||
@ -163,7 +164,9 @@ namespace ENI2.EditControls
|
||||
else
|
||||
{
|
||||
// Condition
|
||||
|
||||
this.groupBoxConditionDetails.Header = Properties.Resources.textValidationCondition;
|
||||
this.vcControl.ValidationCondition = (ValidationCondition)treeViewRules.SelectedItem;
|
||||
this.groupBoxConditionContainer.Children.Add(this.vcControl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
36
ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
generated
36
ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
generated
@ -1763,6 +1763,15 @@ namespace ENI2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Failure message.
|
||||
/// </summary>
|
||||
public static string textFailureMessage {
|
||||
get {
|
||||
return ResourceManager.GetString("textFailureMessage", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Fax.
|
||||
/// </summary>
|
||||
@ -1781,6 +1790,15 @@ namespace ENI2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Field name.
|
||||
/// </summary>
|
||||
public static string textFieldName {
|
||||
get {
|
||||
return ResourceManager.GetString("textFieldName", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to First name.
|
||||
/// </summary>
|
||||
@ -4004,6 +4022,15 @@ namespace ENI2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Validation condition.
|
||||
/// </summary>
|
||||
public static string textValidationCondition {
|
||||
get {
|
||||
return ResourceManager.GetString("textValidationCondition", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Valid exemption.
|
||||
/// </summary>
|
||||
@ -4022,6 +4049,15 @@ namespace ENI2.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Value.
|
||||
/// </summary>
|
||||
public static string textValue {
|
||||
get {
|
||||
return ResourceManager.GetString("textValue", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Vehicle licence plate.
|
||||
/// </summary>
|
||||
|
||||
@ -1495,4 +1495,16 @@
|
||||
<data name="textGroup" xml:space="preserve">
|
||||
<value>Group</value>
|
||||
</data>
|
||||
<data name="textFailureMessage" xml:space="preserve">
|
||||
<value>Failure message</value>
|
||||
</data>
|
||||
<data name="textFieldName" xml:space="preserve">
|
||||
<value>Field name</value>
|
||||
</data>
|
||||
<data name="textValidationCondition" xml:space="preserve">
|
||||
<value>Validation condition</value>
|
||||
</data>
|
||||
<data name="textValue" xml:space="preserve">
|
||||
<value>Value</value>
|
||||
</data>
|
||||
</root>
|
||||
Binary file not shown.
@ -9,7 +9,6 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace bsmd.database
|
||||
@ -36,53 +35,63 @@ namespace bsmd.database
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("AGNT.AgentCompanyName")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string AgentCompanyName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("AGNT.AgentStreetAndNumber")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string AgentStreetAndNumber { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("AGNT.AgentPostalCode")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string AgentPostalCode { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("AGNT.AgentCity")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string AgentCity { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("AGNT.AgentCountry")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string AgentCountry { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("AGNT.AgentLastName")]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string AgentLastName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("AGNT.AgentFirstName")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string AgentFirstName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("AGNT.AgentPhone")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string AgentPhone { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("AGNT.AgentFax")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string AgentFax { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("AGNT.AgentEMail")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string AgentEMail { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -8,7 +8,6 @@
|
||||
// Copyright (c) 2015 Informatikbüro Daniel Schick. All rights reserved.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@ -27,6 +26,7 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.TIME_IMPLAUSIBLE)]
|
||||
[LookupName("ATA.ATAPortOfCall")]
|
||||
[ENI2Validation]
|
||||
public DateTime? ATAPortOfCall { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -8,7 +8,6 @@
|
||||
// Copyright (c) 2015 Informatikbüro Daniel Schick. All rights reserved.
|
||||
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@ -27,6 +26,7 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.TIME_IMPLAUSIBLE)]
|
||||
[LookupName("ATD.ATDPortOfCall")]
|
||||
[ENI2Validation]
|
||||
public DateTime? ATDPortOfCall { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -27,10 +27,12 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string BunkerFuelType { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[ENI2Validation]
|
||||
public double? BunkerFuelQuantity_TNE { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -28,10 +28,12 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public bool? StowawaysOnBoard { get; set; }
|
||||
|
||||
|
||||
[LookupName("BPOL.CruiseShip")]
|
||||
[ENI2Validation]
|
||||
public bool? CruiseShip { get; set; }
|
||||
|
||||
public List<PortOfItinerary> PortOfItineraries { get { return this.poi; } }
|
||||
|
||||
@ -27,10 +27,12 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string BunkerFuelType { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[ENI2Validation]
|
||||
public double? BunkerFuelQuantity_TNE { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -28,21 +28,25 @@ namespace bsmd.database
|
||||
[ReportDisplayName("Last name")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string CrewMemberLastName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ReportDisplayName("First name")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string CrewMemberFirstName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ReportDisplayName("Place of birth")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string CrewMemberPlaceOfBirth { get; set; }
|
||||
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public DateTime? CrewMemberDateOfBirth { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
@ -57,6 +61,7 @@ namespace bsmd.database
|
||||
}
|
||||
}
|
||||
|
||||
[ENI2Validation]
|
||||
public byte? CrewMemberGender { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
@ -67,9 +72,11 @@ namespace bsmd.database
|
||||
[ReportDisplayName("Nationality")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(2)]
|
||||
[ENI2Validation]
|
||||
public string CrewMemberNationality { get; set; }
|
||||
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public byte? CrewMemberIdentityDocumentType { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
@ -80,20 +87,24 @@ namespace bsmd.database
|
||||
[ReportDisplayName("Identity document id")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string CrewMemberIdentityDocumentId { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ReportDisplayName("Visa number")]
|
||||
// [Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string CrewMemberVisaNumber { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ReportDisplayName("Duty")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string CrewMemberDuty { get; set; }
|
||||
|
||||
[ENI2Validation]
|
||||
public bool IsDeparture { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -27,10 +27,12 @@ namespace bsmd.database
|
||||
public NOA_NOD NOA_NOD { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public int CallPurposeCode { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string CallPurposeDescription { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -29,33 +29,43 @@ namespace bsmd.database
|
||||
#region Properties
|
||||
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string Name { get; set; }
|
||||
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string Phone { get; set; }
|
||||
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string Email { get; set; }
|
||||
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string ContactFirstName { get; set; }
|
||||
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string ContactLastName { get; set; }
|
||||
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string StreetAndNumber { get; set; }
|
||||
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string PostalCode { get; set; }
|
||||
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string City { get; set; }
|
||||
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string Country { get; set; }
|
||||
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string CustomerNumber { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -29,36 +29,47 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public bool? NoDPGOnBoardOnArrival { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public bool? DPGManifestOnBoardOnArrival { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public byte? INFShipClass { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public bool? MOUBaltic { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public bool? DPGClassificationIMDG { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public bool? DPGClassificationIGC { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public bool? DPGClassificationIBC { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public bool? DPGClassificationIMSBC { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public bool? DPGClassificationMARPOL_ANNEX_I { get; set; }
|
||||
|
||||
// DK
|
||||
[ENI2Validation]
|
||||
public string DPGContactFamilyName { get; set; }
|
||||
|
||||
// DK
|
||||
[ENI2Validation]
|
||||
public string DPGContactPhone { get; set; }
|
||||
|
||||
public List<IMDGPosition> IMDGPositions { get { return this.imdgPositions; } }
|
||||
@ -73,6 +84,7 @@ namespace bsmd.database
|
||||
|
||||
// selektor HAZA / HAZD
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public bool IsDeparture {
|
||||
get { return this._isDeparture; }
|
||||
set { this._isDeparture = value; }
|
||||
@ -82,6 +94,7 @@ namespace bsmd.database
|
||||
/// No NSW field! Set to determine whether HAZ info should be reported to the NSW
|
||||
/// </summary>
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public string TransmissionType { get; set; }
|
||||
|
||||
public bool HasPositions
|
||||
|
||||
@ -59,11 +59,13 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string ProductName { get; set; }
|
||||
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public byte? PollutionCategory { get; set; }
|
||||
|
||||
public string PollutionCategoryDisplay
|
||||
@ -77,6 +79,7 @@ namespace bsmd.database
|
||||
}
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public byte? Hazards { get; set; }
|
||||
|
||||
public string HazardsDisplay
|
||||
@ -91,6 +94,7 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public byte? FlashpointInformation { get; set; }
|
||||
|
||||
public string FlashpointInformationDisplay
|
||||
@ -105,32 +109,39 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(11)]
|
||||
[ENI2Validation]
|
||||
public string Flashpoint_CEL { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
|
||||
[ENI2Validation]
|
||||
public double? Quantity_KGM { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(24)]
|
||||
[ENI2Validation]
|
||||
public string StowagePosition { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortOfLoading { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortOfDischarge { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public bool? SpecRef15_19 { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string Remarks { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -28,38 +28,46 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(4)]
|
||||
[ENI2Validation]
|
||||
public string UNNumber { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(10)]
|
||||
[ENI2Validation]
|
||||
public string IMOClass { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string ProductName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[ENI2Validation]
|
||||
public double? Quantity_KGM { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(24)]
|
||||
[ENI2Validation]
|
||||
public string StowagePosition { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortOfLoading { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortOfDischarge { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string Remarks { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -32,125 +32,158 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(10)]
|
||||
[ENI2Validation]
|
||||
public string UNNumber { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public byte? PackingGroup { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string ProperShippingName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(10)]
|
||||
[ENI2Validation]
|
||||
public string IMOClass { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(10)]
|
||||
[ENI2Validation]
|
||||
public string CompatibilityGroup { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string TechnicalName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public double? NetExplosiveMass_KGM { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(10)]
|
||||
[ENI2Validation]
|
||||
public string Flashpoint_CEL { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string Class7NuclideName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public double? Class7MaxActivity_BQL { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public int? Class7Category { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public double? Class7TransportIndex { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public int? Class7CSI { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public double? ControlTemperature_CEL { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public double? EmergencyTemperature_CEL { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public bool? MarinePollutant { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public int? NumberOfPackages { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string PackageType { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public bool? LimitedQuantities { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public bool? ExceptedQuantities { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public double? NetQuantity_KGM { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public double? GrossQuantity_KGM { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public double? Volume_MTQ { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public bool? GeneralCargoIBC { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(24)]
|
||||
[ENI2Validation]
|
||||
public string ContainerNumber { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(24)]
|
||||
[ENI2Validation]
|
||||
public string VehicleLicenseNumber { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(24)]
|
||||
[ENI2Validation]
|
||||
public string StowagePosition { get; set; }
|
||||
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string Bay { get; set; }
|
||||
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string Row { get; set; }
|
||||
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string Tier { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortOfLoading { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortOfDischarge { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string Remarks { get; set; }
|
||||
|
||||
public List<SubsidiaryRisks> SubsidiaryRiskList { get { return this.subsidiaryRisksList; } }
|
||||
@ -158,6 +191,7 @@ namespace bsmd.database
|
||||
/// <summary>
|
||||
/// Hilfsproperty, um subsidiary risks als kommaseparierte Liste anzuzeigen (ENI-2)
|
||||
/// </summary>
|
||||
[ENI2Validation]
|
||||
public string SubsidiaryRiskText
|
||||
{
|
||||
get
|
||||
|
||||
@ -29,41 +29,50 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string BulkCargoShippingName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public bool? MHB { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(4)]
|
||||
[ENI2Validation]
|
||||
public string UNNumber { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(10)]
|
||||
[ENI2Validation]
|
||||
public string IMOClass { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[ENI2Validation]
|
||||
public double? Quantity_KGM { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(24)]
|
||||
[ENI2Validation]
|
||||
public string StowagePosition { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortOfLoading { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortOfDischarge { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string Remarks { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -25,46 +25,56 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public byte? ShippingArea { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[LookupName("INFO.RequestedPositionInPortOfCall")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string RequestedPositionInPortOfCall { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("INFO.SpecialRequirementsOfShipAtBerth")]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string SpecialRequirementsOfShipAtBerth { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("INFO.ConstructionCharacteristicsOfShip")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string ConstructionCharacteristicsOfShip { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public byte? FumigatedBulkCargo { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("INFO.DeadWeightSummer_TNE")]
|
||||
[ENI2Validation]
|
||||
public double? DeplacementSummerDraught_TNE { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("INFO.PortArea")]
|
||||
// [Validation(ValidationCode.NOT_NULL)] // ist bei NOK Transit leer
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string PortArea { get; set; }
|
||||
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string BowThrusterPower { get; set; }
|
||||
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string SternThrusterPower { get; set; }
|
||||
|
||||
[MaxLength(4)]
|
||||
[LookupName("INFO.PortFacility")]
|
||||
[ENI2Validation]
|
||||
public string PortFacility { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -28,9 +28,11 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string InfectedAreaPort { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public DateTime? InfectedAreaDate { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -56,6 +56,7 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public byte? CargoHandlingType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@ -76,28 +77,35 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.TWO_DIGIT)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string CargoCodeNST { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public int? CargoLACode { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public int? CargoNumberOfItems { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[ENI2Validation]
|
||||
public double? CargoGrossQuantity_TNE { get; set; }
|
||||
|
||||
[MaxLength(5)]
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[ENI2Validation]
|
||||
public string PortOfLoading { get; set; }
|
||||
|
||||
[MaxLength(5)]
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[ENI2Validation]
|
||||
public string PortOfDischarge { get; set; }
|
||||
|
||||
[MaxLength(1)]
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public string CargoCodeNST_3 { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -28,35 +28,43 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string PortFacilityPortName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string PortFacilityPortCountry { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortFacilityPortLoCode { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public DateTime? PortFacilityDateOfArrival { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public DateTime? PortFacilityDateOfDeparture { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public byte? PortFacilityShipSecurityLevel { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string PortFacilitySecurityMattersToReport { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.GISIS)]
|
||||
[MaxLength(4)]
|
||||
[ENI2Validation]
|
||||
public string PortFacilityGISISCode { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -29,10 +29,12 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string Name { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public byte? FlashpointInformation { get; set; }
|
||||
|
||||
public string FlashpointInformationDisplay
|
||||
@ -47,29 +49,35 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(10)]
|
||||
[ENI2Validation]
|
||||
public string Flashpoint_CEL { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[ENI2Validation]
|
||||
public double? Quantity_KGM { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(24)]
|
||||
[ENI2Validation]
|
||||
public string StowagePosition { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortOfLoading { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[ENI2Validation]
|
||||
[MaxLength(5)]
|
||||
public string PortOfDischarge { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string Remarks { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -43,120 +43,145 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[Validation1(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public bool? MDHSimplification { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation1(ValidationCode.LOCODE_GER)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortOfCallWhereCompleteMDHNotified { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("MDH.NonAccidentialDeathsDuringVoyage")]
|
||||
[ENI2Validation]
|
||||
public bool? NonAccidentalDeathsDuringVoyage { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("MDH.NonAccidentialDeathsDuringVoyageCount")]
|
||||
[ENI2Validation]
|
||||
public int? NonAccidentalDeathsDuringVoyageCount { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("MDH.SuspisionInfectiousNature")]
|
||||
[ENI2Validation]
|
||||
public bool? SuspisionInfectiousNature { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("MDH.NumberOfIllPersonsHigherThanExpected")]
|
||||
[ENI2Validation]
|
||||
public bool? NumberOfIllPersonsHigherThanExpected { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("MDH.NumberOfIllPersons")]
|
||||
[ENI2Validation]
|
||||
public int? NumberOfIllPersons { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("MDH.SickPersonsOnBoard")]
|
||||
[ENI2Validation]
|
||||
public bool? SickPersonsOnBoard { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("MDH.MedicalConsulted")]
|
||||
[ENI2Validation]
|
||||
public bool? MedicalConsulted { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("MDH.AwareOfConditionsForFurtherInfections")]
|
||||
[ENI2Validation]
|
||||
public bool? AwareOfFurtherInfections { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("MDH.SanitaryMeasuresApplied")]
|
||||
[ENI2Validation]
|
||||
public bool? SanitaryMeasuresApplied { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("MDH.SanitaryMeasuresType_1")] // TODO: NSW 3.0: wird ein Array
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string SanitaryMeasuresType { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("MDH.SanitaryMeasuresLocation_1")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string SanitaryMeasuresLocation { get; set; }
|
||||
[ShowReport]
|
||||
[LookupName("MDH.SanitaryMeasuresDate_1")]
|
||||
[ENI2Validation]
|
||||
public DateTime? SanitaryMeasuresDate { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("MDH.StowawaysDetected")]
|
||||
[ENI2Validation]
|
||||
public bool? StowawaysDetected { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("MDH.StowawaysJoiningLocation_1")] // TODO: NSW 3.0: wird ein Array
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string StowawaysJoiningLocation { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("MDH.SickAnimalOrPetOnBoard")]
|
||||
[ENI2Validation]
|
||||
public bool? SickAnimalOrPetOnBoard { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("MDH.ValidSanitaryControlExemptionOrCertificateOnBoard")]
|
||||
[ENI2Validation]
|
||||
public bool? ValidSanitaryControlExemptionOrCertificateOnBoard { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("MDH.PlaceOfIssue")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string PlaceOfIssue { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("MDH.DateOfIssue")]
|
||||
[ENI2Validation]
|
||||
public DateTime? DateOfIssue { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("MDH.SanitaryControlReinspectionRequired")]
|
||||
[ENI2Validation]
|
||||
public bool? SanitaryControlReinspectionRequired { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("MDH.InfectedAreaVisited")]
|
||||
[ENI2Validation]
|
||||
public bool? InfectedAreaVisited { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("MDH.InfectedAreaPort_1")] // TODO: NSW 3.0: wird ein Array
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string InfectedAreaPort { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("MDH.InfectedAreaDate_1")]
|
||||
[ENI2Validation]
|
||||
public DateTime? InfectedAreaDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Hilfsproperty, um eine kommaseparierte Liste von JoiningLocation (analog ANSW) im ENI-2 anzuzeigen,
|
||||
/// </summary>
|
||||
[ENI2Validation]
|
||||
public string StowawaysJoiningLocationText
|
||||
{
|
||||
get
|
||||
|
||||
@ -85,9 +85,11 @@ namespace bsmd.database
|
||||
#region Properties
|
||||
|
||||
[MaxLength(25)]
|
||||
[ENI2Validation]
|
||||
public string VisitId { get; set; }
|
||||
|
||||
[MaxLength(25)]
|
||||
[ENI2Validation]
|
||||
public string TransitId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@ -104,19 +106,25 @@ namespace bsmd.database
|
||||
}
|
||||
|
||||
[MaxLength(7)]
|
||||
[ENI2Validation]
|
||||
public string IMO { get; set; }
|
||||
|
||||
[MaxLength(8)]
|
||||
[ENI2Validation]
|
||||
public string ENI { get; set; }
|
||||
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PoC { get; set; }
|
||||
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string Portname { get; set; }
|
||||
|
||||
[ENI2Validation]
|
||||
public DateTime? ETA { get; set; }
|
||||
|
||||
[ENI2Validation]
|
||||
public DateTime? ETAKielCanal { get; set; }
|
||||
|
||||
public DateTime? ETADisplay
|
||||
@ -129,12 +137,16 @@ namespace bsmd.database
|
||||
get { return this.IsTransit ? "NOK" : this.Portname; }
|
||||
}
|
||||
|
||||
[ENI2Validation]
|
||||
public bool IsTransit { get; set; }
|
||||
|
||||
[ENI2Validation]
|
||||
public bool Incoming { get; set; } // tbd: für HIS-NORD, mal sehen ob das so bleibt
|
||||
|
||||
[ENI2Validation]
|
||||
public BSMDStatus BSMDStatusInternal { get; set; }
|
||||
|
||||
[ENI2Validation]
|
||||
public Message.NSWProvider InitialHIS { get; set; }
|
||||
|
||||
public Guid? HerbergFormGuid { get; set; }
|
||||
|
||||
@ -28,6 +28,7 @@ namespace bsmd.database
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[LookupName("NAME.NameOfMaster")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string NameOfMaster { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -28,10 +28,12 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[Validation1(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public DateTime? ETAToPortOfCall { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation1(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public DateTime? ETDFromPortOfCall { get; set; }
|
||||
|
||||
[Validation1(ValidationCode.NOT_NULL)]
|
||||
@ -39,28 +41,35 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public DateTime? ETAToKielCanal { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public DateTime? ETDFromKielCanal { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string LastPort { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public DateTime? ETDFromLastPort { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string NextPort { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public DateTime? ETAToNextPort { get; set; }
|
||||
|
||||
[ENI2Validation]
|
||||
public bool? IsAnchored { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -28,22 +28,26 @@ namespace bsmd.database
|
||||
[ReportDisplayName("Last name")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string PassengerLastName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ReportDisplayName("First name")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string PassengerFirstName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ReportDisplayName("Place of birth")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string PassengerPlaceOfBirth { get; set; }
|
||||
|
||||
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public DateTime? PassengerDateOfBirth { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
@ -57,6 +61,7 @@ namespace bsmd.database
|
||||
}
|
||||
}
|
||||
|
||||
[ENI2Validation]
|
||||
public byte? PassengerGender { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
@ -67,9 +72,11 @@ namespace bsmd.database
|
||||
[ReportDisplayName("Nationality")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(2)]
|
||||
[ENI2Validation]
|
||||
public string PassengerNationality { get; set; }
|
||||
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public byte? PassengerIdentityDocumentType { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
@ -80,32 +87,38 @@ namespace bsmd.database
|
||||
[ReportDisplayName("Identity document id")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string PassengerIdentityDocumentId { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ReportDisplayName("Visa number")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string PassengerVisaNumber { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ReportDisplayName("Port of embarkation")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PassengerPortOfEmbarkation { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ReportDisplayName("Port of disembarkation")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PassengerPortOfDisembarkation { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ReportDisplayName("In transit")]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public bool? PassengerInTransit { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
[ENI2Validation]
|
||||
public bool IsDeparture { get; set; }
|
||||
|
||||
|
||||
|
||||
@ -26,22 +26,28 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.INT_GT_ZERO)]
|
||||
[LookupName("POBA.TotalPersonsOnBoardUponArrival")]
|
||||
[ENI2Validation]
|
||||
public int? TotalPersonsOnBoardUponArrival { get; set; }
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.INT_GT_ZERO)]
|
||||
[LookupName("POBA.TotalCrewMembersOnBoardUponArrival")]
|
||||
[ENI2Validation]
|
||||
public int? TotalCrewMembersOnBoardUponArrival { get; set; }
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[LookupName("POBA.TotalPassengersOnBoardUponArrival")]
|
||||
[ENI2Validation]
|
||||
public int? TotalPassengersOnBoardUponArrival { get; set; }
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[LookupName("POBA.TotalStowawaysOnBoardUponArrival")]
|
||||
[ENI2Validation]
|
||||
public int? TotalStowawaysOnBoardUponArrival { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region DatabaseEntity implementation
|
||||
|
||||
public override string Subtitle
|
||||
{
|
||||
get
|
||||
@ -116,5 +122,8 @@ namespace bsmd.database
|
||||
reader.Close();
|
||||
return result;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,18 +26,22 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.INT_GT_ZERO)]
|
||||
[LookupName("POBD.TotalPersonsOnBoardUponDeparture")]
|
||||
[ENI2Validation]
|
||||
public int? TotalPersonsOnBoardUponDeparture { get; set; }
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.INT_GT_ZERO)]
|
||||
[LookupName("POBD.TotalCrewMembersOnBoardUponDeparture")]
|
||||
[ENI2Validation]
|
||||
public int? TotalCrewMembersOnBoardUponDeparture { get; set; }
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[LookupName("POBD.TotalPassengersOnBoardUponDeparture")]
|
||||
[ENI2Validation]
|
||||
public int? TotalPassengersOnBoardUponDeparture { get; set; }
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[LookupName("POBD.TotalStowawaysOnBoardUponDeparture")]
|
||||
[ENI2Validation]
|
||||
public int? TotalStowawaysOnBoardUponDeparture { get; set; }
|
||||
|
||||
public override string Subtitle
|
||||
@ -50,6 +54,8 @@ namespace bsmd.database
|
||||
|
||||
#endregion
|
||||
|
||||
#region Database Entity implementation
|
||||
|
||||
public override void PrepareSave(System.Data.IDbCommand cmd)
|
||||
{
|
||||
|
||||
@ -115,5 +121,8 @@ namespace bsmd.database
|
||||
reader.Close();
|
||||
return result;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -27,48 +27,59 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[LookupName("PRE72H.Tanker")]
|
||||
[ENI2Validation]
|
||||
public bool? Tanker { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public byte? TankerHullConfiguration { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public byte? ConditionCargoBallastTanks { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("PRE72H.NaturOfCargo")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string NatureOfCargo { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("PRE72H.VolumeOfCargo_TNE")]
|
||||
[ENI2Validation]
|
||||
public double? VolumeOfCargo { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[LookupName("PRE72H.PlannedOperations")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string PlannedOperations { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
// nach Util verschoben
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string PlannedWorks { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("PRE72H.DateOfLastExpandedInspection")]
|
||||
[ENI2Validation]
|
||||
public DateTime? DateOfLastExpandedInspection { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[LookupName("PRE72H.PlannedPeriodOfStay_HUR")]
|
||||
[ENI2Validation]
|
||||
public double? PlannedPeriodOfStay_HUR { get; set; }
|
||||
|
||||
[LookupName("PRE72H.IsDueToInspection")]
|
||||
[ENI2Validation]
|
||||
public bool? IsDueToInspection { get; set; }
|
||||
|
||||
[LookupName("PRE72H.PossibleAnchorage")]
|
||||
[ENI2Validation]
|
||||
public bool? PossibleAnchorage { get; set; }
|
||||
|
||||
public override string Subtitle
|
||||
|
||||
@ -15,18 +15,23 @@ namespace bsmd.database
|
||||
#region Properties
|
||||
|
||||
[MaxLength(10)]
|
||||
[ENI2Validation]
|
||||
public string Country { get; set; }
|
||||
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string Locode { get; set; }
|
||||
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string Port { get; set; }
|
||||
|
||||
[MaxLength(10)]
|
||||
[ENI2Validation]
|
||||
public string Code { get; set; }
|
||||
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string Name { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -33,14 +33,17 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.LOCODE)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortOfCallLast30DaysLocode { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public DateTime? PortOfCallLast30DaysDateOfDeparture { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public bool? PortOfCallLast30DaysCrewMembersJoined { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
@ -48,6 +51,7 @@ namespace bsmd.database
|
||||
/// <summary>
|
||||
/// Hilfsproperty, um eine kommaseparierte Liste von Crew (analog ANSW) im ENI-2 anzuzeigen,
|
||||
/// </summary>
|
||||
[ENI2Validation]
|
||||
public string CrewMembersJoinedText
|
||||
{
|
||||
get
|
||||
|
||||
@ -29,6 +29,7 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string PortOfCallLast30DaysCrewJoinedShipName { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -29,13 +29,16 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string PortOfItineraryName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public DateTime? PortOfItineraryETA { get; set; }
|
||||
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[ENI2Validation]
|
||||
public string PortOfItineraryLocode { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -58,33 +58,43 @@ namespace bsmd.database
|
||||
#region NSW Reporting Party Properties
|
||||
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string Name { get; set; }
|
||||
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string StreetAndNumber { get; set; }
|
||||
|
||||
[MaxLength(25)]
|
||||
[ENI2Validation]
|
||||
public string PostalCode { get; set; }
|
||||
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string City { get; set; }
|
||||
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string Country { get; set; }
|
||||
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string LastName { get; set; }
|
||||
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string FirstName { get; set; }
|
||||
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string Phone { get; set; }
|
||||
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string Fax { get; set; }
|
||||
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string EMail { get; set; }
|
||||
|
||||
public ReportingPartyTypeEnum? ReportingPartyType { get; set; }
|
||||
@ -250,6 +260,8 @@ namespace bsmd.database
|
||||
|
||||
#endregion
|
||||
|
||||
#region password related methods
|
||||
|
||||
public void SetPassword(string password)
|
||||
{
|
||||
using (SHA512 shaM = new SHA512Managed())
|
||||
@ -271,6 +283,8 @@ namespace bsmd.database
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region public static methods
|
||||
|
||||
public static LogonResult Login(string name, string password, out ReportingParty reportingParty)
|
||||
|
||||
@ -30,51 +30,61 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[Validation1(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public bool? SECSimplification { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation1(ValidationCode.LOCODE_GER)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortOfCallWhereCompleteSECNotified { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("SEC.CSOLastName")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string CSOLastName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("SEC.CSOFirstName")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string CSOFirstName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("SEC.CSOPhone")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string CSOPhone { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("SEC.CSOFax")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string CSOFax { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("SEC.CSOEMail")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string CSOEMail { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("SEC.ValidISSCOnBoard")]
|
||||
[ENI2Validation]
|
||||
public bool? ValidISSCOnBoard { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("SEC.ReasonsForNoValidISSC")]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string ReasonsForNoValidISSC { get; set; }
|
||||
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public byte? ISSCType { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
@ -82,6 +92,7 @@ namespace bsmd.database
|
||||
public string ISSCTypeDisplay { get { return Util.GetISSCTypeDisplay(this.ISSCType); } }
|
||||
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
// [LookupName("SEC.ISSCIssuerType")] // wird manuell gescannt und konvertiert
|
||||
public byte? ISSCIssuerType { get; set; }
|
||||
|
||||
@ -93,41 +104,51 @@ namespace bsmd.database
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("SEC.ISSCIssuerName")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string ISSCIssuerName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("SEC.ISSCDateOfExpiration")]
|
||||
[ENI2Validation]
|
||||
public DateTime? ISSCDateOfExpiration { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("SEC.ApprovedSecurityPlanOnBoard")]
|
||||
[ENI2Validation]
|
||||
public bool? ApprovedSecurityPlanOnBoard { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public byte? CurrentShipSecurityLevel { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string PortFacilityOfArrival { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public byte? GeneralDescriptionOfCargo { get; set; }
|
||||
|
||||
|
||||
[ENI2Validation]
|
||||
public bool? AreMatterToReport { get; set; }
|
||||
|
||||
[LookupName("SEC.MatterToReport")]
|
||||
[MaxLength(1024)]
|
||||
[ENI2Validation]
|
||||
public string MatterToReport { get; set; }
|
||||
|
||||
[ENI2Validation]
|
||||
public bool? KielCanalPassagePlanned { get; set; }
|
||||
|
||||
[ENI2Validation]
|
||||
public DateTime? KielCanalPassagePlannedIncomming { get; set; }
|
||||
|
||||
[ENI2Validation]
|
||||
public DateTime? KielCanalPassagePlannedOutgoing { get; set; }
|
||||
|
||||
public List<LastTenPortFacilitiesCalled> LastTenPortFacilitesCalled { get { return this.ltpfc; } }
|
||||
|
||||
@ -26,18 +26,21 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string ServiceName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation1(ValidationCode.NOT_NULL)]
|
||||
[LookupName("SERV.ServiceBeneficiary")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string ServiceBeneficiary { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation1(ValidationCode.NOT_NULL)]
|
||||
[LookupName("SERV.ServiceInvoiceRecipient")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string ServiceInvoiceRecipient { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -28,46 +28,55 @@ namespace bsmd.database
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[LookupName("STAT.ShipName")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string ShipName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string CallSign { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(50)]
|
||||
[ENI2Validation]
|
||||
public string MMSINumber { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.FLAG_CODE)]
|
||||
[MaxLength(2)]
|
||||
[ENI2Validation]
|
||||
public string Flag { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[LookupName("STAT.LengthOverall_MTR")]
|
||||
[ENI2Validation]
|
||||
public double? LengthOverall_MTR { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[LookupName("STAT.Beam_MTR")]
|
||||
[ENI2Validation]
|
||||
public double? Beam_MTR { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[LookupName("STAT.GrossTonnage")]
|
||||
[ENI2Validation]
|
||||
public int? GrossTonnage { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.LOCODE)]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string PortOfRegistry { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("STAT.InmarsatCallNumber")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string InmarsatCallNumber { get; set; }
|
||||
|
||||
/// <summary>
|
||||
@ -75,6 +84,7 @@ namespace bsmd.database
|
||||
/// </summary>
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(1)]
|
||||
[ENI2Validation]
|
||||
public string TransportMode { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
@ -95,36 +105,43 @@ namespace bsmd.database
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[LookupName("STAT.ShipType")]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string ShipType { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("STAT.ISMCompanyName")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string ISMCompanyName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.STRING_EXACT_LEN, 7)]
|
||||
[MaxLength(10)]
|
||||
[ENI2Validation]
|
||||
public string ISMCompanyId { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("STAT.ISMCompanyStreetAndNumber")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string ISMCompanyStreetAndNumber { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("STAT.ISMCompanyPostalCode")]
|
||||
[MaxLength(24)]
|
||||
[ENI2Validation]
|
||||
public string ISMCompanyPostalCode { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("STAT.ISMCompanyCity")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string ISMCompanyCity { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("STAT.ISMCompanyCountry")]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string ISMCompanyCountry { get; set; }
|
||||
|
||||
public override string Subtitle
|
||||
@ -136,13 +153,16 @@ namespace bsmd.database
|
||||
}
|
||||
|
||||
[LookupName("STAT.NetTonnage")]
|
||||
[ENI2Validation]
|
||||
public double? NetTonnage { get; set; }
|
||||
|
||||
[LookupName("STAT.RegistryDate")]
|
||||
[ENI2Validation]
|
||||
public DateTime? RegistryDate { get; set; }
|
||||
|
||||
[LookupName("STAT.CertificateOfRegistryNumber")]
|
||||
[MaxLength(35)]
|
||||
[ENI2Validation]
|
||||
public string CertificateOfRegistryNumber { get; set; }
|
||||
|
||||
public static Dictionary<string, string> VesselTypeDict { get; set; }
|
||||
|
||||
@ -36,21 +36,26 @@ namespace bsmd.database
|
||||
|
||||
[LookupName("STO.Name")]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string Name { get; set; }
|
||||
|
||||
[LookupName("STO.Quantity")]
|
||||
[ENI2Validation]
|
||||
public int? Quantity { get; set; }
|
||||
|
||||
[LookupName("STO.QuantityUnit")]
|
||||
[MaxLength(16)]
|
||||
[ENI2Validation]
|
||||
public string QuantityUnit { get; set; }
|
||||
|
||||
[LookupName("STO.LocationOnBoard")]
|
||||
[MaxLength(64)]
|
||||
[ENI2Validation]
|
||||
public string LocationOnBoard { get; set; }
|
||||
|
||||
[LookupName("STO.OfficialUse")]
|
||||
[MaxLength(16)]
|
||||
[ENI2Validation]
|
||||
public string OfficialUse { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -29,13 +29,16 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string SanitaryMeasuresType { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string SanitaryMeasuresLocation { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public DateTime? SanitaryMeasuresDate { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -28,33 +28,41 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string ShipToShipActivityLocationName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string ShipToShipActivityLocationLoCode { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public int? ShipToShipActivityLocationCoordinatesLatitude { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public int? ShipToShipActivityLocationCoordinatesLongitude { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public DateTime? ShipToShipActivityDateFrom { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public DateTime? ShipToShipActivityDateTo { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string ShipToShipActivityType { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string ShipToShipActivitySecurityMattersToReport { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -29,6 +29,7 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string StowawayJoiningLocation { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -28,6 +28,7 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(11)]
|
||||
[ENI2Validation]
|
||||
public string SubsidiaryRisk { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -26,6 +26,7 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DRAUGHT_IMPLAUSIBLE)]
|
||||
[LookupName("TIEFA.DraughtUponArrival_DMT")]
|
||||
[ENI2Validation]
|
||||
public double? DraughtUponArrival_DMT { get; set; }
|
||||
|
||||
public override string Subtitle
|
||||
|
||||
@ -23,9 +23,11 @@ namespace bsmd.database
|
||||
}
|
||||
|
||||
#region Properties
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DRAUGHT_IMPLAUSIBLE)]
|
||||
[LookupName("TIEFD.DraughtUponDeparture_DMT")]
|
||||
[ENI2Validation]
|
||||
public double? DraughtUponDeparture_DMT { get; set; }
|
||||
|
||||
public override string Subtitle
|
||||
|
||||
@ -23,71 +23,88 @@ namespace bsmd.database
|
||||
}
|
||||
|
||||
#region Properties
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnArrivalName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.FLAG_CODE)]
|
||||
[MaxLength(2)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnArrivalFlag { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnArrivalOperatorCompanyName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnArrivalOperatorStreetNameAndNumber { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(24)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnArrivalOperatorPostalCode { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnArrivalOperatorCity { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnArrivalOperatorCountry { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnArrivalOperatorPhone { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnArrivalOperatorFax { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnArrivalOperatorEmail { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.INT_GT_ZERO)]
|
||||
[ENI2Validation]
|
||||
public int? TowageOnArrivalGrossTonnage { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[ENI2Validation]
|
||||
public double? TowageOnArrivalLengthOverall_MTR { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[ENI2Validation]
|
||||
public double? TowageOnArrivalBeam_MTR { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnArrivalPurposeOfCall { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[ENI2Validation]
|
||||
public double? TowageOnArrivalDraught_DMT { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnArrivalRemarks { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -27,56 +27,70 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnDepartureName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(2)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnDepartureFlag { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnDepartureOperatorCompanyName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnDepartureOperatorStreetNameAndNumber { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(24)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnDepartureOperatorPostalCode { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnDepartureOperatorCity { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnDepartureOperatorCountry { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnDepartureOperatorPhone { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnDepartureOperatorFax { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnDepartureOperatorEmail { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public double? TowageOnDepartureLengthOverall_MTR { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public double? TowageOnDepartureBeam_MTR { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.DOUBLE_GT_ZERO)]
|
||||
[ENI2Validation]
|
||||
public double? TowageOnDepartureDraught_DMT { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(255)]
|
||||
[ENI2Validation]
|
||||
public string TowageOnDepartureRemarks { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -70,6 +70,22 @@ namespace bsmd.database
|
||||
|
||||
#endregion
|
||||
|
||||
#region ENI2 Validierung
|
||||
|
||||
/// <summary>
|
||||
/// Wenn ein Property damit dekoriert ist, steht es im Validierungs-Editor als Parameter zur Verfügung
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Property)]
|
||||
public class ENI2Validation : Attribute
|
||||
{
|
||||
public ENI2Validation()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region allg. ValidationAttribute (wird immer geprüft)
|
||||
|
||||
[AttributeUsage(AttributeTargets.Property)]
|
||||
|
||||
@ -10,6 +10,7 @@ using log4net;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Collections;
|
||||
using System.Windows.Data;
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
@ -22,10 +23,18 @@ namespace bsmd.database
|
||||
|
||||
public enum ConditionOperatorEnum
|
||||
{
|
||||
[Description("==")]
|
||||
EQUAL,
|
||||
[Description("!=")]
|
||||
NOT_EQUAL,
|
||||
[Description(">")]
|
||||
GREATER,
|
||||
LESS
|
||||
[Description("<")]
|
||||
LESS,
|
||||
[Description("IS NULL")]
|
||||
NULL,
|
||||
[Description("IS NOT NULL")]
|
||||
NOT_NULL
|
||||
}
|
||||
|
||||
#region Properties
|
||||
@ -113,6 +122,8 @@ namespace bsmd.database
|
||||
return result;
|
||||
}
|
||||
|
||||
#region Serialization
|
||||
|
||||
public static ConditionGroup LoadFromString(string serializedConditions)
|
||||
{
|
||||
if ((serializedConditions == null) ||
|
||||
@ -125,6 +136,7 @@ namespace bsmd.database
|
||||
{
|
||||
XmlSerializer serializer = new XmlSerializer(typeof(ConditionGroup));
|
||||
ConditionGroup container = serializer.Deserialize(sr) as ConditionGroup;
|
||||
container.CopyToObservable();
|
||||
return container;
|
||||
}
|
||||
catch (Exception)
|
||||
@ -144,6 +156,7 @@ namespace bsmd.database
|
||||
{
|
||||
Type theType = Type.GetType("bsmd.database.ConditionGroup, bsmd.database");
|
||||
XmlSerializer serializer = new XmlSerializer(theType);
|
||||
group.CopyToXML();
|
||||
serializer.Serialize(sw, group);
|
||||
return sw.ToString();
|
||||
}
|
||||
@ -154,6 +167,8 @@ namespace bsmd.database
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// evaluate logical group operator
|
||||
/// </summary>
|
||||
@ -259,6 +274,11 @@ namespace bsmd.database
|
||||
|
||||
#region class ConditionGroup
|
||||
|
||||
/// <summary>
|
||||
/// Diese Klasse benötigt (blöderweise) für eine Sache 2 Collections: einmal für die XML Serialisierung und einmal
|
||||
/// für die Hierarchie im WPF Treecontrol (ObservableCollection). Daher müssen die Inhalte beim Laden und Speichern hin und herkopiert
|
||||
/// werden. Was für ein Scheiß.
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class ConditionGroup
|
||||
{
|
||||
@ -274,28 +294,37 @@ namespace bsmd.database
|
||||
public ConditionGroup() {
|
||||
Conditions = new ObservableCollection<ValidationCondition>();
|
||||
SubGroups = new ObservableCollection<ConditionGroup>();
|
||||
XMLConditions = new List<ValidationCondition>();
|
||||
XMLSubGroups = new List<ConditionGroup>();
|
||||
}
|
||||
|
||||
#region Properties
|
||||
|
||||
[XmlIgnore]
|
||||
public ObservableCollection<ValidationCondition> Conditions
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public List<ValidationCondition> XMLConditions { get; set; }
|
||||
|
||||
public GroupOperatorEnum GroupOperator
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
[XmlIgnore]
|
||||
public ObservableCollection<ConditionGroup> SubGroups
|
||||
{
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
public List<ConditionGroup> XMLSubGroups { get; set; }
|
||||
|
||||
[XmlIgnore]
|
||||
public IList Children
|
||||
{
|
||||
get
|
||||
@ -315,7 +344,7 @@ namespace bsmd.database
|
||||
|
||||
#endregion
|
||||
|
||||
#region public recursive removal methods
|
||||
#region public recursive methods
|
||||
|
||||
public void Remove(ConditionGroup group)
|
||||
{
|
||||
@ -341,12 +370,57 @@ namespace bsmd.database
|
||||
subGroup.RemoveCondition(condition);
|
||||
}
|
||||
|
||||
public void CopyToObservable()
|
||||
{
|
||||
this.SubGroups.Clear();
|
||||
foreach (ConditionGroup cg in this.XMLSubGroups)
|
||||
this.SubGroups.Add(cg);
|
||||
this.Conditions.Clear();
|
||||
foreach (ValidationCondition vc in this.XMLConditions)
|
||||
this.Conditions.Add(vc);
|
||||
foreach (ConditionGroup subGroup in this.XMLSubGroups)
|
||||
subGroup.CopyToObservable();
|
||||
}
|
||||
|
||||
public void CopyToXML()
|
||||
{
|
||||
this.XMLSubGroups.Clear();
|
||||
this.XMLSubGroups.AddRange(this.SubGroups);
|
||||
this.XMLConditions.Clear();
|
||||
this.XMLConditions.AddRange(this.Conditions);
|
||||
foreach (ConditionGroup subGroup in this.SubGroups)
|
||||
subGroup.CopyToXML();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region class ValidationField
|
||||
|
||||
/// <summary>
|
||||
/// Diese Klasse wird beim Bearbeiten im Regel-Editor verwendet (ENI-2)
|
||||
/// </summary>
|
||||
public class ValidationField
|
||||
{
|
||||
public string PropertyName { get; set; }
|
||||
public string NotificationClassText { get; set; }
|
||||
|
||||
public Message.NotificationClass NotificationClass { get; set; }
|
||||
|
||||
public bool IsInListType { get; set; }
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("{0}.{1}", NotificationClassText, PropertyName);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region struct KeyValuePairS
|
||||
|
||||
|
||||
@ -36,29 +36,35 @@ namespace bsmd.database
|
||||
public static string[] DKWasteTypes { get { return dkWasteTypes; } }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public bool? WasteDisposalValidExemption { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("WAS.LastWasteDisposalPort")]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string LastWasteDisposalPort { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("WAS.ConfirmationOfCorrectness")]
|
||||
[ENI2Validation]
|
||||
public bool? ConfirmationOfCorrectness { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[LookupName("WAS.LastWasteDisposalDate")]
|
||||
[ENI2Validation]
|
||||
public DateTime? LastWasteDisposalDate { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation2(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public byte? WasteDisposalDelivery { get; set; }
|
||||
|
||||
[LookupName("WAS.ConfirmationOfSufficiency")]
|
||||
[ENI2Validation]
|
||||
public bool? ConfirmationOfSufficiency { get; set; }
|
||||
|
||||
public List<Waste> Waste { get { return this.waste; } }
|
||||
|
||||
@ -83,31 +83,39 @@ namespace bsmd.database
|
||||
}
|
||||
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public int? WasteType { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string WasteDescription { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[ENI2Validation]
|
||||
public double? WasteDisposalAmount_MTQ { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public double? WasteCapacity_MTQ { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public double? WasteAmountRetained_MTQ { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(5)]
|
||||
[ENI2Validation]
|
||||
public string WasteDisposalPort { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public double? WasteAmountGeneratedTillNextPort_MTQ { get; set; }
|
||||
|
||||
// "dänisches" Zusatzfeld
|
||||
[ENI2Validation]
|
||||
public double? WasteDisposedAtLastPort_MTQ { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
@ -28,9 +28,11 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[MaxLength(100)]
|
||||
[ENI2Validation]
|
||||
public string WasteDisposalServiceProviderName { get; set; }
|
||||
|
||||
[ShowReport]
|
||||
[ENI2Validation]
|
||||
public byte? WasteDisposalDelivery { get; set; }
|
||||
|
||||
public string Identifier { get; set; }
|
||||
|
||||
Loading…
Reference in New Issue
Block a user