5.0.5 + AIS Version 1.1 .. neueste Änderungen sind noch auf dem SMSPLASH01
This commit is contained in:
parent
dccb6f178b
commit
8a602e8ee8
@ -40,6 +40,8 @@ CREATE TABLE [dbo].[aisstation] (
|
|||||||
[comPort] NVARCHAR (10) NULL,
|
[comPort] NVARCHAR (10) NULL,
|
||||||
[name] NVARCHAR (255) NULL,
|
[name] NVARCHAR (255) NULL,
|
||||||
[baudrate] INT NULL,
|
[baudrate] INT NULL,
|
||||||
|
[address] NVARCHAR (255) NULL,
|
||||||
|
[active] BIT NULL,
|
||||||
PRIMARY KEY CLUSTERED ([Id] ASC)
|
PRIMARY KEY CLUSTERED ([Id] ASC)
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -101,10 +103,10 @@ CREATE TABLE [dbo].[hotposition] (
|
|||||||
|
|
||||||
GO
|
GO
|
||||||
|
|
||||||
PRINT N'Creating unnamed constraint on [dbo].[aisstaticdata]...';
|
PRINT N'Creating unnamed constraint on [dbo].[hotposition]...';
|
||||||
|
|
||||||
GO
|
GO
|
||||||
ALTER TABLE [dbo].[aisstaticdata]
|
ALTER TABLE [dbo].[hotposition]
|
||||||
ADD DEFAULT newid() FOR [Id];
|
ADD DEFAULT newid() FOR [Id];
|
||||||
|
|
||||||
GO
|
GO
|
||||||
@ -53,6 +53,16 @@ namespace bsmd.AISService
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal void DebugStart()
|
||||||
|
{
|
||||||
|
this.Init(null);
|
||||||
|
string msg = "";
|
||||||
|
if(this.qManager.Start(ref msg))
|
||||||
|
{
|
||||||
|
Console.Read(); // hold it right here
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected override void OnStop()
|
protected override void OnStop()
|
||||||
{
|
{
|
||||||
this.qManager.Stop();
|
this.qManager.Stop();
|
||||||
|
|||||||
@ -13,7 +13,7 @@ namespace bsmd.AISService.DB
|
|||||||
{
|
{
|
||||||
#region private members
|
#region private members
|
||||||
|
|
||||||
private int station_Id;
|
private Guid station_Id;
|
||||||
private string name;
|
private string name;
|
||||||
private bool active;
|
private bool active;
|
||||||
private string comport;
|
private string comport;
|
||||||
@ -177,7 +177,7 @@ namespace bsmd.AISService.DB
|
|||||||
while (reader.Read())
|
while (reader.Read())
|
||||||
{
|
{
|
||||||
AISStation station = new AISStation();
|
AISStation station = new AISStation();
|
||||||
station.station_Id = reader.GetInt32(0);
|
station.station_Id = reader.GetGuid(0);
|
||||||
station.name = reader.GetString(1);
|
station.name = reader.GetString(1);
|
||||||
station.active = reader.GetBoolean(2);
|
station.active = reader.GetBoolean(2);
|
||||||
station.latitude = (double) reader.GetInt32(3) / 600000;
|
station.latitude = (double) reader.GetInt32(3) / 600000;
|
||||||
@ -201,12 +201,12 @@ namespace bsmd.AISService.DB
|
|||||||
public static AISStation CreateStation(string name, DBConnector con)
|
public static AISStation CreateStation(string name, DBConnector con)
|
||||||
{
|
{
|
||||||
AISStation newStation = new AISStation();
|
AISStation newStation = new AISStation();
|
||||||
|
newStation.station_Id = Guid.NewGuid();
|
||||||
newStation.name = name;
|
newStation.name = name;
|
||||||
newStation.active = true;
|
newStation.active = true;
|
||||||
string query = string.Format("INSERT INTO aisstation SET name='{0}',active=1",
|
string query = string.Format("INSERT INTO aisstation SET Id='{0}', name='{1}',active=1",
|
||||||
name);
|
newStation.station_Id, newStation.name);
|
||||||
con.ExecuteNonQuery(query);
|
con.ExecuteNonQuery(query);
|
||||||
newStation.station_Id = Convert.ToInt32(con.ExecuteScalar("SELECT LAST_INSERT_ID()"));
|
|
||||||
|
|
||||||
return newStation;
|
return newStation;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using System.Configuration.Install;
|
using System.Configuration.Install;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.ServiceProcess;
|
using System.ServiceProcess;
|
||||||
@ -41,7 +42,11 @@ namespace bsmd.AISService
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else if(Debugger.IsAttached)
|
||||||
|
{
|
||||||
|
AISService aisService = new AISService();
|
||||||
|
aisService.DebugStart();
|
||||||
|
} else
|
||||||
{
|
{
|
||||||
DisplayUsage();
|
DisplayUsage();
|
||||||
}
|
}
|
||||||
|
|||||||
23
AIS/bsmd.AISService/ais_config.xml
Normal file
23
AIS/bsmd.AISService/ais_config.xml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<AIS_Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||||
|
<SerialPorts>
|
||||||
|
<!--SerialPort>
|
||||||
|
<station>Hamburg 1</station>
|
||||||
|
<ComPort>COM5</ComPort>
|
||||||
|
<BaudRate>9600</BaudRate>
|
||||||
|
</SerialPort-->
|
||||||
|
</SerialPorts>
|
||||||
|
<TelnetConnections>
|
||||||
|
<TelnetConnection>
|
||||||
|
<ipAddress>127.0.0.1</ipAddress>
|
||||||
|
<port>32100</port>
|
||||||
|
</TelnetConnection>
|
||||||
|
</TelnetConnections>
|
||||||
|
<Configuration_Path>ais_config.xml</Configuration_Path>
|
||||||
|
<DBConnectionString>Server=192.168.2.12;Database=ais;Uid=aisuser;Pwd=aispasswd</DBConnectionString>
|
||||||
|
<UseDB>true</UseDB>
|
||||||
|
<DBUpdateInterval>500</DBUpdateInterval>
|
||||||
|
<DBMinPosReportTimeDifference>120</DBMinPosReportTimeDifference>
|
||||||
|
<StationIsOfflineTimeDifferenceSecs>120</StationIsOfflineTimeDifferenceSecs>
|
||||||
|
<TargetStaleMins>20</TargetStaleMins>
|
||||||
|
</AIS_Configuration>
|
||||||
@ -116,6 +116,11 @@
|
|||||||
<DependentUpon>ProjectInstaller.cs</DependentUpon>
|
<DependentUpon>ProjectInstaller.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="ais_config.xml">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
Other similar extension points exist, see Microsoft.Common.targets.
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
|||||||
@ -210,17 +210,42 @@ namespace ENI2
|
|||||||
CopyDeclarationDialog closedDialog = senderDialog as CopyDeclarationDialog;
|
CopyDeclarationDialog closedDialog = senderDialog as CopyDeclarationDialog;
|
||||||
if (closedDialog.IsOK)
|
if (closedDialog.IsOK)
|
||||||
{
|
{
|
||||||
if (!closedDialog.NewCore.IsDK && closedDialog.NewCore.VisitId.IsNullOrEmpty() && closedDialog.NewCore.TransitId.IsNullOrEmpty())
|
|
||||||
|
MessageCore existingCore = null;
|
||||||
|
|
||||||
|
if (newCore.IsDK && newCore.VisitId.IsNullOrEmpty() && newCore.TransitId.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
// deutsche Häfen fordern eine Visit-Id an, für DK erfolgt hier nur die Anlage eines Datensatzes
|
// deutsche Häfen fordern eine Visit-Id an, für DK erfolgt hier nur die Anlage eines Datensatzes
|
||||||
closedDialog.NewCore.BSMDStatusInternal = MessageCore.BSMDStatus.TOSEND;
|
newCore.BSMDStatusInternal = MessageCore.BSMDStatus.TOSEND;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (closedDialog.NewCore.PoC.Equals("ZZNOK"))
|
if (newCore.PoC.Equals("ZZNOK")) newCore.IsTransit = true;
|
||||||
closedDialog.NewCore.IsTransit = true;
|
|
||||||
|
newCore.Incoming = true;
|
||||||
|
newCore.DefaultReportingPartyId = this.LockedBy.Id;
|
||||||
|
|
||||||
|
if(!newCore.VisitId.IsNullOrEmpty() || !newCore.TransitId.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
if (newCore.IsTransit)
|
||||||
|
existingCore = DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).GetMessageCoreByTransitId(newCore.TransitId);
|
||||||
|
else
|
||||||
|
existingCore = DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).GetMessageCoreByVisitId(newCore.VisitId);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(existingCore != null)
|
||||||
|
{
|
||||||
|
if(MessageBox.Show(Properties.Resources.textDeclarationAlreadyExists, Properties.Resources.textCaptionExists,
|
||||||
|
MessageBoxButton.OKCancel, MessageBoxImage.Question) == MessageBoxResult.OK)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
closedDialog.NewCore.Incoming = true;
|
|
||||||
closedDialog.NewCore.DefaultReportingPartyId = this.LockedBy.Id;
|
|
||||||
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(newCore);
|
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(newCore);
|
||||||
|
|
||||||
// Meldeklassen für neuen Anlauf erzeugen
|
// Meldeklassen für neuen Anlauf erzeugen
|
||||||
|
|||||||
@ -666,6 +666,14 @@ namespace ENI2.DetailViewControls
|
|||||||
for (int i = 0; i < this.Messages.Count; i++)
|
for (int i = 0; i < this.Messages.Count; i++)
|
||||||
{
|
{
|
||||||
Message selectedMessage = this.Messages[i];
|
Message selectedMessage = this.Messages[i];
|
||||||
|
|
||||||
|
// 28.3. Diese Nachrichten sollten dabei nicht geprüft werden.. immer diese Spezialfälle
|
||||||
|
if ((selectedMessage.MessageNotificationClass == Message.NotificationClass.VISIT) ||
|
||||||
|
(selectedMessage.MessageNotificationClass == Message.NotificationClass.TRANSIT) ||
|
||||||
|
(selectedMessage.MessageNotificationClass == Message.NotificationClass.CREWD) ||
|
||||||
|
(selectedMessage.MessageNotificationClass == Message.NotificationClass.PASD) ||
|
||||||
|
(selectedMessage.MessageNotificationClass == Message.NotificationClass.STO)) continue;
|
||||||
|
|
||||||
if ((selectedMessage.InternalStatus == Message.BSMDStatus.SENT) || (selectedMessage.InternalStatus == Message.BSMDStatus.TOSEND))
|
if ((selectedMessage.InternalStatus == Message.BSMDStatus.SENT) || (selectedMessage.InternalStatus == Message.BSMDStatus.TOSEND))
|
||||||
{
|
{
|
||||||
cannotCreateReport = true;
|
cannotCreateReport = true;
|
||||||
|
|||||||
@ -35,8 +35,8 @@
|
|||||||
<MinimumRequiredVersion>3.5.1.0</MinimumRequiredVersion>
|
<MinimumRequiredVersion>3.5.1.0</MinimumRequiredVersion>
|
||||||
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
||||||
<WebPage>publish.html</WebPage>
|
<WebPage>publish.html</WebPage>
|
||||||
<ApplicationRevision>0</ApplicationRevision>
|
<ApplicationRevision>1</ApplicationRevision>
|
||||||
<ApplicationVersion>5.0.5.%2a</ApplicationVersion>
|
<ApplicationVersion>5.0.6.%2a</ApplicationVersion>
|
||||||
<UseApplicationTrust>false</UseApplicationTrust>
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
||||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||||
|
|||||||
@ -118,6 +118,20 @@ namespace ENI2.EditControls
|
|||||||
|
|
||||||
private void textBoxVisitTransitId_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
|
private void textBoxVisitTransitId_TextChanged(object sender, System.Windows.Controls.TextChangedEventArgs e)
|
||||||
{
|
{
|
||||||
|
string newVisitId = this.textBoxVisitTransitId.Text;
|
||||||
|
// bei Angabe einer gültigen Visit/Transit Id soll
|
||||||
|
// a) IMO nicht mehr änderbar sein und
|
||||||
|
// b) der Hafen aus der Visit/Transit Id abgeleitet werden
|
||||||
|
if (bsmd.database.Util.IsVisitId(newVisitId) || bsmd.database.Util.IsTransitId(newVisitId))
|
||||||
|
{
|
||||||
|
this.doubleUpDownIMO.IsEnabled = false;
|
||||||
|
this.locodePoC.LocodeValue = newVisitId.Substring(0, 5);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.doubleUpDownIMO.IsEnabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
this.CheckComplete();
|
this.CheckComplete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
18
ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
generated
18
ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
generated
@ -1052,6 +1052,15 @@ namespace ENI2.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Item already exists.
|
||||||
|
/// </summary>
|
||||||
|
public static string textCaptionExists {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("textCaptionExists", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Information.
|
/// Looks up a localized string similar to Information.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -1664,6 +1673,15 @@ namespace ENI2.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to There is already a declaration with this ID. A new declaration will not be created. Do you want to clear all data? .
|
||||||
|
/// </summary>
|
||||||
|
public static string textDeclarationAlreadyExists {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("textDeclarationAlreadyExists", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Declarations.
|
/// Looks up a localized string similar to Declarations.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -1639,4 +1639,10 @@
|
|||||||
<data name="textCopyFromL10P" xml:space="preserve">
|
<data name="textCopyFromL10P" xml:space="preserve">
|
||||||
<value>Copy from last 10 port facilities called</value>
|
<value>Copy from last 10 port facilities called</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="textCaptionExists" xml:space="preserve">
|
||||||
|
<value>Item already exists</value>
|
||||||
|
</data>
|
||||||
|
<data name="textDeclarationAlreadyExists" xml:space="preserve">
|
||||||
|
<value>There is already a declaration with this ID. A new declaration will not be created. Do you want to clear all data? </value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
Binary file not shown.
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
[assembly: AssemblyCompany("schick Informatik")]
|
[assembly: AssemblyCompany("schick Informatik")]
|
||||||
[assembly: AssemblyProduct("BSMD NSW interface")]
|
[assembly: AssemblyProduct("BSMD NSW interface")]
|
||||||
[assembly: AssemblyInformationalVersion("5.0.5")]
|
[assembly: AssemblyInformationalVersion("5.0.7")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2014-2018 schick Informatik")]
|
[assembly: AssemblyCopyright("Copyright © 2014-2018 schick Informatik")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
@ -1,4 +1,4 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("5.0.5.*")]
|
[assembly: AssemblyVersion("5.0.7.*")]
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@ namespace bsmd.dbh.ResponseService
|
|||||||
bsmd.dbh.response.RootReportingClassesPartial ReportingClassesPartial,
|
bsmd.dbh.response.RootReportingClassesPartial ReportingClassesPartial,
|
||||||
bsmd.dbh.response.RootReportingClassesError RootReportingClassesError,
|
bsmd.dbh.response.RootReportingClassesError RootReportingClassesError,
|
||||||
bsmd.dbh.response.RootReportingClassesResetted ReportingClassesResetted,
|
bsmd.dbh.response.RootReportingClassesResetted ReportingClassesResetted,
|
||||||
bsmd.dbh.response.RootMessage[] Messages);
|
bsmd.dbh.response.Message[] Messages);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -18,7 +18,7 @@ namespace bsmd.dbh.ResponseService
|
|||||||
bsmd.dbh.response.RootReportingClassesPartial ReportingClassesPartial,
|
bsmd.dbh.response.RootReportingClassesPartial ReportingClassesPartial,
|
||||||
bsmd.dbh.response.RootReportingClassesError RootReportingClassesError,
|
bsmd.dbh.response.RootReportingClassesError RootReportingClassesError,
|
||||||
bsmd.dbh.response.RootReportingClassesResetted ReportingClassesResetted,
|
bsmd.dbh.response.RootReportingClassesResetted ReportingClassesResetted,
|
||||||
bsmd.dbh.response.RootMessage[] Messages)
|
bsmd.dbh.response.Message[] Messages)
|
||||||
{
|
{
|
||||||
|
|
||||||
// Der Fehler hier aktuell ist dass alles funktioniert, außer dass "Messages" nicht
|
// Der Fehler hier aktuell ist dass alles funktioniert, außer dass "Messages" nicht
|
||||||
|
|||||||
@ -51,7 +51,7 @@ namespace bsmd.dbh.response
|
|||||||
|
|
||||||
private RootReportingClassesResetted reportingClassesResettedField;
|
private RootReportingClassesResetted reportingClassesResettedField;
|
||||||
|
|
||||||
private RootMessage[] messagesField;
|
private Message[] messagesField;
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
public string Version
|
public string Version
|
||||||
@ -212,7 +212,7 @@ namespace bsmd.dbh.response
|
|||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Xml.Serialization.XmlArrayItemAttribute("Message", IsNullable = false)]
|
[System.Xml.Serialization.XmlArrayItemAttribute("Message", IsNullable = false)]
|
||||||
public RootMessage[] Messages
|
public Message[] Messages
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
@ -443,7 +443,7 @@ namespace bsmd.dbh.response
|
|||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
|
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
|
||||||
public partial class RootMessage
|
public partial class Message
|
||||||
{
|
{
|
||||||
|
|
||||||
private string idField;
|
private string idField;
|
||||||
|
|||||||
@ -1169,15 +1169,27 @@ namespace bsmd.dbh
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rootHAZA.Items = new object[3];
|
rootHAZA.Items = new object[4];
|
||||||
rootHAZA.ItemsElementName = new ItemsChoiceType5[3];
|
rootHAZA.ItemsElementName = new ItemsChoiceType5[4];
|
||||||
// if(haz.DPGManifestOnBoardOnArrival.HasValue)
|
// if(haz.DPGManifestOnBoardOnArrival.HasValue)
|
||||||
|
|
||||||
rootHAZA.ItemsElementName[0] = ItemsChoiceType5.DPGManifestOnBoardOnArrival;
|
rootHAZA.ItemsElementName[0] = ItemsChoiceType5.DPGManifestOnBoardOnArrival;
|
||||||
rootHAZA.Items[0] = (haz.DPGManifestOnBoardOnArrival ?? false) ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
rootHAZA.Items[0] = (haz.DPGManifestOnBoardOnArrival ?? false) ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
||||||
|
|
||||||
|
rootHAZA.ItemsElementName[1] = ItemsChoiceType5.INFShipClass;
|
||||||
|
|
||||||
|
if (haz.INFShipClass.HasValue)
|
||||||
|
{
|
||||||
|
INFClassType infShipClass = (INFClassType)haz.INFShipClass.Value;
|
||||||
|
rootHAZA.Items[1] = infShipClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
rootHAZA.ItemsElementName[2] = ItemsChoiceType5.MOUBaltic;
|
||||||
|
rootHAZA.Items[2] = (haz.MOUBaltic ?? false) ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
||||||
|
|
||||||
#region HAZ positions
|
#region HAZ positions
|
||||||
|
|
||||||
rootHAZA.ItemsElementName[1] = ItemsChoiceType5.DPGOnArrival;
|
rootHAZA.ItemsElementName[3] = ItemsChoiceType5.DPGOnArrival;
|
||||||
|
|
||||||
DBHWebReference.RootHAZADPGOnArrival dpgOnArrival = new DBHWebReference.RootHAZADPGOnArrival();
|
DBHWebReference.RootHAZADPGOnArrival dpgOnArrival = new DBHWebReference.RootHAZADPGOnArrival();
|
||||||
|
|
||||||
@ -1387,17 +1399,10 @@ namespace bsmd.dbh
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
rootHAZA.Items[1] = dpgOnArrival;
|
rootHAZA.Items[3] = dpgOnArrival;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
rootHAZA.ItemsElementName[2] = ItemsChoiceType5.INFShipClass;
|
|
||||||
|
|
||||||
if (haz.INFShipClass.HasValue)
|
|
||||||
{
|
|
||||||
INFClassType infShipClass = (INFClassType) haz.INFShipClass.Value;
|
|
||||||
rootHAZA.Items[2] = infShipClass;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
item = rootHAZA;
|
item = rootHAZA;
|
||||||
@ -1423,13 +1428,24 @@ namespace bsmd.dbh
|
|||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
rootHAZD.Items = new object[3];
|
rootHAZD.Items = new object[4];
|
||||||
rootHAZD.ItemsElementName = new ItemsChoiceType6[3];
|
rootHAZD.ItemsElementName = new ItemsChoiceType6[4];
|
||||||
|
|
||||||
rootHAZD.ItemsElementName[0] = ItemsChoiceType6.DPGManifestOnBoardOnDeparture;
|
rootHAZD.ItemsElementName[0] = ItemsChoiceType6.DPGManifestOnBoardOnDeparture;
|
||||||
if (haz.DPGManifestOnBoardOnArrival.HasValue)
|
if (haz.DPGManifestOnBoardOnArrival.HasValue)
|
||||||
rootHAZD.Items[0] = haz.DPGManifestOnBoardOnArrival.Value ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
rootHAZD.Items[0] = haz.DPGManifestOnBoardOnArrival.Value ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
||||||
|
|
||||||
|
rootHAZD.ItemsElementName[1] = ItemsChoiceType6.INFShipClass;
|
||||||
|
|
||||||
|
if (haz.INFShipClass.HasValue)
|
||||||
|
{
|
||||||
|
INFClassType infShipClass = (INFClassType)haz.INFShipClass.Value;
|
||||||
|
rootHAZD.Items[1] = infShipClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
rootHAZD.ItemsElementName[2] = ItemsChoiceType6.MOUBaltic;
|
||||||
|
rootHAZD.Items[2] = (haz.MOUBaltic ?? false) ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
|
||||||
|
|
||||||
#region HAZ positions
|
#region HAZ positions
|
||||||
|
|
||||||
RootHAZDDPGOnDeparture dpgOnDeparture = new RootHAZDDPGOnDeparture();
|
RootHAZDDPGOnDeparture dpgOnDeparture = new RootHAZDDPGOnDeparture();
|
||||||
@ -1640,19 +1656,11 @@ namespace bsmd.dbh
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
rootHAZD.ItemsElementName[1] = ItemsChoiceType6.DPGOnDeparture;
|
rootHAZD.ItemsElementName[3] = ItemsChoiceType6.DPGOnDeparture;
|
||||||
rootHAZD.Items[1] = dpgOnDeparture;
|
rootHAZD.Items[3] = dpgOnDeparture;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
rootHAZD.ItemsElementName[2] = ItemsChoiceType6.INFShipClass;
|
|
||||||
|
|
||||||
if (haz.INFShipClass.HasValue)
|
|
||||||
{
|
|
||||||
INFClassType infShipClass = (INFClassType)haz.INFShipClass.Value;
|
|
||||||
rootHAZD.Items[2] = infShipClass;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@ namespace bsmd.dbh
|
|||||||
private static ILog _log = LogManager.GetLogger("dbh Response");
|
private static ILog _log = LogManager.GetLogger("dbh Response");
|
||||||
|
|
||||||
public static void ProcessResponse(string VisitId, string TransitId, DateTime Timestamp,
|
public static void ProcessResponse(string VisitId, string TransitId, DateTime Timestamp,
|
||||||
string SenderReference, response.RootType Type, bsmd.dbh.response.RootMessage[] Messages,
|
string SenderReference, response.RootType Type, bsmd.dbh.response.Message[] Messages,
|
||||||
bsmd.dbh.response.RootReportingClassesFull ReportingClassesFull,
|
bsmd.dbh.response.RootReportingClassesFull ReportingClassesFull,
|
||||||
bsmd.dbh.response.RootReportingClassesPartial ReportingClassesPartial,
|
bsmd.dbh.response.RootReportingClassesPartial ReportingClassesPartial,
|
||||||
bsmd.dbh.response.RootReportingClassesError ReportingClassesError,
|
bsmd.dbh.response.RootReportingClassesError ReportingClassesError,
|
||||||
@ -179,12 +179,17 @@ namespace bsmd.dbh
|
|||||||
_log.InfoFormat("message {0} type {1}: {2}", i,
|
_log.InfoFormat("message {0} type {1}: {2}", i,
|
||||||
Messages[i].Type,
|
Messages[i].Type,
|
||||||
Messages[i].Text ?? "null");
|
Messages[i].Text ?? "null");
|
||||||
|
|
||||||
|
int code = 0;
|
||||||
|
bool hasCode = Int32.TryParse(Messages[i].ID, out code);
|
||||||
|
|
||||||
switch (Messages[i].Type)
|
switch (Messages[i].Type)
|
||||||
{
|
{
|
||||||
|
|
||||||
case dbh.response.RootMessageType.ERROR:
|
case dbh.response.RootMessageType.ERROR:
|
||||||
MessageError error = new MessageError();
|
MessageError error = new MessageError();
|
||||||
error.ErrorText = Messages[i].Text;
|
error.ErrorText = Messages[i].Text;
|
||||||
|
if (hasCode) error.ErrorCode = code;
|
||||||
_log.WarnFormat("Error received for {0}: {1}", Messages[i].Type, error.ErrorText);
|
_log.WarnFormat("Error received for {0}: {1}", Messages[i].Type, error.ErrorText);
|
||||||
error.MessageHeaderId = aMessage.Id.Value;
|
error.MessageHeaderId = aMessage.Id.Value;
|
||||||
aMessage.InternalStatus = Message.BSMDStatus.ERROR;
|
aMessage.InternalStatus = Message.BSMDStatus.ERROR;
|
||||||
@ -196,6 +201,7 @@ namespace bsmd.dbh
|
|||||||
case dbh.response.RootMessageType.VIOLATION:
|
case dbh.response.RootMessageType.VIOLATION:
|
||||||
MessageViolation violation = new MessageViolation();
|
MessageViolation violation = new MessageViolation();
|
||||||
violation.ViolationText = Messages[i].Text;
|
violation.ViolationText = Messages[i].Text;
|
||||||
|
if (hasCode) violation.ViolationCode = code;
|
||||||
_log.WarnFormat("Violation received for {0}: {1}", Messages[i].Type, violation.ViolationText);
|
_log.WarnFormat("Violation received for {0}: {1}", Messages[i].Type, violation.ViolationText);
|
||||||
violation.MessageHeaderId = aMessage.Id.Value;
|
violation.MessageHeaderId = aMessage.Id.Value;
|
||||||
aMessage.InternalStatus = Message.BSMDStatus.VIOLATION;
|
aMessage.InternalStatus = Message.BSMDStatus.VIOLATION;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user