Zwischenstand DBH Rückkanal und Kleinigkeiten korrigiert
This commit is contained in:
parent
a4070c5ecf
commit
8bddcb3af1
@ -319,13 +319,13 @@ namespace ENI2.DetailViewControls
|
||||
if (theHAZ == this.haz)
|
||||
{
|
||||
if (!(this.checkBoxDangerousGoodsOnBoard.IsChecked ?? false)) this.checkBoxDangerousGoodsOnBoard.IsChecked = true;
|
||||
if (!(this.checkBoxDGManifestOnBoard.IsChecked ?? false)) this.checkBoxDGManifestOnBoard.IsChecked = true;
|
||||
// if (!(this.checkBoxDGManifestOnBoard.IsChecked ?? false)) this.checkBoxDGManifestOnBoard.IsChecked = true;
|
||||
if (this.checkBoxMoUBaltic.IsChecked ?? true) this.checkBoxMoUBaltic.IsChecked = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
theHAZ.NoDPGOnBoardOnArrival = false;
|
||||
theHAZ.DPGManifestOnBoardOnArrival = true;
|
||||
// theHAZ.DPGManifestOnBoardOnArrival = true;
|
||||
theHAZ.MOUBaltic = false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -38,13 +38,13 @@
|
||||
<Label Content="{x:Static p:Resources.textTankerCondition}" Grid.Column="0" Grid.Row="2" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
|
||||
<ComboBox Grid.Row="2" Grid.Column="1" Name="comboBoxConditionCargoBallastTanks" Margin="2" SelectedIndex="{Binding ConditionCargoBallastTanks, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Converter={util:ByteConverter}}" IsEnabled="{Binding ElementName=checkBoxTanker, Path=IsChecked}" ContextMenu="{DynamicResource ClearContextMenu}"/>
|
||||
<Label Content="{x:Static p:Resources.textTankerNatureOfCargo}" Grid.Column="0" Grid.Row="3" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
|
||||
<TextBox Text="{Binding NatureOfCargo, Mode=TwoWay}" Name="textBoxNatureOfCargo" Grid.Column="1" Grid.Row="3" Margin="2,2,2,2" IsEnabled="{Binding ElementName=checkBoxTanker, Path=IsChecked}" VerticalContentAlignment="Center"/>
|
||||
<TextBox Text="{Binding NatureOfCargo, Mode=TwoWay}" Name="textBoxNatureOfCargo" Grid.Column="1" Grid.Row="3" Margin="2,2,2,2" IsEnabled="{Binding ElementName=checkBoxTanker, Path=IsChecked}" VerticalContentAlignment="Center" MaxLength="99" />
|
||||
<Label Content="{x:Static p:Resources.textTankerVolumeOfCargo}" Grid.Column="0" Grid.Row="4" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
|
||||
<xctk:DoubleUpDown Grid.Row="4" Grid.Column="1" Name="doubleUpDownVolumeOfCargo" ShowButtonSpinner="False" ParsingNumberStyle="Any" Margin="2,2,2,2" FormatString="N3" Value="{Binding VolumeOfCargo, Mode=TwoWay}" IsEnabled="{Binding ElementName=checkBoxTanker, Path=IsChecked}" TextAlignment="Left"/>
|
||||
<Label Content="{x:Static p:Resources.textPlannedOperations}" Grid.Column="0" Grid.Row="5" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
|
||||
<TextBox Text="{Binding PlannedOperations, Mode=TwoWay}" Name="textBoxPlannedOperations" Grid.Column="1" Grid.Row="5" Margin="2,2,2,2" VerticalContentAlignment="Center"/>
|
||||
<TextBox Text="{Binding PlannedOperations, Mode=TwoWay}" Name="textBoxPlannedOperations" Grid.Column="1" Grid.Row="5" Margin="2,2,2,2" VerticalContentAlignment="Center" MaxLength="99"/>
|
||||
<Label Content="{x:Static p:Resources.textPlannedInspection}" Grid.Column="0" Grid.Row="6" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
|
||||
<TextBox Text="{Binding PlannedWorks, Mode=TwoWay}" Name="textBoxPlannedWorks" Grid.Column="1" Grid.Row="6" Margin="2,2,2,2" />
|
||||
<TextBox Text="{Binding PlannedWorks, Mode=TwoWay}" Name="textBoxPlannedWorks" Grid.Column="1" Grid.Row="6" Margin="2,2,2,2" MaxLength="255" />
|
||||
<Label Content="{x:Static p:Resources.textLastExpandedInspection }" Grid.Column="0" Grid.Row="7" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
|
||||
<DatePicker Grid.Column="1" Grid.Row="7" Name="datePickerLastExpandedInspection" VerticalAlignment="Center" SelectedDate="{Binding DateOfLastExpandedInspection, Mode=TwoWay}" Margin="2,2,2,2" />
|
||||
<Label Content="{x:Static p:Resources.textPlannedPeriodOfStay}" Grid.Column="0" Grid.Row="8" HorizontalContentAlignment="Right" Margin="0,0,10,0"/>
|
||||
|
||||
Binary file not shown.
@ -427,7 +427,7 @@ namespace bsmd.database
|
||||
public override void Validate(List<MessageError> errors, List<MessageViolation> violations)
|
||||
{
|
||||
|
||||
if (this.NoDPGOnBoardOnArrival ?? false) // && this.MessageHeader.InternalStatus == Message.BSMDStatus.TOSEND)
|
||||
if ((this.NoDPGOnBoardOnArrival ?? false) && this.MessageHeader.InternalStatus == Message.BSMDStatus.TOSEND)
|
||||
{
|
||||
violations.Add(RuleEngine.CreateViolation(ValidationCode.IMPLAUSIBLE, "No DPG on board set!", null, this.Title, null, this.Tablename));
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ namespace bsmd.database
|
||||
|
||||
[ShowReport]
|
||||
[LookupName("PRE72H.NaturOfCargo")]
|
||||
[MaxLength(100)]
|
||||
[MaxLength(99)]
|
||||
[ENI2Validation]
|
||||
public string NatureOfCargo { get; set; }
|
||||
|
||||
@ -52,7 +52,7 @@ namespace bsmd.database
|
||||
[ShowReport]
|
||||
[Validation(ValidationCode.NOT_NULL)]
|
||||
[LookupName("PRE72H.PlannedOperations")]
|
||||
[MaxLength(100)]
|
||||
[MaxLength(99)]
|
||||
[ENI2Validation]
|
||||
public string PlannedOperations { get; set; }
|
||||
|
||||
|
||||
@ -15,12 +15,12 @@ namespace bsmd.dbh.ResponseService
|
||||
/// </summary>
|
||||
[OperationContract(Action = "http://tempuri.org/IResponseService/NSWResponse")]
|
||||
[XmlSerializerFormatAttribute()]
|
||||
void root(string Version, string MessageId, string VisitId, string TransitId, DateTime Timestamp,
|
||||
void Root(string Version, string MessageId, string VisitId, string TransitId, DateTime Timestamp,
|
||||
string SenderReference, bsmd.dbh.response.RootType Type,
|
||||
List<bsmd.dbh.response.RootReportingClassesFull> ReportingClassesFull,
|
||||
List<bsmd.dbh.response.RootReportingClassesPartial> ReportingClassesPartial,
|
||||
List<bsmd.dbh.response.RootReportingClassesError> RootReportingClassesError,
|
||||
List<bsmd.dbh.response.RootReportingClassesResetted> ReportingClassesResetted,
|
||||
bsmd.dbh.response.RootReportingClassesFull ReportingClassesFull,
|
||||
bsmd.dbh.response.RootReportingClassesPartial ReportingClassesPartial,
|
||||
bsmd.dbh.response.RootReportingClassesError RootReportingClassesError,
|
||||
bsmd.dbh.response.RootReportingClassesResetted ReportingClassesResetted,
|
||||
List<bsmd.dbh.response.RootMessage> Messages);
|
||||
|
||||
}
|
||||
|
||||
@ -1,10 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.ServiceModel;
|
||||
using System.ServiceModel.Web;
|
||||
using System.Text;
|
||||
|
||||
using log4net;
|
||||
using bsmd.database;
|
||||
@ -17,19 +12,42 @@ namespace bsmd.dbh.ResponseService
|
||||
{
|
||||
private ILog _log = LogManager.GetLogger("dbh ResponseService");
|
||||
|
||||
public void root(string Version, string MessageId, string VisitId, string TransitId, DateTime Timestamp,
|
||||
public void Root(string Version, string MessageId, string VisitId, string TransitId, DateTime Timestamp,
|
||||
string SenderReference, bsmd.dbh.response.RootType Type,
|
||||
List<bsmd.dbh.response.RootReportingClassesFull> ReportingClassesFull,
|
||||
List<bsmd.dbh.response.RootReportingClassesPartial> ReportingClassesPartial,
|
||||
List<bsmd.dbh.response.RootReportingClassesError> RootReportingClassesError,
|
||||
List<bsmd.dbh.response.RootReportingClassesResetted> ReportingClassesResetted,
|
||||
bsmd.dbh.response.RootReportingClassesFull ReportingClassesFull,
|
||||
bsmd.dbh.response.RootReportingClassesPartial ReportingClassesPartial,
|
||||
bsmd.dbh.response.RootReportingClassesError RootReportingClassesError,
|
||||
bsmd.dbh.response.RootReportingClassesResetted ReportingClassesResetted,
|
||||
List<bsmd.dbh.response.RootMessage> Messages)
|
||||
{
|
||||
|
||||
|
||||
// Der Fehler hier aktuell ist dass alles funktioniert, außer dass "Messages" nicht
|
||||
// richtig deserialisiert wird und immer in eine leere Collection mündet. Die anderen
|
||||
// Parameter sind richtig gesetzt. Per trial and error sowohl List<RootMessage> als auch
|
||||
// RootMessage[] Messages ausprobiert. Element ist immer da, aber leer! (müsste aber ein Element haben!)
|
||||
|
||||
|
||||
_log.Info("dbh response received");
|
||||
if (ReportingClassesFull == null) _log.InfoFormat("ReportingClassesFull null");
|
||||
if (ReportingClassesPartial == null) _log.InfoFormat("ReportingClassesPartial null");
|
||||
if (RootReportingClassesError == null) _log.InfoFormat("ReportingClassesError null");
|
||||
if (ReportingClassesResetted == null) _log.InfoFormat("ReportingClassesResetted null");
|
||||
if (Messages == null) { _log.InfoFormat("Messages null"); }
|
||||
else
|
||||
{
|
||||
_log.InfoFormat(Messages.GetType().ToString());
|
||||
_log.InfoFormat("{0} RootMessage elements received", (Messages.Count));
|
||||
}
|
||||
|
||||
|
||||
if (Version != null)
|
||||
_log.InfoFormat("Version: {0}", Version);
|
||||
else
|
||||
_log.Warn("Version is null");
|
||||
if (MessageId != null)
|
||||
_log.InfoFormat("MessageId: {0}", MessageId);
|
||||
else
|
||||
_log.Warn("MessageId is null");
|
||||
if (!VisitId.IsNullOrEmpty())
|
||||
_log.InfoFormat("Visit-Id: {0}", VisitId);
|
||||
if (!TransitId.IsNullOrEmpty())
|
||||
@ -38,8 +56,9 @@ namespace bsmd.dbh.ResponseService
|
||||
_log.InfoFormat("Timestamp: {0}", Timestamp);
|
||||
if (SenderReference != null)
|
||||
_log.InfoFormat("Sender-Reference: {0}", SenderReference);
|
||||
|
||||
|
||||
_log.InfoFormat("Type: {0}", Type);
|
||||
/*
|
||||
if (Messages != null)
|
||||
{
|
||||
foreach (bsmd.dbh.response.RootMessage rootMessage in Messages)
|
||||
@ -47,13 +66,12 @@ namespace bsmd.dbh.ResponseService
|
||||
_log.InfoFormat("Message type {0}: {1}", rootMessage.Type, rootMessage.Text);
|
||||
}
|
||||
}
|
||||
|
||||
*/
|
||||
if (SenderReference.IsNullOrEmpty())
|
||||
{
|
||||
_log.ErrorFormat("No sender reference, cannot process message");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
_log.DebugFormat("processing {0}..", MessageId ?? "?");
|
||||
Response.ProcessResponse(VisitId, TransitId, Timestamp, SenderReference, Type, Messages,
|
||||
|
||||
@ -124,6 +124,9 @@
|
||||
<Name>bsmd.dbh</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WCFMetadata Include="Service References\" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
|
||||
1608
nsw/Source/bsmd.dbh/NSWResponse.designer.cs
generated
1608
nsw/Source/bsmd.dbh/NSWResponse.designer.cs
generated
File diff suppressed because it is too large
Load Diff
@ -1,244 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!--Created with Liquid XML Studio - FREE Community Edition 7.0.3.780 (http://www.liquid-technologies.com)-->
|
||||
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="Root">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" name="Version">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Version number of schema</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
<xs:maxLength value="5" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="MessageId" type="xs:string">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Unique message identifier.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="VisitId">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Required when TransitId is missing and field "Type" is not "VISIT or "TRANSIT"</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="(DE)([A-Z]{3})-([0-9]{4})-([A-Z]{6})" />
|
||||
<xs:length value="17" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="TransitId">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Required when VisitId is missing and field "Type" is not "VISIT or "TRANSIT"</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="(ZZNOK)-([0-9]{4})-([A-Z]{6})" />
|
||||
<xs:length value="17" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="SisNumbers">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A list of SIS numbers. An empty list means that all sent numbers will be deleted. Sending a new list overwrites existing ones completely.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element minOccurs="0" maxOccurs="unbounded" name="SisNumber">
|
||||
<xs:annotation>
|
||||
<xs:documentation>One SIS number</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z0-9]{4}" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Timestamp" type="xs:dateTime">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Timestamp, when the message is sent</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="SenderReference">
|
||||
<xs:annotation>
|
||||
<xs:documentation>A customer reference that can be freely filled and will be send back in the following response. No checks are made on this field. When a new Visit- or TransitId is obtained, it should be used as a reference to match the response to its corresponding request.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:maxLength value="35" />
|
||||
<xs:minLength value="0" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="Type">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The message type (should be the same as in the request message):
|
||||
- VISIT: Creates a new declaration with the application for a VisitId. It's allowed to send further data in one or more reporting classes
|
||||
- TRANSIT: same with TransitId
|
||||
- DATA: Only data for one or more reporting classes are included
|
||||
- RESET: The data of one or more reporting classes are deleted
|
||||
- CANCEL: The whole declaration is cancelled</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="VISIT" />
|
||||
<xs:enumeration value="TRANSIT" />
|
||||
<xs:enumeration value="DATA" />
|
||||
<xs:enumeration value="RESET" />
|
||||
<xs:enumeration value="CANCEL" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="ReportingClassesFull">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reporting classes that are received with all necessary data.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="ReportingClass" type="ReportingClassCode">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The code of a reporting class.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="ReportingClassesPartial">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reporting classes that are received with some data missing (see Messages for errors/violations).</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="ReportingClass" type="ReportingClassCode">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The code of a reporting class.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="ReportingClassesError">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reporting classes that are received with some data missing (see Messages for errors/violations).</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="ReportingClass" type="ReportingClassCode">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The code of a reporting class.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element minOccurs="0" name="ReportingClassesResetted">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Reporting classes that are resetted (due to a message with Type RESET).</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="ReportingClass" type="ReportingClassCode">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The code of a reporting class.</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Messages">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Errors, Violations, etc.</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" name="Message">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ID">
|
||||
<xs:annotation>
|
||||
<xs:documentation>ID (given from NSW)</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="3" />
|
||||
<xs:maxLength value="4" />
|
||||
<xs:pattern value="([1-9][0-9]{2,3})" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="Type">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Type of Message (functional error, process error in report, process error in message basket, process error during status request, or violation)</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="INFO" />
|
||||
<xs:enumeration value="WARNING" />
|
||||
<xs:enumeration value="VIOLATION" />
|
||||
<xs:enumeration value="ERROR" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="Location">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
<xs:maxLength value="32" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
<xs:element name="Text">
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1" />
|
||||
<xs:maxLength value="255" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:simpleType name="ReportingClassCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="NOA_NOD" />
|
||||
<xs:enumeration value="ATA" />
|
||||
<xs:enumeration value="ATD" />
|
||||
<xs:enumeration value="SEC" />
|
||||
<xs:enumeration value="AGNT" />
|
||||
<xs:enumeration value="POBA" />
|
||||
<xs:enumeration value="POBD" />
|
||||
<xs:enumeration value="NAME" />
|
||||
<xs:enumeration value="TIEFA" />
|
||||
<xs:enumeration value="TIEFD" />
|
||||
<xs:enumeration value="BKRA" />
|
||||
<xs:enumeration value="BKRD" />
|
||||
<xs:enumeration value="STAT" />
|
||||
<xs:enumeration value="LADG" />
|
||||
<xs:enumeration value="INFO" />
|
||||
<xs:enumeration value="SERV" />
|
||||
<xs:enumeration value="PRE72H" />
|
||||
<xs:enumeration value="MDH" />
|
||||
<xs:enumeration value="WAS" />
|
||||
<xs:enumeration value="CREW" />
|
||||
<xs:enumeration value="PAS" />
|
||||
<xs:enumeration value="BPOL" />
|
||||
<xs:enumeration value="TOWA" />
|
||||
<xs:enumeration value="TOWD" />
|
||||
<xs:enumeration value="HAZA" />
|
||||
<xs:enumeration value="HAZD" />
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@ -84,7 +84,7 @@ namespace bsmd.dbh
|
||||
timestamp,
|
||||
Properties.Settings.Default.Sender, // BSMD sender Kennung (festverdrahtet)
|
||||
senderReference,
|
||||
rootType,
|
||||
(bsmd.dbh.DBHWebReference.RootType) rootType,
|
||||
item,
|
||||
itemChoiceType2,
|
||||
null, // sisnumbers (weglassen)
|
||||
@ -163,7 +163,7 @@ namespace bsmd.dbh
|
||||
case Message.NotificationClass.VISIT:
|
||||
{
|
||||
DBHWebReference.RootVisit rootVisit = new DBHWebReference.RootVisit();
|
||||
rootType = DBHWebReference.RootType.VISIT;
|
||||
rootType = RootType.VISIT;
|
||||
|
||||
if (!message.MessageCore.IMO.IsNullOrEmpty())
|
||||
{
|
||||
@ -192,7 +192,7 @@ namespace bsmd.dbh
|
||||
case Message.NotificationClass.TRANSIT:
|
||||
{
|
||||
DBHWebReference.RootTransit rootTransit = new DBHWebReference.RootTransit();
|
||||
rootType = DBHWebReference.RootType.TRANSIT;
|
||||
rootType = RootType.TRANSIT;
|
||||
itemChoiceType2 = DBHWebReference.ItemChoiceType2.Transit;
|
||||
|
||||
if (!message.MessageCore.IMO.IsNullOrEmpty())
|
||||
@ -206,8 +206,8 @@ namespace bsmd.dbh
|
||||
rootTransit.Item = message.MessageCore.ENI;
|
||||
}
|
||||
|
||||
if (message.MessageCore.ETA.HasValue)
|
||||
rootTransit.ETAKielCanal = message.MessageCore.ETA.Value.ToDBHDateString();
|
||||
if (message.MessageCore.ETAKielCanal.HasValue)
|
||||
rootTransit.ETAKielCanal = message.MessageCore.ETAKielCanal.Value.ToDBHDateString();
|
||||
else
|
||||
rootTransit.ETAKielCanal = null;
|
||||
item = rootTransit;
|
||||
@ -1634,7 +1634,7 @@ namespace bsmd.dbh
|
||||
try
|
||||
{
|
||||
object[] items = null;
|
||||
if ((rootType == DBHWebReference.RootType.CANCEL) || (rootType == DBHWebReference.RootType.DATA) || (rootType == DBHWebReference.RootType.RESET))
|
||||
if ((rootType == RootType.CANCEL) || (rootType == RootType.DATA) || (rootType == RootType.RESET))
|
||||
{
|
||||
items = new object[1];
|
||||
items[0] = item;
|
||||
@ -1661,7 +1661,7 @@ namespace bsmd.dbh
|
||||
timestamp,
|
||||
Properties.Settings.Default.Sender, // BSMD sender Kennung (festverdrahtet)
|
||||
senderReference,
|
||||
rootType,
|
||||
(bsmd.dbh.DBHWebReference.RootType) rootType,
|
||||
item,
|
||||
itemChoiceType2,
|
||||
null, // sisnumbers (weglassen)
|
||||
|
||||
@ -22,11 +22,11 @@ namespace bsmd.dbh
|
||||
private static ILog _log = LogManager.GetLogger("dbh Response");
|
||||
|
||||
public static void ProcessResponse(string VisitId, string TransitId, DateTime Timestamp,
|
||||
string SenderReference, response.RootType Type, List<response.RootMessage> Messages,
|
||||
List<bsmd.dbh.response.RootReportingClassesFull> ReportingClassesFull,
|
||||
List<bsmd.dbh.response.RootReportingClassesPartial> ReportingClassesPartial,
|
||||
List<bsmd.dbh.response.RootReportingClassesError> RootReportingClassesError,
|
||||
List<bsmd.dbh.response.RootReportingClassesResetted> ReportingClassesResetted,
|
||||
string SenderReference, response.RootType Type, List<bsmd.dbh.response.RootMessage> Messages,
|
||||
bsmd.dbh.response.RootReportingClassesFull ReportingClassesFull,
|
||||
bsmd.dbh.response.RootReportingClassesPartial ReportingClassesPartial,
|
||||
bsmd.dbh.response.RootReportingClassesError RootReportingClassesError,
|
||||
bsmd.dbh.response.RootReportingClassesResetted ReportingClassesResetted,
|
||||
string connectionString)
|
||||
{
|
||||
|
||||
@ -43,7 +43,7 @@ namespace bsmd.dbh
|
||||
|
||||
if (DBManager.Instance.Connect(connectionString))
|
||||
{
|
||||
|
||||
_log.Debug("Start PROCESS");
|
||||
Guid messageId;
|
||||
if (!Guid.TryParseExact(SenderReference, "N", out messageId))
|
||||
{
|
||||
@ -52,6 +52,9 @@ namespace bsmd.dbh
|
||||
}
|
||||
|
||||
DatabaseEntity dbEntity = DBManager.Instance.GetMessageById(messageId);
|
||||
if (dbEntity != null)
|
||||
_log.InfoFormat("Message type {0} found for SenderReference {1}", ((Message)dbEntity).MessageNotificationClassDisplay, messageId);
|
||||
|
||||
MessageCore aCore = null;
|
||||
if (dbEntity == null)
|
||||
{
|
||||
@ -107,13 +110,17 @@ namespace bsmd.dbh
|
||||
//}
|
||||
break;
|
||||
case dbh.response.RootType.DATA:
|
||||
if((ReportingClassesFull != null) && (ReportingClassesFull.Count > 0) &&
|
||||
(int) ReportingClassesFull[0].ReportingClass[0] == (int)aMessage.MessageNotificationClass)
|
||||
if((ReportingClassesFull != null) && (ReportingClassesFull.ReportingClass.Length > 0))
|
||||
{
|
||||
// this was successful, save status to MessageHeader
|
||||
aMessage.SendSuccess = true;
|
||||
aMessage.InternalStatus = Message.BSMDStatus.CONFIRMED;
|
||||
aMessage.Status = Message.MessageStatus.ACCEPTED;
|
||||
_log.InfoFormat("CONFIRMED");
|
||||
}
|
||||
else
|
||||
{
|
||||
_log.InfoFormat("no match");
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@
|
||||
<Compile Include="..\bsmd.database\Properties\AssemblyProjectKeyInfo.cs">
|
||||
<Link>Properties\AssemblyProjectKeyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="NSWResponse.designer.cs" />
|
||||
<Compile Include="NSWResponse.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
@ -87,9 +87,6 @@
|
||||
<ItemGroup>
|
||||
<None Include="..\bsmdKey.snk" />
|
||||
<None Include="app.config" />
|
||||
<None Include="NSWResponse.xsd">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>PublicSettingsSingleFileGenerator</Generator>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user