diff --git a/ENI-2/ENI2/ENI2/Controls/ConditionGroupControl.xaml.cs b/ENI-2/ENI2/ENI2/Controls/ConditionGroupControl.xaml.cs
index 0d630dd8..d073fbb4 100644
--- a/ENI-2/ENI2/ENI2/Controls/ConditionGroupControl.xaml.cs
+++ b/ENI-2/ENI2/ENI2/Controls/ConditionGroupControl.xaml.cs
@@ -14,17 +14,23 @@ namespace ENI2.Controls
///
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;
+
}
}
}
diff --git a/ENI-2/ENI2/ENI2/Controls/ValidationConditionControl.xaml b/ENI-2/ENI2/ENI2/Controls/ValidationConditionControl.xaml
new file mode 100644
index 00000000..66686e19
--- /dev/null
+++ b/ENI-2/ENI2/ENI2/Controls/ValidationConditionControl.xaml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ENI-2/ENI2/ENI2/Controls/ValidationConditionControl.xaml.cs b/ENI-2/ENI2/ENI2/Controls/ValidationConditionControl.xaml.cs
new file mode 100644
index 00000000..d889fd43
--- /dev/null
+++ b/ENI-2/ENI2/ENI2/Controls/ValidationConditionControl.xaml.cs
@@ -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
+{
+ ///
+ /// Interaction logic for ValidationConditionControl.xaml
+ ///
+ 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; }
+ }
+
+ }
+}
diff --git a/ENI-2/ENI2/ENI2/ENI2.csproj b/ENI-2/ENI2/ENI2/ENI2.csproj
index 08aa1b97..e6ea1f52 100644
--- a/ENI-2/ENI2/ENI2/ENI2.csproj
+++ b/ENI-2/ENI2/ENI2/ENI2.csproj
@@ -181,6 +181,9 @@
RuleControl.xaml
+
+ ValidationConditionControl.xaml
+
@@ -354,6 +357,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditRulesDialog.xaml b/ENI-2/ENI2/ENI2/EditControls/EditRulesDialog.xaml
index e3ee59af..a6642f74 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditRulesDialog.xaml
+++ b/ENI-2/ENI2/ENI2/EditControls/EditRulesDialog.xaml
@@ -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">
diff --git a/ENI-2/ENI2/ENI2/EditControls/EditRulesDialog.xaml.cs b/ENI-2/ENI2/ENI2/EditControls/EditRulesDialog.xaml.cs
index e14ef57b..788ecef1 100644
--- a/ENI-2/ENI2/ENI2/EditControls/EditRulesDialog.xaml.cs
+++ b/ENI-2/ENI2/ENI2/EditControls/EditRulesDialog.xaml.cs
@@ -21,6 +21,7 @@ namespace ENI2.EditControls
private ConditionGroup rootCondition;
private ObservableCollection rootGroupList = new ObservableCollection();
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);
}
}
}
diff --git a/ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs b/ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
index 1f30b97b..9804080c 100644
--- a/ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
+++ b/ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
@@ -1763,6 +1763,15 @@ namespace ENI2.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Failure message.
+ ///
+ public static string textFailureMessage {
+ get {
+ return ResourceManager.GetString("textFailureMessage", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Fax.
///
@@ -1781,6 +1790,15 @@ namespace ENI2.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Field name.
+ ///
+ public static string textFieldName {
+ get {
+ return ResourceManager.GetString("textFieldName", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to First name.
///
@@ -4004,6 +4022,15 @@ namespace ENI2.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Validation condition.
+ ///
+ public static string textValidationCondition {
+ get {
+ return ResourceManager.GetString("textValidationCondition", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Valid exemption.
///
@@ -4022,6 +4049,15 @@ namespace ENI2.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Value.
+ ///
+ public static string textValue {
+ get {
+ return ResourceManager.GetString("textValue", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Vehicle licence plate.
///
diff --git a/ENI-2/ENI2/ENI2/Properties/Resources.resx b/ENI-2/ENI2/ENI2/Properties/Resources.resx
index 7b56afd7..aafe21db 100644
--- a/ENI-2/ENI2/ENI2/Properties/Resources.resx
+++ b/ENI-2/ENI2/ENI2/Properties/Resources.resx
@@ -1495,4 +1495,16 @@
Group
+
+ Failure message
+
+
+ Field name
+
+
+ Validation condition
+
+
+ Value
+
\ No newline at end of file
diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx
index 7c636122..bc48f86d 100644
Binary files a/Stundensheet.xlsx and b/Stundensheet.xlsx differ
diff --git a/nsw/Source/bsmd.database/AGNT.cs b/nsw/Source/bsmd.database/AGNT.cs
index 3b715f77..e5a86394 100644
--- a/nsw/Source/bsmd.database/AGNT.cs
+++ b/nsw/Source/bsmd.database/AGNT.cs
@@ -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
diff --git a/nsw/Source/bsmd.database/ATA.cs b/nsw/Source/bsmd.database/ATA.cs
index 9b803248..0ab24b14 100644
--- a/nsw/Source/bsmd.database/ATA.cs
+++ b/nsw/Source/bsmd.database/ATA.cs
@@ -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
diff --git a/nsw/Source/bsmd.database/ATD.cs b/nsw/Source/bsmd.database/ATD.cs
index ae0b27a3..4c852449 100644
--- a/nsw/Source/bsmd.database/ATD.cs
+++ b/nsw/Source/bsmd.database/ATD.cs
@@ -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
diff --git a/nsw/Source/bsmd.database/BKRA.cs b/nsw/Source/bsmd.database/BKRA.cs
index 8e3fe224..707e2d1b 100644
--- a/nsw/Source/bsmd.database/BKRA.cs
+++ b/nsw/Source/bsmd.database/BKRA.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/BPOL.cs b/nsw/Source/bsmd.database/BPOL.cs
index f43e4263..d023a1bc 100644
--- a/nsw/Source/bsmd.database/BPOL.cs
+++ b/nsw/Source/bsmd.database/BPOL.cs
@@ -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 PortOfItineraries { get { return this.poi; } }
diff --git a/nsw/Source/bsmd.database/BRKD.cs b/nsw/Source/bsmd.database/BRKD.cs
index b7244a66..1866c484 100644
--- a/nsw/Source/bsmd.database/BRKD.cs
+++ b/nsw/Source/bsmd.database/BRKD.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/CREW.cs b/nsw/Source/bsmd.database/CREW.cs
index 82e07a00..c22b400b 100644
--- a/nsw/Source/bsmd.database/CREW.cs
+++ b/nsw/Source/bsmd.database/CREW.cs
@@ -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]
@@ -56,7 +60,8 @@ namespace bsmd.database
return string.Empty;
}
}
-
+
+ [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; }
diff --git a/nsw/Source/bsmd.database/CallPurpose.cs b/nsw/Source/bsmd.database/CallPurpose.cs
index cbe2ba8e..89795728 100644
--- a/nsw/Source/bsmd.database/CallPurpose.cs
+++ b/nsw/Source/bsmd.database/CallPurpose.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/Customer.cs b/nsw/Source/bsmd.database/Customer.cs
index 66412c4a..c7e9494b 100644
--- a/nsw/Source/bsmd.database/Customer.cs
+++ b/nsw/Source/bsmd.database/Customer.cs
@@ -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
diff --git a/nsw/Source/bsmd.database/HAZ.cs b/nsw/Source/bsmd.database/HAZ.cs
index 49aefc15..ebd94399 100644
--- a/nsw/Source/bsmd.database/HAZ.cs
+++ b/nsw/Source/bsmd.database/HAZ.cs
@@ -29,40 +29,51 @@ namespace bsmd.database
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
+ [ENI2Validation]
public bool? NoDPGOnBoardOnArrival { get; set; }
- [ShowReport]
+ [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 IMDGPositions { get { return this.imdgPositions; } }
-
+
public List IBCPositions { get { return this.ibcPositions; } }
public List IGCPositions { get { return this.igcPositions; } }
@@ -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
///
[ShowReport]
+ [ENI2Validation]
public string TransmissionType { get; set; }
public bool HasPositions
diff --git a/nsw/Source/bsmd.database/IBCPosition.cs b/nsw/Source/bsmd.database/IBCPosition.cs
index 0e17059d..943b5326 100644
--- a/nsw/Source/bsmd.database/IBCPosition.cs
+++ b/nsw/Source/bsmd.database/IBCPosition.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/IGCPosition.cs b/nsw/Source/bsmd.database/IGCPosition.cs
index cc7708cf..843cdbff 100644
--- a/nsw/Source/bsmd.database/IGCPosition.cs
+++ b/nsw/Source/bsmd.database/IGCPosition.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/IMDGPosition.cs b/nsw/Source/bsmd.database/IMDGPosition.cs
index 97839343..ec848100 100644
--- a/nsw/Source/bsmd.database/IMDGPosition.cs
+++ b/nsw/Source/bsmd.database/IMDGPosition.cs
@@ -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 SubsidiaryRiskList { get { return this.subsidiaryRisksList; } }
@@ -158,6 +191,7 @@ namespace bsmd.database
///
/// Hilfsproperty, um subsidiary risks als kommaseparierte Liste anzuzeigen (ENI-2)
///
+ [ENI2Validation]
public string SubsidiaryRiskText
{
get
diff --git a/nsw/Source/bsmd.database/IMSBCPosition.cs b/nsw/Source/bsmd.database/IMSBCPosition.cs
index cdaf8c05..b680f034 100644
--- a/nsw/Source/bsmd.database/IMSBCPosition.cs
+++ b/nsw/Source/bsmd.database/IMSBCPosition.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/INFO.cs b/nsw/Source/bsmd.database/INFO.cs
index 3a5fd584..4ead54b6 100644
--- a/nsw/Source/bsmd.database/INFO.cs
+++ b/nsw/Source/bsmd.database/INFO.cs
@@ -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)]
+ [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
diff --git a/nsw/Source/bsmd.database/InfectedArea.cs b/nsw/Source/bsmd.database/InfectedArea.cs
index 26127585..63a48202 100644
--- a/nsw/Source/bsmd.database/InfectedArea.cs
+++ b/nsw/Source/bsmd.database/InfectedArea.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/LADG.cs b/nsw/Source/bsmd.database/LADG.cs
index c1c4a69d..7af0f0e4 100644
--- a/nsw/Source/bsmd.database/LADG.cs
+++ b/nsw/Source/bsmd.database/LADG.cs
@@ -56,6 +56,7 @@ namespace bsmd.database
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
+ [ENI2Validation]
public byte? CargoHandlingType { get; set; }
///
@@ -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; }
diff --git a/nsw/Source/bsmd.database/LastTenPortFacilitiesCalled.cs b/nsw/Source/bsmd.database/LastTenPortFacilitiesCalled.cs
index 5de3d928..1c656250 100644
--- a/nsw/Source/bsmd.database/LastTenPortFacilitiesCalled.cs
+++ b/nsw/Source/bsmd.database/LastTenPortFacilitiesCalled.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/MARPOL_Annex_I_Position.cs b/nsw/Source/bsmd.database/MARPOL_Annex_I_Position.cs
index ae2752ba..3639d98d 100644
--- a/nsw/Source/bsmd.database/MARPOL_Annex_I_Position.cs
+++ b/nsw/Source/bsmd.database/MARPOL_Annex_I_Position.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/MDH.cs b/nsw/Source/bsmd.database/MDH.cs
index a7b65fab..1d99b48e 100644
--- a/nsw/Source/bsmd.database/MDH.cs
+++ b/nsw/Source/bsmd.database/MDH.cs
@@ -42,121 +42,146 @@ namespace bsmd.database
public List InfectedAreas { get { return this.infectedAreas; } }
[ShowReport]
- [Validation1(ValidationCode.NOT_NULL)]
+ [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; }
///
/// Hilfsproperty, um eine kommaseparierte Liste von JoiningLocation (analog ANSW) im ENI-2 anzuzeigen,
///
+ [ENI2Validation]
public string StowawaysJoiningLocationText
{
get
diff --git a/nsw/Source/bsmd.database/MessageCore.cs b/nsw/Source/bsmd.database/MessageCore.cs
index fd0f9d66..a59e3497 100644
--- a/nsw/Source/bsmd.database/MessageCore.cs
+++ b/nsw/Source/bsmd.database/MessageCore.cs
@@ -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; }
///
@@ -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; }
diff --git a/nsw/Source/bsmd.database/NAME.cs b/nsw/Source/bsmd.database/NAME.cs
index 439d6ef6..c1a7a91a 100644
--- a/nsw/Source/bsmd.database/NAME.cs
+++ b/nsw/Source/bsmd.database/NAME.cs
@@ -28,6 +28,7 @@ namespace bsmd.database
[Validation(ValidationCode.NOT_NULL)]
[LookupName("NAME.NameOfMaster")]
[MaxLength(100)]
+ [ENI2Validation]
public string NameOfMaster { get; set; }
#endregion
diff --git a/nsw/Source/bsmd.database/NOA_NOD.cs b/nsw/Source/bsmd.database/NOA_NOD.cs
index 5049ee40..df6125f8 100644
--- a/nsw/Source/bsmd.database/NOA_NOD.cs
+++ b/nsw/Source/bsmd.database/NOA_NOD.cs
@@ -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
diff --git a/nsw/Source/bsmd.database/PAS.cs b/nsw/Source/bsmd.database/PAS.cs
index 3b5db26d..e0787c07 100644
--- a/nsw/Source/bsmd.database/PAS.cs
+++ b/nsw/Source/bsmd.database/PAS.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/POBA.cs b/nsw/Source/bsmd.database/POBA.cs
index b23c5b16..e02429f0 100644
--- a/nsw/Source/bsmd.database/POBA.cs
+++ b/nsw/Source/bsmd.database/POBA.cs
@@ -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
+
}
}
diff --git a/nsw/Source/bsmd.database/POBD.cs b/nsw/Source/bsmd.database/POBD.cs
index 769b8bd2..e52f24f7 100644
--- a/nsw/Source/bsmd.database/POBD.cs
+++ b/nsw/Source/bsmd.database/POBD.cs
@@ -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
+
}
}
diff --git a/nsw/Source/bsmd.database/PRE72H.cs b/nsw/Source/bsmd.database/PRE72H.cs
index 64d9f216..9e84a726 100644
--- a/nsw/Source/bsmd.database/PRE72H.cs
+++ b/nsw/Source/bsmd.database/PRE72H.cs
@@ -27,48 +27,59 @@ namespace bsmd.database
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
[LookupName("PRE72H.Tanker")]
+ [ENI2Validation]
public bool? Tanker { get; set; }
- [ShowReport]
+ [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
diff --git a/nsw/Source/bsmd.database/PortArea.cs b/nsw/Source/bsmd.database/PortArea.cs
index 94e59f3a..c7f8449c 100644
--- a/nsw/Source/bsmd.database/PortArea.cs
+++ b/nsw/Source/bsmd.database/PortArea.cs
@@ -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
diff --git a/nsw/Source/bsmd.database/PortOfCallLast30Days.cs b/nsw/Source/bsmd.database/PortOfCallLast30Days.cs
index 8f1d02ff..1ece87b8 100644
--- a/nsw/Source/bsmd.database/PortOfCallLast30Days.cs
+++ b/nsw/Source/bsmd.database/PortOfCallLast30Days.cs
@@ -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
///
/// Hilfsproperty, um eine kommaseparierte Liste von Crew (analog ANSW) im ENI-2 anzuzeigen,
///
+ [ENI2Validation]
public string CrewMembersJoinedText
{
get
diff --git a/nsw/Source/bsmd.database/PortOfCallLast30DaysCrewJoinedShip.cs b/nsw/Source/bsmd.database/PortOfCallLast30DaysCrewJoinedShip.cs
index e18960ca..9a0e02a4 100644
--- a/nsw/Source/bsmd.database/PortOfCallLast30DaysCrewJoinedShip.cs
+++ b/nsw/Source/bsmd.database/PortOfCallLast30DaysCrewJoinedShip.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/PortOfItinerary.cs b/nsw/Source/bsmd.database/PortOfItinerary.cs
index 40084b71..fd989b92 100644
--- a/nsw/Source/bsmd.database/PortOfItinerary.cs
+++ b/nsw/Source/bsmd.database/PortOfItinerary.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/ReportingParty.cs b/nsw/Source/bsmd.database/ReportingParty.cs
index 7f86eee1..3246f936 100644
--- a/nsw/Source/bsmd.database/ReportingParty.cs
+++ b/nsw/Source/bsmd.database/ReportingParty.cs
@@ -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)
diff --git a/nsw/Source/bsmd.database/SEC.cs b/nsw/Source/bsmd.database/SEC.cs
index b624c88a..3c9ac593 100644
--- a/nsw/Source/bsmd.database/SEC.cs
+++ b/nsw/Source/bsmd.database/SEC.cs
@@ -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)]
+ [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)]
+ [Validation(ValidationCode.NOT_NULL)]
+ [ENI2Validation]
public byte? CurrentShipSecurityLevel { get; set; }
[ShowReport]
[MaxLength(100)]
+ [ENI2Validation]
public string PortFacilityOfArrival { get; set; }
[ShowReport]
- [Validation2(ValidationCode.NOT_NULL)]
+ [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 LastTenPortFacilitesCalled { get { return this.ltpfc; } }
diff --git a/nsw/Source/bsmd.database/SERV.cs b/nsw/Source/bsmd.database/SERV.cs
index b32b963a..3ba9b76c 100644
--- a/nsw/Source/bsmd.database/SERV.cs
+++ b/nsw/Source/bsmd.database/SERV.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/STAT.cs b/nsw/Source/bsmd.database/STAT.cs
index 86ba03cc..4c843a34 100644
--- a/nsw/Source/bsmd.database/STAT.cs
+++ b/nsw/Source/bsmd.database/STAT.cs
@@ -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; }
///
@@ -75,6 +84,7 @@ namespace bsmd.database
///
[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 VesselTypeDict { get; set; }
diff --git a/nsw/Source/bsmd.database/STO.cs b/nsw/Source/bsmd.database/STO.cs
index f88f93bb..678e9973 100644
--- a/nsw/Source/bsmd.database/STO.cs
+++ b/nsw/Source/bsmd.database/STO.cs
@@ -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
diff --git a/nsw/Source/bsmd.database/SanitaryMeasuresDetail.cs b/nsw/Source/bsmd.database/SanitaryMeasuresDetail.cs
index f321763f..f85b1244 100644
--- a/nsw/Source/bsmd.database/SanitaryMeasuresDetail.cs
+++ b/nsw/Source/bsmd.database/SanitaryMeasuresDetail.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs b/nsw/Source/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs
index 5fb7a5c7..50cd4b34 100644
--- a/nsw/Source/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs
+++ b/nsw/Source/bsmd.database/ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/StowawaysJoiningLocation.cs b/nsw/Source/bsmd.database/StowawaysJoiningLocation.cs
index 753dd5e4..2658e4ea 100644
--- a/nsw/Source/bsmd.database/StowawaysJoiningLocation.cs
+++ b/nsw/Source/bsmd.database/StowawaysJoiningLocation.cs
@@ -29,6 +29,7 @@ namespace bsmd.database
[ShowReport]
[MaxLength(255)]
+ [ENI2Validation]
public string StowawayJoiningLocation { get; set; }
public string Identifier { get; set; }
diff --git a/nsw/Source/bsmd.database/SubsidiaryRisks.cs b/nsw/Source/bsmd.database/SubsidiaryRisks.cs
index 461e2890..0ebf7813 100644
--- a/nsw/Source/bsmd.database/SubsidiaryRisks.cs
+++ b/nsw/Source/bsmd.database/SubsidiaryRisks.cs
@@ -28,6 +28,7 @@ namespace bsmd.database
[ShowReport]
[MaxLength(11)]
+ [ENI2Validation]
public string SubsidiaryRisk { get; set; }
public string Identifier { get; set; }
diff --git a/nsw/Source/bsmd.database/TIEFA.cs b/nsw/Source/bsmd.database/TIEFA.cs
index 022dcd83..7be152f4 100644
--- a/nsw/Source/bsmd.database/TIEFA.cs
+++ b/nsw/Source/bsmd.database/TIEFA.cs
@@ -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
diff --git a/nsw/Source/bsmd.database/TIEFD.cs b/nsw/Source/bsmd.database/TIEFD.cs
index 312d6da0..751ced61 100644
--- a/nsw/Source/bsmd.database/TIEFD.cs
+++ b/nsw/Source/bsmd.database/TIEFD.cs
@@ -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
diff --git a/nsw/Source/bsmd.database/TOWA.cs b/nsw/Source/bsmd.database/TOWA.cs
index 37de32ca..a2dff0b0 100644
--- a/nsw/Source/bsmd.database/TOWA.cs
+++ b/nsw/Source/bsmd.database/TOWA.cs
@@ -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)]
+ [Validation(ValidationCode.INT_GT_ZERO)]
+ [ENI2Validation]
public int? TowageOnArrivalGrossTonnage { get; set; }
[ShowReport]
- [Validation(ValidationCode.DOUBLE_GT_ZERO)]
+ [Validation(ValidationCode.DOUBLE_GT_ZERO)]
+ [ENI2Validation]
public double? TowageOnArrivalLengthOverall_MTR { get; set; }
[ShowReport]
- [Validation(ValidationCode.DOUBLE_GT_ZERO)]
+ [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)]
+ [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; }
diff --git a/nsw/Source/bsmd.database/TOWD.cs b/nsw/Source/bsmd.database/TOWD.cs
index c97ada62..9f048c73 100644
--- a/nsw/Source/bsmd.database/TOWD.cs
+++ b/nsw/Source/bsmd.database/TOWD.cs
@@ -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]
+ [ShowReport]
+ [ENI2Validation]
public double? TowageOnDepartureLengthOverall_MTR { get; set; }
- [ShowReport]
+ [ShowReport]
+ [ENI2Validation]
public double? TowageOnDepartureBeam_MTR { get; set; }
[ShowReport]
- [Validation(ValidationCode.DOUBLE_GT_ZERO)]
+ [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; }
diff --git a/nsw/Source/bsmd.database/ValidationAttribute.cs b/nsw/Source/bsmd.database/ValidationAttribute.cs
index c3b5f7c6..630efce5 100644
--- a/nsw/Source/bsmd.database/ValidationAttribute.cs
+++ b/nsw/Source/bsmd.database/ValidationAttribute.cs
@@ -70,6 +70,22 @@ namespace bsmd.database
#endregion
+ #region ENI2 Validierung
+
+ ///
+ /// Wenn ein Property damit dekoriert ist, steht es im Validierungs-Editor als Parameter zur Verfügung
+ ///
+ [AttributeUsage(AttributeTargets.Property)]
+ public class ENI2Validation : Attribute
+ {
+ public ENI2Validation()
+ {
+
+ }
+ }
+
+ #endregion
+
#region allg. ValidationAttribute (wird immer geprüft)
[AttributeUsage(AttributeTargets.Property)]
diff --git a/nsw/Source/bsmd.database/ValidationCondition.cs b/nsw/Source/bsmd.database/ValidationCondition.cs
index 22e1cb40..c048cf26 100644
--- a/nsw/Source/bsmd.database/ValidationCondition.cs
+++ b/nsw/Source/bsmd.database/ValidationCondition.cs
@@ -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
+
///
/// evaluate logical group operator
///
@@ -259,6 +274,11 @@ namespace bsmd.database
#region class ConditionGroup
+ ///
+ /// 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ß.
+ ///
[Serializable]
public class ConditionGroup
{
@@ -274,28 +294,37 @@ namespace bsmd.database
public ConditionGroup() {
Conditions = new ObservableCollection();
SubGroups = new ObservableCollection();
+ XMLConditions = new List();
+ XMLSubGroups = new List();
}
#region Properties
-
+
+ [XmlIgnore]
public ObservableCollection Conditions
{
get;
set;
}
+ public List XMLConditions { get; set; }
+
public GroupOperatorEnum GroupOperator
{
get;
set;
}
+ [XmlIgnore]
public ObservableCollection SubGroups
{
get;
set;
}
+ public List 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
+
+ ///
+ /// Diese Klasse wird beim Bearbeiten im Regel-Editor verwendet (ENI-2)
+ ///
+ 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
diff --git a/nsw/Source/bsmd.database/WAS.cs b/nsw/Source/bsmd.database/WAS.cs
index e77dd314..e16248b9 100644
--- a/nsw/Source/bsmd.database/WAS.cs
+++ b/nsw/Source/bsmd.database/WAS.cs
@@ -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 { get { return this.waste; } }
diff --git a/nsw/Source/bsmd.database/Waste.cs b/nsw/Source/bsmd.database/Waste.cs
index c9272f80..4bd42faa 100644
--- a/nsw/Source/bsmd.database/Waste.cs
+++ b/nsw/Source/bsmd.database/Waste.cs
@@ -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; }
diff --git a/nsw/Source/bsmd.database/WasteDisposalServiceProvider.cs b/nsw/Source/bsmd.database/WasteDisposalServiceProvider.cs
index c4d65df4..5bdc79f6 100644
--- a/nsw/Source/bsmd.database/WasteDisposalServiceProvider.cs
+++ b/nsw/Source/bsmd.database/WasteDisposalServiceProvider.cs
@@ -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; }