From 849578d7a2fc2d41cd7d584bafd4180983ae1c36 Mon Sep 17 00:00:00 2001 From: Daniel Schick Date: Thu, 12 Dec 2019 12:56:52 +0000 Subject: [PATCH] =?UTF-8?q?=C3=84nderungen=20Version=205.7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...timeHealthDeclarationDetailControl.xaml.cs | 40 ++++++---- .../WasteDetailControl.xaml.cs | 2 +- .../EditControls/MessageHistoryDialog.xaml | 9 ++- .../EditControls/MessageHistoryDialog.xaml.cs | 19 +++-- ENI-2/ENI2/ENI2/Util/UIHelper.cs | 10 ++- Stundensheet.xlsx | Bin 43002 -> 43054 bytes nsw/Source/bsmd.database/DBManager.cs | 2 +- nsw/Source/bsmd.database/MessageHistory.cs | 8 +- .../WasteDisposalServiceProvider.cs | 2 +- nsw/Source/bsmd.database/bsmd.database.csproj | 1 + nsw/Source/bsmd.dbh/Request.cs | 74 ++++++++++-------- 11 files changed, 106 insertions(+), 61 deletions(-) diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml.cs index 0fbe3188..debe1323 100644 --- a/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/DetailViewControls/MaritimeHealthDeclarationDetailControl.xaml.cs @@ -291,7 +291,7 @@ namespace ENI2.DetailViewControls } catch (Exception ex) { - MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); + MessageBox.Show(ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); return; } @@ -305,27 +305,37 @@ namespace ENI2.DetailViewControls { while (reader.Read()) { - if (reader.FieldCount < 2) + if (reader.FieldCount < 3) { - throw new InvalidDataException("Sheet must have at least 2 Columns of data"); + throw new InvalidDataException("Sheet must have at least 3 Columns of data"); } PortOfCallLast30Days poc30 = new PortOfCallLast30Days(); if (reader.IsDBNull(0) && reader.IsDBNull(1)) continue; if (!reader.IsDBNull(0)) poc30.PortOfCallLast30DaysLocode = reader.GetString(0); if (!reader.IsDBNull(1)) poc30.PortOfCallLast30DaysDateOfDeparture = reader.GetDateTime(1); - // if (DateTime.TryParse(reader.GetString(1), out DateTime dateOfDep)) - // poc30.PortOfCallLast30DaysDateOfDeparture = dateOfDep; - if (!reader.IsDBNull(2) && !reader.GetString(2).IsNullOrEmpty()) poc30.PortOfCallLast30DaysCrewMembersJoined = true; - - for (int colIndex = 2; (colIndex < reader.FieldCount) && !reader.IsDBNull(colIndex); colIndex++) + string boolString = ""; + if (!reader.IsDBNull(2)) boolString = reader.GetString(2); + poc30.PortOfCallLast30DaysCrewMembersJoined = (boolString.Equals("y", StringComparison.OrdinalIgnoreCase) || (boolString.Equals("yes", StringComparison.OrdinalIgnoreCase)) || + (boolString.Equals("j", StringComparison.OrdinalIgnoreCase))); + + if(reader.FieldCount > 3) { - string crewName = reader.GetString(colIndex); - if (crewName.IsNullOrEmpty()) break; - PortOfCallLast30DaysCrewJoinedShip poc30Crew = new PortOfCallLast30DaysCrewJoinedShip(); - poc30Crew.PortOfCallLast30DaysCrewJoinedShipName = crewName; - poc30Crew.PortOfCallLast30Days = poc30; - poc30.CrewJoinedShip.Add(poc30Crew); - } + string allNewCrew = reader.GetString(3)?.Trim(); + if(!allNewCrew.IsNullOrEmpty()) + { + string[] crewNames = allNewCrew.Split(',', ';'); + for(int i=0;i - + + + + + diff --git a/ENI-2/ENI2/ENI2/EditControls/MessageHistoryDialog.xaml.cs b/ENI-2/ENI2/ENI2/EditControls/MessageHistoryDialog.xaml.cs index 36b5432c..2a4a176d 100644 --- a/ENI-2/ENI2/ENI2/EditControls/MessageHistoryDialog.xaml.cs +++ b/ENI-2/ENI2/ENI2/EditControls/MessageHistoryDialog.xaml.cs @@ -4,17 +4,11 @@ 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.Shapes; using bsmd.database; using ENI2.Controls; using log4net; @@ -29,11 +23,22 @@ namespace ENI2.EditControls private static readonly ILog _log = LogManager.GetLogger(typeof(MessageHistoryDialog)); + private readonly Dictionary groupColorDict = new Dictionary(); + public MessageHistoryDialog() { InitializeComponent(); Loaded += (o, e) => { + // "color-code" (Group) the message histories + + foreach(MessageHistory mh in this.MessageHistories) + { + if (!groupColorDict.ContainsKey(mh.EntityId)) + groupColorDict[mh.EntityId] = new SolidColorBrush(Util.UIHelper.GetRandomBrightColor()); + mh.GroupColorBrush = groupColorDict[mh.EntityId]; + } + this.dataGridMessageHistories.ItemsSource = this.MessageHistories; this.dataGridMessageHistories.ContextMenu = new ContextMenu(); @@ -94,7 +99,7 @@ namespace ENI2.EditControls foreach (Message aMessage in this.Messages) { if (aMessage.MessageNotificationClassDisplay.Equals(selectedHistory.EntityName) || - (aMessage.MessageNotificationClassDisplay.Equals("BKRA") && selectedHistory.EntityName.Equals("BRKA")) || + (aMessage.MessageNotificationClassDisplay.Equals("BKRA") && selectedHistory.EntityName.Equals("BRKA")) || // blöder Schreibfehler beachten (aMessage.MessageNotificationClassDisplay.Equals("BKRD") && selectedHistory.EntityName.Equals("BRKD")) ) { diff --git a/ENI-2/ENI2/ENI2/Util/UIHelper.cs b/ENI-2/ENI2/ENI2/Util/UIHelper.cs index 34f56f5b..354677b0 100644 --- a/ENI-2/ENI2/ENI2/Util/UIHelper.cs +++ b/ENI-2/ENI2/ENI2/Util/UIHelper.cs @@ -7,6 +7,7 @@ using System; using System.Reflection; using System.Windows; using System.Windows.Input; +using System.Windows.Media; using System.Windows.Threading; namespace ENI2.Util @@ -15,6 +16,7 @@ namespace ENI2.Util { private static bool isBusy; + private static readonly Random r = new Random(); public static void SetBusyState() { @@ -37,8 +39,7 @@ namespace ENI2.Util private static void dispatcherTimer_Tick(object sender, EventArgs e) { - DispatcherTimer timer = sender as DispatcherTimer; - if(timer != null) + if (sender is DispatcherTimer timer) { SetBusyState(false); timer.Stop(); @@ -50,5 +51,10 @@ namespace ENI2.Util return (bool)typeof(Window).GetField("_showingAsDialog", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(window); } + public static Color GetRandomBrightColor() + { + return Color.FromRgb((byte) r.Next(150, 255), (byte) r.Next(150, 255), (byte) r.Next(150, 255)); + } + } } diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index 1cc6b60bbd6c89a10f511150d611b02400109b13..d2bea148fa3edba878a0af713e1a11b9272b4549 100644 GIT binary patch delta 30579 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

7k z4Wgo$euB4EVN3XcbzDYGX~6jl%EUs7avZ#4ZI4gm-#Cn)3m#}65Lr@Qw8mU09iLAD zz^co<43D*Rs|(@b>idrkb=NIOj%{c49G6+Lu{pIw>1UOH<}7WneReQgGLOI1r@!nR zmLy=WxS}zY8Wit1YNTMff`ML~$6@F8hmpd+=_oG?pL$m~R_^6{XEL}esH8*CH30m| z%gApm22{?=w^!UzSKLZrTk_bp>_PJXSV z@>%@~t7|!&owy+(O1UcXMm5iU6Os~;AhNZbaj@S2;ibE>flPX<_v^3xAL%<)yXgnn zWA&W!MxY5hF%xM4N}m9<->B^8dY>{a{I5* zD{SF{5&L_FGpdW}>pn#IH;D=q1`j7#dc&j`C=c{N8`5R^qT@h;t%I z4$^sQ6jH$pV8Aw|c+%1-Hb@YvOQNDX# zr);TP5JQpD!4qFbUfjVYNZo-o3}sV@1XqU4<+2P3iaUDGV5qGv7iJuMC=-K_{tPi# zJJMQ%0z>aH7XhMmEg4Jdjty;X6TokjZ;uYwdgsv}Nc-4X=VbHHlpqR`R3BRw4YhPNrN(B|ZF}A`}5Gx&xs*5UB zOVvuB9yw`55?><8pF~J{*evbb0w3=r$oX%KgmBs*VkPYLh}DHY6;D<5R_rW%kp>TE z8wnUE(4OSuhL3yh#u;&e=zc_;tc`w2vDc63V5r3UT0_smA6M@f=}(m|rBZjrI4&E* zhnrTcPyjuj^dgeSLW%&?J7U-PExhVexv1YWiolyM-4Ld)Lf`VWPF-Z>ox2xdxh$m! z{wfQ4$!>iz&iaJ1Ln$c_&xEvE`HG*+dh&+@P+mtl0D2waA{jaQ{|0iqN7^N> zfb1j`A?Jn&r+wo>sgt<8U}wHId0bz9TQsw?1C+>D?+Ik|l(vlF-nOer9HrhLFDTvB;r-=jjUkem^7sMHl}n=EvDV2`EELibbrGAIIcE%4tRJKVMy69)P$@LH@ed^FK2*c&CRtEK&>Ohz>b=ilZwg%#FEJ-9 zAt*hmc51};h^)O;K0)kH%isGRO8vV*y}ClozO0d7-;47Z2>RcnXYhL+qSUa)`4n?G4v+b~Iwd_NOeonQn>~ zQw@!Ih$@vBdP#0c$)DP+%BN;R7RDN47pCR@--3^F{XdQP}5l&!#0yvG5fj4Q2 zkov5QVUaun!(;sDV{g7MW6goo!ZOlT&aats<`zbU>r<1ojISuZVQg;hg5sQ<=gY35 z`eBH1cNEGkYs2H5GYg)~#vIs_4NvZ?QBVI!I>db)pKFb|V;A9OdD~6K)6520h6@E( z?S>zmV+6{6;xm{Vjr!8ay1sBtf)W0&7$7WN3l8T0{&t&qR;&)%nkZC4g!_LA0T2*0 zkpF+hCHj<5;QrT_pdcWpU?3pK|9=|fDzT@8AGA90qeS&*SSAQaqEjYnqGc&H7-CLh TQYkO!P2zkhDa3K%e~kVIvtWUu delta 30520 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 z + /// Helper property for display grid + /// + public Brush GroupColorBrush { get; set; } + ///

/// ENI Grid helper property /// diff --git a/nsw/Source/bsmd.database/WasteDisposalServiceProvider.cs b/nsw/Source/bsmd.database/WasteDisposalServiceProvider.cs index 12c5f794..4ee9de11 100644 --- a/nsw/Source/bsmd.database/WasteDisposalServiceProvider.cs +++ b/nsw/Source/bsmd.database/WasteDisposalServiceProvider.cs @@ -31,7 +31,7 @@ namespace bsmd.database [ShowReport] [MaxLength(99)] [ENI2Validation] - [Validation(ValidationCode.NOT_NULL_MAX_LEN, 99)] + [Validation(ValidationCode.STRING_MAXLEN, 99)] public string WasteDisposalServiceProviderName { get; set; } [Obsolete] diff --git a/nsw/Source/bsmd.database/bsmd.database.csproj b/nsw/Source/bsmd.database/bsmd.database.csproj index 92383c70..0bc6a1b7 100644 --- a/nsw/Source/bsmd.database/bsmd.database.csproj +++ b/nsw/Source/bsmd.database/bsmd.database.csproj @@ -47,6 +47,7 @@ ..\..\..\ENI-2\ENI2\ENI2\packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll + diff --git a/nsw/Source/bsmd.dbh/Request.cs b/nsw/Source/bsmd.dbh/Request.cs index db34f5cc..268d54e3 100644 --- a/nsw/Source/bsmd.dbh/Request.cs +++ b/nsw/Source/bsmd.dbh/Request.cs @@ -19,7 +19,7 @@ namespace bsmd.dbh public class Request { - private static ILog _log = LogManager.GetLogger(typeof(Request)); + private static readonly ILog _log = LogManager.GetLogger(typeof(Request)); public static bool SendCancelCore(MessageCore core, bool useTest) { @@ -31,7 +31,7 @@ namespace bsmd.dbh return false; } - RootType rootType = RootType.CANCEL; + const RootType rootType = RootType.CANCEL; Dbh_Osis_Answ_Ws client = new Dbh_Osis_Answ_Ws(); if (useTest) @@ -57,7 +57,7 @@ namespace bsmd.dbh { object[] items = new object[1]; DateTime timestamp = DateTime.Now; - string version = "3.0"; + const string version = "3.0"; object item = null; string senderReference = core.Id.Value.ToString("N"); items[0] = item; @@ -76,7 +76,7 @@ namespace bsmd.dbh _log.InfoFormat("Send Url: {0}", client.Url); - RootVersion rootVersion = RootVersion.Item50; + const RootVersion rootVersion = RootVersion.Item50; string result = client.Root( rootVersion, @@ -101,6 +101,10 @@ namespace bsmd.dbh return false; } + finally + { + client.Dispose(); + } return true; } @@ -150,7 +154,7 @@ namespace bsmd.dbh rp.RPType = (ReportingPartyRPType) message.ReportingParty.ReportingPartyType.Value; DateTime timestamp = DateTime.Now; - string version = "3.0"; + const string version = "3.0"; object item = null; string senderReference = message.Id.Value.ToString("N"); @@ -219,8 +223,7 @@ namespace bsmd.dbh #region NOA_NOD case Message.NotificationClass.NOA_NOD: { - NOA_NOD noa_nod = message.Elements[0] as NOA_NOD; - if (noa_nod != null) + if (message.Elements[0] is NOA_NOD noa_nod) { RootNOA_NOD rootNoaNod = new RootNOA_NOD(); @@ -233,10 +236,10 @@ namespace bsmd.dbh // rootNoaNod.ETDFromLastPortSpecified = noa_nod.ETDFromLastPort.HasValue; rootNoaNod.LastPort = noa_nod.LastPort; - rootNoaNod.NextPort = noa_nod.NextPort; + rootNoaNod.NextPort = noa_nod.NextPort; List choiceList = new List(); - List choices = new List(); + List choices = new List(); if (message.MessageCore.IsTransit) { @@ -272,11 +275,11 @@ namespace bsmd.dbh RootNOA_NODCallPurpose rnncp = new RootNOA_NODCallPurpose(); CallPurpose callPurpose = noa_nod.CallPurposes[i] as CallPurpose; rnncp.CallPurposeCode = callPurpose.CallPurposeCode; - if(callPurpose.CallPurposeDescription != string.Empty) + if (callPurpose.CallPurposeDescription != string.Empty) rnncp.CallPurposeDescription = callPurpose.CallPurposeDescription; choices.Add(rnncp); } - } + } rootNoaNod.Items = choices.ToArray(); rootNoaNod.ItemsElementName = choiceList.ToArray(); @@ -291,8 +294,7 @@ namespace bsmd.dbh case Message.NotificationClass.AGNT: { - AGNT agnt = message.Elements[0] as AGNT; - if (agnt != null) + if (message.Elements[0] is AGNT agnt) { RootAGNT rootAGNT = new RootAGNT(); rootAGNT.AgentCity = agnt.AgentCity; @@ -306,7 +308,7 @@ namespace bsmd.dbh rootAGNT.AgentPostalCode = agnt.AgentPostalCode; rootAGNT.AgentStreetAndNumber = agnt.AgentStreetAndNumber; item = rootAGNT; - } + } break; } @@ -315,8 +317,7 @@ namespace bsmd.dbh #region ATA case Message.NotificationClass.ATA: { - ATA ata = message.Elements[0] as ATA; - if (ata != null) + if (message.Elements[0] is ATA ata) { RootATA rootATA = new RootATA(); if (ata.ATAPortOfCall.HasValue) @@ -330,8 +331,7 @@ namespace bsmd.dbh #region ATD case Message.NotificationClass.ATD: { - ATD atd = message.Elements[0] as ATD; - if (atd != null) + if (message.Elements[0] is ATD atd) { RootATD rootATD = new RootATD(); rootATD.ATDPortOfCall = atd.ATDPortOfCall.Value.ToDBHDateString(); @@ -476,8 +476,7 @@ namespace bsmd.dbh #region BPOL case Message.NotificationClass.BPOL: { - BPOL bpol = message.Elements[0] as BPOL; - if (bpol != null) + if (message.Elements[0] is BPOL bpol) { RootBPOL rootBPOL = new RootBPOL(); RootBPOLPortOfItinerary[] poiArray = new RootBPOLPortOfItinerary[bpol.PortOfItineraries.Count]; @@ -858,6 +857,7 @@ namespace bsmd.dbh if (!mdh.MDHSimplification.HasValue) { _log.ErrorFormat("MDH {0} doesnt have MDHSimplification field set, aborting message", mdh.Id); + client.Dispose(); return false; } if (mdh.MDHSimplification.Value) @@ -873,9 +873,11 @@ namespace bsmd.dbh { // der blöde Teil List mdhItems = new List(); - List choiceTypes2 = new List(); - - choiceTypes2.Add(ItemsChoiceType2.NonAccidentialDeathsDuringVoyage); + List choiceTypes2 = new List + { + ItemsChoiceType2.NonAccidentialDeathsDuringVoyage + }; + mdhItems.Add((mdh.NonAccidentalDeathsDuringVoyage ?? false) ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N); if (mdh.NonAccidentalDeathsDuringVoyage ?? false) @@ -1021,9 +1023,10 @@ namespace bsmd.dbh // ACHTUNG hier ist die Reihenfolge entscheidend! (siehe XSD) List wasteItems = new List(); - List choiceType3s = new List(); - - choiceType3s.Add(ItemsChoiceType3.LastWasteDisposalPort); + List choiceType3s = new List + { + ItemsChoiceType3.LastWasteDisposalPort + }; wasteItems.Add(was.LastWasteDisposalPort); if (was.LastWasteDisposalDate.HasValue) @@ -1262,8 +1265,10 @@ namespace bsmd.dbh rootIMDG.GeneralCargoIBCSpecified = imdgPos.GeneralCargoIBC.HasValue; if (imdgPos.GeneralCargoIBC.HasValue) rootIMDG.GeneralCargoIBC = imdgPos.GeneralCargoIBC.Value ? DBHWebReference.RootSECValidISSCOnBoard.Y : DBHWebReference.RootSECValidISSCOnBoard.N; - rootIMDG.ContainerNumber = imdgPos.ContainerNumber; - rootIMDG.VehicleLicenseNumber = imdgPos.VehicleLicenseNumber; + if(!imdgPos.ContainerNumber.IsNullOrEmpty()) + rootIMDG.ContainerNumber = imdgPos.ContainerNumber; + if(!imdgPos.VehicleLicenseNumber.IsNullOrEmpty()) + rootIMDG.VehicleLicenseNumber = imdgPos.VehicleLicenseNumber; if (imdgPos.StowagePosition.IsNullOrEmpty()) { @@ -1519,8 +1524,10 @@ namespace bsmd.dbh rootIMDG.GeneralCargoIBCSpecified = imdgPos.GeneralCargoIBC.HasValue; if (imdgPos.GeneralCargoIBC.HasValue) rootIMDG.GeneralCargoIBC = imdgPos.GeneralCargoIBC.Value ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N; - rootIMDG.ContainerNumber = imdgPos.ContainerNumber; - rootIMDG.VehicleLicenseNumber = imdgPos.VehicleLicenseNumber; + if(!imdgPos.ContainerNumber.IsNullOrEmpty()) + rootIMDG.ContainerNumber = imdgPos.ContainerNumber; + if(!imdgPos.VehicleLicenseNumber.IsNullOrEmpty()) + rootIMDG.VehicleLicenseNumber = imdgPos.VehicleLicenseNumber; if (imdgPos.StowagePosition.IsNullOrEmpty()) { @@ -1676,6 +1683,7 @@ namespace bsmd.dbh default: { _log.ErrorFormat("DBH send message: message type {0} not implemented", message.MessageNotificationClass); + client.Dispose(); return false; } #endregion @@ -1706,7 +1714,7 @@ namespace bsmd.dbh _log.InfoFormat("Send Url: {0}", client.Url); - RootVersion rootVersion = RootVersion.Item50; + const RootVersion rootVersion = RootVersion.Item50; string result = client.Root( rootVersion, @@ -1731,6 +1739,10 @@ namespace bsmd.dbh returnval = false; } + finally + { + client.Dispose(); + } return returnval; }