From a434b419ad34d316939f01449cdb87967cb8b6ff Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Tue, 5 Aug 2025 09:57:48 +0200 Subject: [PATCH] Fixed a few bugs in the modified Excel import --- ENI2/Excel/ExcelUtil.cs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/ENI2/Excel/ExcelUtil.cs b/ENI2/Excel/ExcelUtil.cs index 4b4478ef..27390a99 100644 --- a/ENI2/Excel/ExcelUtil.cs +++ b/ENI2/Excel/ExcelUtil.cs @@ -1495,7 +1495,7 @@ namespace ENI2.Excel } // Leer/def. Zeilen entfernen - if (!poc30d.PortOfCallLast30DaysDateOfDeparture.HasValue && (poc30d.PortOfCallLast30DaysLocode == null)) + if (!poc30d.PortOfCallLast30DaysDateOfDeparture.HasValue && (poc30d.PortOfCallLast30DaysLocode.IsNullOrEmpty())) mdh.PortOfCallLast30Days.Remove(poc30d); } } @@ -1610,7 +1610,10 @@ namespace ENI2.Excel } SEC sec = secMessage.Elements[0] as SEC; - ScanMessage(sec, reader); + + ((ISublistContainer)sec).DeleteElements(); + + ScanMessage(sec, reader); reader.ReadBoolean("SEC.AreMatterToReport"); // das berücksichtigen wir derzeit nicht in der DB (implizit) @@ -1660,6 +1663,8 @@ namespace ENI2.Excel if (!sec.KielCanalPassagePlannedIncomming.HasValue && !sec.KielCanalPassagePlannedOutgoing.HasValue) sec.KielCanalPassagePlanned = false; + + string sheetTitle = "1. VOYAGE"; // 4.8.25: Changed this area to work like reading from a Dakosy Sheet (by values in rows, not cell names) if (reader.HasWorksheetNamed(sheetTitle)) @@ -1668,10 +1673,10 @@ namespace ENI2.Excel for (int i = 0; i < 10; i++) { - if (!(sec.GetPortFacilityWithIdentifier(i.ToString()) is LastTenPortFacilitiesCalled l10fc)) + if (!(sec.GetPortFacilityWithIdentifier((i + 1).ToString()) is LastTenPortFacilitiesCalled l10fc)) { l10fc = new LastTenPortFacilitiesCalled(); - l10fc.Identifier = i.ToString(); + l10fc.Identifier = (i + 1).ToString(); l10fc.SEC = sec; sec.LastTenPortFacilitesCalled.Add(l10fc); } @@ -1711,10 +1716,10 @@ namespace ENI2.Excel for (int i = 0; i < 10; i++) { - if (!(sec.GetShipToShipWithIdentifier(i.ToString()) is ShipToShipActivitiesDuringLastTenPortFacilitiesCalled s2sActivity)) + if (!(sec.GetShipToShipWithIdentifier((i + 1).ToString()) is ShipToShipActivitiesDuringLastTenPortFacilitiesCalled s2sActivity)) { s2sActivity = new ShipToShipActivitiesDuringLastTenPortFacilitiesCalled(); - s2sActivity.Identifier = i.ToString(); + s2sActivity.Identifier = (i + 1).ToString(); s2sActivity.SEC = sec; sec.ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.Add(s2sActivity); }