diff --git a/ENI2/DetailRootControl.xaml.cs b/ENI2/DetailRootControl.xaml.cs
index 5f2bb529..2f0ffe98 100644
--- a/ENI2/DetailRootControl.xaml.cs
+++ b/ENI2/DetailRootControl.xaml.cs
@@ -741,7 +741,7 @@ namespace ENI2
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V182, "No Schengen details", null, "CREWA", crewa.Identifier, "CREWA");
mv.MessageGroupName = Properties.Resources.textOverview;
vViolations.Add(mv);
- }
+ }
}
}
@@ -763,7 +763,7 @@ namespace ENI2
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V182, "No Schengen details", null, "CREWD", crewd.Identifier, "CREWD");
mv.MessageGroupName = Properties.Resources.textOverview;
vViolations.Add(mv);
- }
+ }
}
}
@@ -772,7 +772,7 @@ namespace ENI2
PAS pasFirst = pasaMessage.Elements[0] as PAS;
bool pasIsSchengen = pasFirst.NotificationSchengen ?? false;
bool pasIsPAX = pasFirst.NotificationPAX ?? false;
- if (!((pasFirst.NotificationPAX ?? false) || pasIsSchengen)) // mindestens eins der beiden
+ if (!(pasIsPAX || pasIsSchengen)) // mindestens eins der beiden
{
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V201, "Wrong selection", null, "PASA", null, "PASA");
mv.MessageGroupName = Properties.Resources.textOverview;
@@ -786,13 +786,13 @@ namespace ENI2
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V202, "No Schengen details", null, "PASA", pasa.Identifier, "PASA");
mv.MessageGroupName = Properties.Resources.textOverview;
vViolations.Add(mv);
- }
+ }
if(pasIsPAX && !pasa.HasPAXDetails)
{
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V203, "No PAX details", null, "PASA", pasa.Identifier, "PASA");
mv.MessageGroupName = Properties.Resources.textOverview;
vViolations.Add(mv);
- }
+ }
}
}
@@ -801,7 +801,7 @@ namespace ENI2
PASD pasdFirst = pasdMessage.Elements[0] as PASD;
bool pasdIsSchengen = pasdFirst.NotificationSchengen ?? false;
bool pasdIsPAX = pasdFirst.NotificationPAX ?? false;
- if (!((pasdFirst.NotificationPAX ?? false) || pasdIsSchengen)) // mindestens eins der beiden
+ if (!(pasdIsPAX || pasdIsSchengen)) // mindestens eins der beiden
{
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V201, "Wrong selection", null, "PASD", null, "PASD");
mv.MessageGroupName = Properties.Resources.textOverview;
@@ -815,13 +815,13 @@ namespace ENI2
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V202, "No Schengen details", null, "PASD", pasd.Identifier, "PASD");
mv.MessageGroupName = Properties.Resources.textOverview;
vViolations.Add(mv);
- }
+ }
if (pasdIsPAX && !pasd.HasPAXDetails)
{
MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V203, "No PAX details", null, "PASD", pasd.Identifier, "PASD");
mv.MessageGroupName = Properties.Resources.textOverview;
vViolations.Add(mv);
- }
+ }
}
}
@@ -833,17 +833,20 @@ namespace ENI2
foreach (WAS_RCPT was_rcpt in was_rcptMessage.Elements)
{
-
- if (identDict.ContainsKey(was_rcpt.IdentificationNumber))
+ if (!was_rcpt.IdentificationNumber.IsNullOrEmpty())
{
- MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V221, "Identification number", null, "WAS_RCPT", was_rcpt.Identifier, "WAS_RCPT");
- mv.MessageGroupName = Properties.Resources.textOverview;
- vViolations.Add(mv);
- break;
- }
- else
- {
- identDict.Add(was_rcpt.IdentificationNumber, "");
+ // auf doppelte Ident Nummern prüfen
+ if (identDict.ContainsKey(was_rcpt.IdentificationNumber))
+ {
+ MessageViolation mv = RuleEngine.CreateViolation(ValidationCode.V221, "Identification number", null, "WAS_RCPT", was_rcpt.Identifier, "WAS_RCPT");
+ mv.MessageGroupName = Properties.Resources.textOverview;
+ vViolations.Add(mv);
+ break;
+ }
+ else
+ {
+ identDict.Add(was_rcpt.IdentificationNumber, "");
+ }
}
}
diff --git a/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml b/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml
index a5937371..ed52f1ed 100644
--- a/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml
+++ b/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml
@@ -73,16 +73,16 @@
-
+
+
-
-
+
@@ -113,16 +113,16 @@
-
+
+
-
-
+
@@ -152,20 +152,21 @@
-
+
+
-
+
-
+
@@ -195,20 +196,20 @@
-
+
+
-
+
-
diff --git a/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs b/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs
index 47032166..cd12a520 100644
--- a/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs
+++ b/ENI2/DetailViewControls/BorderPoliceDetailControl.xaml.cs
@@ -730,7 +730,7 @@ namespace ENI2.DetailViewControls
return;
}
- using (var reader = ExcelReaderFactory.CreateReader(stream))
+ using (IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream))
{
List importCrew = new List();
@@ -740,27 +740,26 @@ namespace ENI2.DetailViewControls
{
while (reader.Read())
{
- if(((IExcelDataReader) reader).FieldCount < 10)
+ if(reader.FieldCount < 13)
{
- throw new InvalidDataException("Sheet must have at least 10 Columns of data");
+ throw new InvalidDataException("Sheet must have 13 columns of data");
}
CREW crew = new CREW();
if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue;
if (!reader.IsDBNull(0)) crew.CrewMemberLastName = reader.GetString(0);
+ if (crew.CrewMemberLastName.Equals("Family Name") || (crew.CrewMemberLastName.Trim().Length == 0)) continue;
if (!reader.IsDBNull(1)) crew.CrewMemberFirstName = reader.GetString(1);
if (!reader.IsDBNull(2)) crew.CrewMemberGender = GlobalStructures.ParseGender(reader.GetString(2));
- if (!reader.IsDBNull(3)) crew.CrewMemberNationality = reader.GetString(3).Substring(0, 2).ToUpper();
- if (!reader.IsDBNull(4)) crew.CrewMemberDuty = reader.GetString(4);
+ if (!reader.IsDBNull(3)) crew.CrewMemberDuty = reader.GetString(3);
+ if (!reader.IsDBNull(4)) crew.CrewMemberNationality = reader.GetString(4).Substring(0, 2).ToUpper();
if (!reader.IsDBNull(5)) crew.CrewMemberPlaceOfBirth = reader.GetString(5);
- if (!reader.IsDBNull(6)) crew.CrewMemberDateOfBirth = reader.GetDateTime(6);
- if (!reader.IsDBNull(7)) crew.CrewMemberIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(7));
- if (!reader.IsDBNull(8)) crew.CrewMemberIdentityDocumentId = this.getValueAsString(reader, 8);
- if (!reader.IsDBNull(9)) crew.CrewMemberVisaNumber = this.getValueAsString(reader, 9);
-
- if(((IExcelDataReader) reader).FieldCount > 11) {
- if (!reader.IsDBNull(10)) crew.CrewMemberIdentityDocumentIssuingState = reader.GetString(10).Substring(0, 2).ToUpper();
- if (!reader.IsDBNull(11)) crew.CrewMemberIdentityDocumentExpiryDate = reader.GetDateTime(11);
- }
+ if (!reader.IsDBNull(6)) crew.CrewMemberCountryOfBirth = reader.GetString(6).Substring(0, 2).ToUpper();
+ if (!reader.IsDBNull(7)) crew.CrewMemberDateOfBirth = reader.GetDateTime(7);
+ if (!reader.IsDBNull(8)) crew.CrewMemberIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(8));
+ if (!reader.IsDBNull(9)) crew.CrewMemberIdentityDocumentId = this.getValueAsString(reader, 9);
+ if (!reader.IsDBNull(10)) crew.CrewMemberIdentityDocumentIssuingState = reader.GetString(10).Substring(0, 2).ToUpper();
+ if (!reader.IsDBNull(11)) crew.CrewMemberIdentityDocumentExpiryDate = reader.GetDateTime(11);
+ if (!reader.IsDBNull(12)) crew.CrewMemberVisaNumber = this.getValueAsString(reader, 12);
crew.MessageHeader = this._crewMessage;
crew.IsDirty = true;
@@ -806,7 +805,7 @@ namespace ENI2.DetailViewControls
return;
}
- using (var reader = ExcelReaderFactory.CreateReader(stream))
+ using (IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream))
{
List importCrew = new List();
@@ -816,30 +815,28 @@ namespace ENI2.DetailViewControls
{
while (reader.Read())
{
- if (((IExcelDataReader)reader).FieldCount < 10)
+ if (reader.FieldCount < 13)
{
- throw new InvalidDataException("Sheet must have at least 10 Columns of data");
+ throw new InvalidDataException("Sheet must have 13 columns of data");
}
CREWD crew = new CREWD();
crew.IsDeparture = true;
if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue;
if (!reader.IsDBNull(0)) crew.CrewMemberLastName = reader.GetString(0);
+ if (crew.CrewMemberLastName.Equals("Family Name") || (crew.CrewMemberLastName.Trim().Length == 0)) continue;
if (!reader.IsDBNull(1)) crew.CrewMemberFirstName = reader.GetString(1);
if (!reader.IsDBNull(2)) crew.CrewMemberGender = GlobalStructures.ParseGender(reader.GetString(2));
- if (!reader.IsDBNull(3)) crew.CrewMemberNationality = reader.GetString(3).Substring(0, 2).ToUpper();
- if (!reader.IsDBNull(4)) crew.CrewMemberDuty = reader.GetString(4);
+ if (!reader.IsDBNull(3)) crew.CrewMemberDuty = reader.GetString(3);
+ if (!reader.IsDBNull(4)) crew.CrewMemberNationality = reader.GetString(4).Substring(0, 2).ToUpper();
if (!reader.IsDBNull(5)) crew.CrewMemberPlaceOfBirth = reader.GetString(5);
- if (!reader.IsDBNull(6)) crew.CrewMemberDateOfBirth = reader.GetDateTime(6);
- if (!reader.IsDBNull(7)) crew.CrewMemberIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(7));
- if (!reader.IsDBNull(8)) crew.CrewMemberIdentityDocumentId = this.getValueAsString(reader, 8);
- if (!reader.IsDBNull(9)) crew.CrewMemberVisaNumber = this.getValueAsString(reader, 9);
-
- if (((IExcelDataReader)reader).FieldCount > 11)
- {
- if (!reader.IsDBNull(10)) crew.CrewMemberIdentityDocumentIssuingState = reader.GetString(10).Substring(0, 2).ToUpper();
- if (!reader.IsDBNull(11)) crew.CrewMemberIdentityDocumentExpiryDate = reader.GetDateTime(11);
- }
+ if (!reader.IsDBNull(6)) crew.CrewMemberCountryOfBirth = reader.GetString(6).Substring(0, 2).ToUpper();
+ if (!reader.IsDBNull(7)) crew.CrewMemberDateOfBirth = reader.GetDateTime(7);
+ if (!reader.IsDBNull(8)) crew.CrewMemberIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(8));
+ if (!reader.IsDBNull(9)) crew.CrewMemberIdentityDocumentId = this.getValueAsString(reader, 9);
+ if (!reader.IsDBNull(10)) crew.CrewMemberIdentityDocumentIssuingState = reader.GetString(10).Substring(0, 2).ToUpper();
+ if (!reader.IsDBNull(11)) crew.CrewMemberIdentityDocumentExpiryDate = reader.GetDateTime(11);
+ if (!reader.IsDBNull(12)) crew.CrewMemberVisaNumber = this.getValueAsString(reader, 12);
crew.MessageHeader = this._crewMessage;
crew.IsDirty = true;
@@ -895,38 +892,35 @@ namespace ENI2.DetailViewControls
{
while (reader.Read())
{
- if (((IExcelDataReader)reader).FieldCount < 11)
+ if (((IExcelDataReader)reader).FieldCount < 17)
{
- throw new InvalidDataException("Sheet must have at least 11 Columns of data");
+ throw new InvalidDataException("Sheet must have 17 columns of data");
}
PAS pas = new PAS();
if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue;
if (!reader.IsDBNull(0)) pas.PassengerLastName = reader.GetValue(0).ToString();
+ if (pas.PassengerLastName.Equals("Family Name") || (pas.PassengerLastName.Trim().Length == 0)) continue;
if (!reader.IsDBNull(1)) pas.PassengerFirstName = reader.GetValue(1).ToString();
if (!reader.IsDBNull(2)) pas.PassengerGender = GlobalStructures.ParseGender(reader.GetString(2));
- if (!reader.IsDBNull(3)) pas.PassengerNationality = reader.GetString(3).Substring(0, 2).ToUpper();
-
- if (!reader.IsDBNull(4)) pas.PassengerPortOfEmbarkation = reader.GetString(4);
+ if (!reader.IsDBNull(3)) pas.PassengerPortOfEmbarkation = reader.GetString(3);
if (LocodeDB.PortNameFromLocode(pas.PassengerPortOfEmbarkation) == null)
pas.PassengerPortOfEmbarkation = null;
-
- if (!reader.IsDBNull(5)) pas.PassengerPortOfDisembarkation = reader.GetString(5);
+ if (!reader.IsDBNull(4)) pas.PassengerPortOfDisembarkation = reader.GetString(4);
if (LocodeDB.PortNameFromLocode(pas.PassengerPortOfDisembarkation) == null)
pas.PassengerPortOfDisembarkation = null;
-
- if (!reader.IsDBNull(6)) pas.PassengerInTransit = GlobalStructures.ReadBoolean(reader.GetString(6));
+ if (!reader.IsDBNull(5)) pas.PassengerInTransit = GlobalStructures.ReadBoolean(reader.GetString(5));
+ if (!reader.IsDBNull(6)) pas.PassengerNationality = reader.GetString(6).Substring(0, 2).ToUpper();
if (!reader.IsDBNull(7)) pas.PassengerPlaceOfBirth = reader.GetString(7);
- if (!reader.IsDBNull(8)) pas.PassengerDateOfBirth = reader.GetDateTime(8);
- if (!reader.IsDBNull(9)) pas.PassengerIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(9));
- if (!reader.IsDBNull(10)) pas.PassengerIdentityDocumentId = this.getValueAsString(reader, 10);
- if (!reader.IsDBNull(11)) pas.PassengerVisaNumber = this.getValueAsString(reader, 11);
-
- if (((IExcelDataReader)reader).FieldCount > 12)
- {
- if (!reader.IsDBNull(12)) pas.PassengerIdentityDocumentIssuingState = reader.GetString(12).Substring(0, 2).ToUpper();
- if (!reader.IsDBNull(13)) pas.PassengerIdentityDocumentExpiryDate = reader.GetDateTime(13);
- }
+ if (!reader.IsDBNull(8)) pas.PassengerCountryOfBirth = reader.GetString(8).Substring(0, 2).ToUpper();
+ if (!reader.IsDBNull(9)) pas.PassengerDateOfBirth = reader.GetDateTime(9);
+ if (!reader.IsDBNull(10)) pas.PassengerIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(10));
+ if (!reader.IsDBNull(11)) pas.PassengerIdentityDocumentId = this.getValueAsString(reader, 11);
+ if (!reader.IsDBNull(12)) pas.PassengerIdentityDocumentIssuingState = reader.GetString(12).Substring(0, 2).ToUpper();
+ if (!reader.IsDBNull(13)) pas.PassengerIdentityDocumentExpiryDate = reader.GetDateTime(13);
+ if (!reader.IsDBNull(14)) pas.PassengerVisaNumber = this.getValueAsString(reader, 14);
+ if (!reader.IsDBNull(15)) pas.EmergencyCare = reader.GetString(15);
+ if (!reader.IsDBNull(16)) pas.EmergencyContactNumber = this.getValueAsString(reader, 16);
pas.MessageHeader = this._pasMessage;
pas.IsDirty = true;
@@ -981,39 +975,35 @@ namespace ENI2.DetailViewControls
{
while (reader.Read())
{
- if (((IExcelDataReader)reader).FieldCount < 11)
+ if (((IExcelDataReader)reader).FieldCount < 17)
{
- throw new InvalidDataException("Sheet must have at least 11 Columns of data");
+ throw new InvalidDataException("Sheet must have 17 columns of data");
}
PASD pas = new PASD();
- pas.IsDeparture = true;
if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue;
if (!reader.IsDBNull(0)) pas.PassengerLastName = reader.GetValue(0).ToString();
+ if (pas.PassengerLastName.Equals("Family Name") || (pas.PassengerLastName.Trim().Length == 0)) continue;
if (!reader.IsDBNull(1)) pas.PassengerFirstName = reader.GetValue(1).ToString();
if (!reader.IsDBNull(2)) pas.PassengerGender = GlobalStructures.ParseGender(reader.GetString(2));
- if (!reader.IsDBNull(3)) pas.PassengerNationality = reader.GetString(3).Substring(0, 2).ToUpper();
-
- if (!reader.IsDBNull(4)) pas.PassengerPortOfEmbarkation = reader.GetString(4);
+ if (!reader.IsDBNull(3)) pas.PassengerPortOfEmbarkation = reader.GetString(3);
if (LocodeDB.PortNameFromLocode(pas.PassengerPortOfEmbarkation) == null)
pas.PassengerPortOfEmbarkation = null;
-
- if (!reader.IsDBNull(5)) pas.PassengerPortOfDisembarkation = reader.GetString(5);
+ if (!reader.IsDBNull(4)) pas.PassengerPortOfDisembarkation = reader.GetString(4);
if (LocodeDB.PortNameFromLocode(pas.PassengerPortOfDisembarkation) == null)
pas.PassengerPortOfDisembarkation = null;
-
- if (!reader.IsDBNull(6)) pas.PassengerInTransit = GlobalStructures.ReadBoolean(reader.GetString(6));
+ if (!reader.IsDBNull(5)) pas.PassengerInTransit = GlobalStructures.ReadBoolean(reader.GetString(5));
+ if (!reader.IsDBNull(6)) pas.PassengerNationality = reader.GetString(6).Substring(0, 2).ToUpper();
if (!reader.IsDBNull(7)) pas.PassengerPlaceOfBirth = reader.GetString(7);
- if (!reader.IsDBNull(8)) pas.PassengerDateOfBirth = reader.GetDateTime(8);
- if (!reader.IsDBNull(9)) pas.PassengerIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(9));
- if (!reader.IsDBNull(10)) pas.PassengerIdentityDocumentId = this.getValueAsString(reader, 10);
- if (!reader.IsDBNull(11)) pas.PassengerVisaNumber = this.getValueAsString(reader, 11);
-
- if (((IExcelDataReader)reader).FieldCount > 12)
- {
- if (!reader.IsDBNull(12)) pas.PassengerIdentityDocumentIssuingState = reader.GetString(12).Substring(0, 2).ToUpper();
- if (!reader.IsDBNull(13)) pas.PassengerIdentityDocumentExpiryDate = reader.GetDateTime(13);
- }
+ if (!reader.IsDBNull(8)) pas.PassengerCountryOfBirth = reader.GetString(8).Substring(0, 2).ToUpper();
+ if (!reader.IsDBNull(9)) pas.PassengerDateOfBirth = reader.GetDateTime(9);
+ if (!reader.IsDBNull(10)) pas.PassengerIdentityDocumentType = GlobalStructures.ReadIdentityDocumentType(reader.GetString(10));
+ if (!reader.IsDBNull(11)) pas.PassengerIdentityDocumentId = this.getValueAsString(reader, 11);
+ if (!reader.IsDBNull(12)) pas.PassengerIdentityDocumentIssuingState = reader.GetString(12).Substring(0, 2).ToUpper();
+ if (!reader.IsDBNull(13)) pas.PassengerIdentityDocumentExpiryDate = reader.GetDateTime(13);
+ if (!reader.IsDBNull(14)) pas.PassengerVisaNumber = this.getValueAsString(reader, 14);
+ if (!reader.IsDBNull(15)) pas.EmergencyCare = reader.GetString(15);
+ if (!reader.IsDBNull(16)) pas.EmergencyContactNumber = this.getValueAsString(reader, 16);
pas.MessageHeader = this._pasMessage;
pas.IsDirty = true;
diff --git a/ENI2/DetailViewControls/WasteDetailControl.xaml.cs b/ENI2/DetailViewControls/WasteDetailControl.xaml.cs
index 9afd3621..803d53a1 100644
--- a/ENI2/DetailViewControls/WasteDetailControl.xaml.cs
+++ b/ENI2/DetailViewControls/WasteDetailControl.xaml.cs
@@ -89,9 +89,12 @@ namespace ENI2.DetailViewControls
private void buttonWasteReceivedAddMissingEntries_Click(object sender, RoutedEventArgs e)
{
- this._selectedWAS_RCPT.AddMissingWasteReceived();
- this.SublistElementChanged(Message.NotificationClass.WAS_RCPT);
- this.dataGridWasteReceived.Items.Refresh();
+ if (this._selectedWAS_RCPT != null)
+ {
+ this._selectedWAS_RCPT.AddMissingWasteReceived();
+ this.SublistElementChanged(Message.NotificationClass.WAS_RCPT);
+ this.dataGridWasteReceived.Items.Refresh();
+ }
}
public override void Initialize()
diff --git a/ENI2/ENI2.csproj b/ENI2/ENI2.csproj
index 58549339..c96e9f83 100644
--- a/ENI2/ENI2.csproj
+++ b/ENI2/ENI2.csproj
@@ -36,8 +36,8 @@
5.4.0.0
true
publish.html
- 2
- 7.0.0.2
+ 3
+ 7.0.0.3
false
true
true
diff --git a/ENI2/Excel/ExcelReader.cs b/ENI2/Excel/ExcelReader.cs
index a435926e..93ccfc9c 100644
--- a/ENI2/Excel/ExcelReader.cs
+++ b/ENI2/Excel/ExcelReader.cs
@@ -250,12 +250,12 @@ namespace ENI2.Excel
if(val!= null)
{
- if (val == "I") result = 1;
- if (val == "1") result = 1;
- if (val == "II") result = 2;
- if (val == "2") result = 2;
- if (val == "III") result = 3;
- if (val == "3") result = 3;
+ if (val == "I") result = 0;
+ if (val == "1") result = 0;
+ if (val == "II") result = 1;
+ if (val == "2") result = 1;
+ if (val == "III") result = 2;
+ if (val == "3") result = 2;
if (val.Equals("NONE", StringComparison.OrdinalIgnoreCase)) result = 0;
}
diff --git a/ENI2/Excel/ExcelUtil.cs b/ENI2/Excel/ExcelUtil.cs
index c9fa32ba..e3535490 100644
--- a/ENI2/Excel/ExcelUtil.cs
+++ b/ENI2/Excel/ExcelUtil.cs
@@ -31,10 +31,11 @@ namespace ENI2.Excel
{
readMessage = "Id not matching in import sheet";
return false;
- }
+ }
// load messages if already present
List messages = DBManager.Instance.GetMessagesForCore(messageCore, DBManager.MessageLoad.ALL);
+ messages.Sort();
// parse selected classes
try
@@ -114,7 +115,7 @@ namespace ENI2.Excel
}
return result;
- }
+ }
internal static void SaveMessage(Message message)
{
@@ -239,7 +240,7 @@ namespace ENI2.Excel
#region BPOL
private static bool ScanBPOL(Message bpolMessage, List messages, MessageCore messageCore, ExcelReader reader)
- {
+ {
if (bpolMessage.Elements.Count == 0)
{
BPOL newBPOL = new BPOL();
@@ -252,12 +253,12 @@ namespace ENI2.Excel
// 19.12.16: Einschleicher-Feld von Klasse POBA übernehmen (anderes ist nicht im Sheet!)
// (1.12.21: bezweifle ob das so wie gedacht funktioniert..)
- Message pobaMessage = ExcelUtil.GetMessageWithType(messages, messageCore, Message.NotificationClass.POBA);
- if(pobaMessage.Elements.Count > 0)
+ Message pobaMessage = ExcelUtil.GetMessageWithType(messages, messageCore, Message.NotificationClass.POBA);
+ if (pobaMessage.Elements.Count > 0)
{
POBA poba = pobaMessage.Elements[0] as POBA;
bpol.StowawaysOnBoard = (poba.TotalStowawaysOnBoardUponArrival ?? 0) > 0;
- }
+ }
bpol.DeleteElements();
@@ -301,7 +302,7 @@ namespace ENI2.Excel
#region POBA
private static bool ScanPOBA(Message pobaMessage, ExcelReader reader)
- {
+ {
if(pobaMessage.Elements.Count == 0)
{
POBA newPoba = new POBA();
@@ -312,7 +313,7 @@ namespace ENI2.Excel
POBA poba = pobaMessage.Elements[0] as POBA;
ScanMessage(poba, reader);
if (((poba.TotalPersonsOnBoardUponArrival ?? 0) == 0) && poba.IsNew)
- return false;
+ return false;
return true;
}
@@ -392,7 +393,7 @@ namespace ENI2.Excel
string unNumber = reader.ReadText(imdg_unno);
if(unNumber.IsNullOrEmpty()) // if unnumber is not set ignore this row
- {
+ {
continue;
}
@@ -1301,6 +1302,12 @@ namespace ENI2.Excel
wr.WasteCode = reader.ReadText(wtype); // hier muss immer was stehen, ist ein festes Beschreibungsfeld
wr.WasteDescription = reader.ReadText(wDescr);
+ if(wr.WasteDescription.IsNullOrEmpty())
+ {
+ if (wr.WasteCode.Equals("999") || wr.WasteCode.Equals("201") || wr.WasteCode.Equals("202") || wr.WasteCode.Equals("203") ||
+ wr.WasteCode.Equals("204") || wr.WasteCode.Equals("510") || wr.WasteCode.Equals("511"))
+ wr.WasteDescription = "-";
+ }
wr.AmountWasteReceived_MTQ = reader.ReadNumber(wAmount);
if (!wr.AmountWasteReceived_MTQ.HasValue) wr.AmountWasteReceived_MTQ = 0; // Default ist 0, nicht nix ;-)
}
diff --git a/bsmd.database/DBManager.cs b/bsmd.database/DBManager.cs
index 4de5b40a..8e50efb5 100644
--- a/bsmd.database/DBManager.cs
+++ b/bsmd.database/DBManager.cs
@@ -427,7 +427,7 @@ namespace bsmd.database
List portAreas = pa.LoadList(reader);
DBManager.allPortAreas = new Dictionary();
foreach (PortArea aPa in portAreas)
- DBManager.allPortAreas.Add(aPa.Locode + aPa.Code, aPa);
+ DBManager.allPortAreas.Add(aPa.Code, aPa);
}
return DBManager.allPortAreas;
}
diff --git a/bsmd.database/Message.cs b/bsmd.database/Message.cs
index 5dfb82fe..cd291bee 100644
--- a/bsmd.database/Message.cs
+++ b/bsmd.database/Message.cs
@@ -865,13 +865,6 @@ namespace bsmd.database
return this.MessageNotificationClass.CompareTo(other.MessageNotificationClass);
}
- /*
- public override int GetHashCode()
- {
- return this.Id.GetHashCode() * 17 + this.messageCoreId.GetHashCode() * 17 + this.MessageNotificationClass.GetHashCode();
- }
- */
-
#endregion
#region IClonable implementation
diff --git a/bsmd.database/WAS_RCPT.cs b/bsmd.database/WAS_RCPT.cs
index 2507e6c0..055478a1 100644
--- a/bsmd.database/WAS_RCPT.cs
+++ b/bsmd.database/WAS_RCPT.cs
@@ -134,12 +134,26 @@ namespace bsmd.database
{
Identifier = DatabaseEntity.GetNewIdentifier(this.WasteReceived),
WAS_RCPT = this,
- WasteDescription = "-",
AmountWasteReceived_MTQ = 0,
WasteCode = wasteCode
};
+ switch(wasteCode)
+ {
+ case "999":
+ case "201":
+ case "202":
+ case "203":
+ case "204":
+ case "510":
+ case "511":
+ newWasteReceived.WasteDescription = "-";
+ break;
+ default:
+ newWasteReceived.WasteDescription = "";
+ break;
+ }
this.WasteReceived.Add(newWasteReceived);
- }
+ }
}
}