diff --git a/ENI2/Controls/EditWindowBase.cs b/ENI2/Controls/EditWindowBase.cs
index a434934c..38fe3b4c 100644
--- a/ENI2/Controls/EditWindowBase.cs
+++ b/ENI2/Controls/EditWindowBase.cs
@@ -10,6 +10,7 @@ using System.Text.RegularExpressions;
using Xceed.Wpf.Toolkit;
+using bsmd.database;
using ENI2.Util;
namespace ENI2.Controls
@@ -82,8 +83,8 @@ namespace ENI2.Controls
#region "BHV Spezial" Datetime Parsing..
protected void DateTimePicker_PreviewKeyUp(object sender, System.Windows.Input.KeyEventArgs e)
- {
- if ((sender is DateTimePicker thePicker) && rdt.IsMatch(thePicker.Text))
+ {
+ if ((sender is DateTimePicker thePicker) && !thePicker.Text.IsNullOrEmpty() && rdt.IsMatch(thePicker.Text))
{
try
{
@@ -100,7 +101,7 @@ namespace ENI2.Controls
}
protected void DateTimePicker_PreviewKeyUpDate(object sender, System.Windows.Input.KeyEventArgs e)
- {
+ {
if ((sender is DatePicker thePicker) && rd.IsMatch(thePicker.Text))
{
try
diff --git a/ENI2/ENI2.csproj b/ENI2/ENI2.csproj
index c6f1cd17..0f432297 100644
--- a/ENI2/ENI2.csproj
+++ b/ENI2/ENI2.csproj
@@ -36,8 +36,8 @@
5.4.0.0
true
publish.html
- 8
- 7.0.0.8
+ 9
+ 7.0.0.9
false
true
true
diff --git a/bsmd.database/Message.cs b/bsmd.database/Message.cs
index 2aa9c3a0..26b2d1a9 100644
--- a/bsmd.database/Message.cs
+++ b/bsmd.database/Message.cs
@@ -586,7 +586,7 @@ namespace bsmd.database
}
public static bool IsListClass(NotificationClass notificationClass)
- {
+ {
switch(notificationClass)
{
@@ -601,6 +601,7 @@ namespace bsmd.database
case NotificationClass.STO:
case NotificationClass.TOWA:
case NotificationClass.TOWD:
+ case NotificationClass.WAS_RCPT:
return true;
}
diff --git a/bsmd.database/WAS_RCPT.cs b/bsmd.database/WAS_RCPT.cs
index 78eb38e7..a8d865ba 100644
--- a/bsmd.database/WAS_RCPT.cs
+++ b/bsmd.database/WAS_RCPT.cs
@@ -39,9 +39,11 @@ namespace bsmd.database
public ObservableCollection WasteReceived { get; private set; } = new ObservableCollection();
[Validation(ValidationCode.NOT_NULL)]
+ [ENI2Validation]
public DateTime? WasteDeliveryDateFrom { get; set; }
[Validation(ValidationCode.NOT_NULL)]
+ [ENI2Validation]
public DateTime? WasteDeliveryDateTo { get; set; }
[Browsable(false)]
@@ -162,7 +164,7 @@ namespace bsmd.database
foundWasteReceived.WasteDescription = "";
break;
}
- }
+ }
}
}
diff --git a/bsmd.hisnord/Request.cs b/bsmd.hisnord/Request.cs
index dc34df20..863c8ba6 100644
--- a/bsmd.hisnord/Request.cs
+++ b/bsmd.hisnord/Request.cs
@@ -1200,6 +1200,9 @@ namespace bsmd.hisnord
was_item_names.Add(ItemsChoiceType6.LastWasteDisposalDate);
}
+ was_items.Add(was.NextWasteDisposalPort);
+ was_item_names.Add(ItemsChoiceType6.NextWasteDisposalPort);
+
for (int i = 0; i < was.WasteDisposalServiceProvider.Count; i++)
{
if (!((WasteDisposalServiceProvider) was.WasteDisposalServiceProvider[i]).WasteDisposalServiceProviderName.IsNullOrEmpty())
@@ -1207,10 +1210,7 @@ namespace bsmd.hisnord
was_items.Add(((WasteDisposalServiceProvider) was.WasteDisposalServiceProvider[i]).WasteDisposalServiceProviderName);
was_item_names.Add(ItemsChoiceType6.WasteDisposalServiceProviderName);
}
- }
-
- was_items.Add(was.NextWasteDisposalPort);
- was_item_names.Add(ItemsChoiceType6.NextWasteDisposalPort);
+ }
if (was.Waste.Count > 0)
{
@@ -1312,7 +1312,8 @@ namespace bsmd.hisnord
hn_was_rcpt.Items[i].WasteReceived[j].AmountWasteReceived_MTQ = (decimal) (was_rcpt.WasteReceived[j].AmountWasteReceived_MTQ ?? 0);
hn_was_rcpt.Items[i].WasteReceived[j].WasteType = new was_rcptWasteDeliveryReceiptWasteReceivedWasteType();
hn_was_rcpt.Items[i].WasteReceived[j].WasteType.WasteCode = was_rcpt.WasteReceived[j].WasteCode;
- hn_was_rcpt.Items[i].WasteReceived[j].WasteType.WasteDescription = was_rcpt.WasteReceived[j].WasteDescription;
+ if(!was_rcpt.WasteReceived[j].WasteDescription.IsNullOrEmpty())
+ hn_was_rcpt.Items[i].WasteReceived[j].WasteType.WasteDescription = was_rcpt.WasteReceived[j].WasteDescription;
}
}
}
@@ -1491,6 +1492,8 @@ namespace bsmd.hisnord
#region CREW
// das ist bei mir dasselbe wie CREWA und muss daher zum Zeitpunkt X geƤndert werden
+ // ACHTUNG! CREWA ist bei HIS Nord anders aufgebaut als das CREW hier
+
if (message.MessageNotificationClass == Message.NotificationClass.CREW)
{
if (message.Reset)
@@ -1562,14 +1565,17 @@ namespace bsmd.hisnord
hn_crew.CountryOfBirth = crewd.CrewMemberCountryOfBirth;
if(crewd.CrewMemberDateOfBirth.HasValue)
hn_crew.DateOfBirth = crewd.CrewMemberDateOfBirth.Value;
- hn_crew.DetailsSchengen = new crewtypeCrewMemberDetailsSchengen();
- if (crewd.CrewMemberIdentityDocumentExpiryDate.HasValue)
- hn_crew.DetailsSchengen.IdentityDocumentExpiryDate = crewd.CrewMemberIdentityDocumentExpiryDate.Value;
- hn_crew.DetailsSchengen.IdentityDocumentId = crewd.CrewMemberIdentityDocumentId;
- hn_crew.DetailsSchengen.IdentityDocumentIssuingState = crewd.CrewMemberIdentityDocumentIssuingState;
- if (crewd.CrewMemberIdentityDocumentType.HasValue)
- hn_crew.DetailsSchengen.IdentityDocumentType = (documenttype)crewd.CrewMemberIdentityDocumentType.Value;
- hn_crew.DetailsSchengen.VisaNumber = crewd.CrewMemberVisaNumber;
+ if (acrewd.NotificationSchengen ?? false)
+ {
+ hn_crew.DetailsSchengen = new crewtypeCrewMemberDetailsSchengen();
+ if (crewd.CrewMemberIdentityDocumentExpiryDate.HasValue)
+ hn_crew.DetailsSchengen.IdentityDocumentExpiryDate = crewd.CrewMemberIdentityDocumentExpiryDate.Value;
+ hn_crew.DetailsSchengen.IdentityDocumentId = crewd.CrewMemberIdentityDocumentId;
+ hn_crew.DetailsSchengen.IdentityDocumentIssuingState = crewd.CrewMemberIdentityDocumentIssuingState;
+ if (crewd.CrewMemberIdentityDocumentType.HasValue)
+ hn_crew.DetailsSchengen.IdentityDocumentType = (documenttype)crewd.CrewMemberIdentityDocumentType.Value;
+ hn_crew.DetailsSchengen.VisaNumber = crewd.CrewMemberVisaNumber;
+ }
hn_crew.DutyOnBoard = crewd.CrewMemberDuty;
hn_crew.FirstName = crewd.CrewMemberFirstName;
if(crewd.CrewMemberGender.HasValue)