in Arbeit!
This commit is contained in:
parent
ff9bbf334a
commit
457751893c
Binary file not shown.
BIN
nsw/Arbeitskreis Reeder_2015_04_28.docx
Normal file
BIN
nsw/Arbeitskreis Reeder_2015_04_28.docx
Normal file
Binary file not shown.
@ -1,6 +1,8 @@
|
||||
GO
|
||||
ALTER TABLE [dbo].[MessageCore]
|
||||
ADD [HerbergFormGuid] UNIQUEIDENTIFIER NULL,
|
||||
ADD
|
||||
[InitialHIS] tinyint NULL,
|
||||
[HerbergFormGuid] UNIQUEIDENTIFIER NULL,
|
||||
[HerbergFormTemplateGuid] UNIQUEIDENTIFIER NULL;
|
||||
|
||||
|
||||
|
||||
2
nsw/Source/SQL/Update_1.2_To_1.3.sql
Normal file
2
nsw/Source/SQL/Update_1.2_To_1.3.sql
Normal file
@ -0,0 +1,2 @@
|
||||
GO
|
||||
ALTER TABLE [dbo].[MDH] ALTER COLUMN [MDHSimplification] BIT NULL;
|
||||
@ -59,10 +59,28 @@
|
||||
</Compile>
|
||||
<Compile Include="eDeclaration.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Request.cs" />
|
||||
<Compile Include="sftp.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\bsmdKey.snk" />
|
||||
<None Include="app.config" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\bsmd.database\bsmd.database.csproj">
|
||||
<Project>{19945af2-379b-46a5-b27a-303b5ec1d557}</Project>
|
||||
<Name>bsmd.database</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class ATA : DatabaseEntity, IMessageClass
|
||||
public class ATA : DatabaseEntity
|
||||
{
|
||||
|
||||
public ATA()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public DateTime? ATAPortOfCall { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class ATD : DatabaseEntity, IMessageClass
|
||||
public class ATD : DatabaseEntity
|
||||
{
|
||||
|
||||
public ATD()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public DateTime? ATDPortOfCall { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class BRKA : DatabaseEntity, IMessageClass
|
||||
public class BRKA : DatabaseEntity
|
||||
{
|
||||
|
||||
public BRKA()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public string BunkerFuelType { get; set; }
|
||||
|
||||
public float? BunkerFuelQuantity_TNE { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class BPOL : DatabaseEntity, IMessageClass
|
||||
public class BPOL : DatabaseEntity
|
||||
{
|
||||
|
||||
private List<PortOfItinerary> poi = new List<PortOfItinerary>();
|
||||
@ -26,8 +26,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public bool? StowawaysOnBoard { get; set; }
|
||||
|
||||
public List<PortOfItinerary> PortOfItineraries { get { return this.poi; } }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class BRKD : DatabaseEntity, IMessageClass
|
||||
public class BRKD : DatabaseEntity
|
||||
{
|
||||
|
||||
public BRKD()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public string BunkerFuelType { get; set; }
|
||||
|
||||
public float? BunkerFuelQuantity_TNE { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class CREW : DatabaseEntity, IMessageClass
|
||||
public class CREW : DatabaseEntity
|
||||
{
|
||||
|
||||
public CREW()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public string CrewMemberLastName { get; set; }
|
||||
|
||||
public string CrewMemberFirstName { get; set; }
|
||||
|
||||
@ -128,6 +128,42 @@ namespace bsmd.database
|
||||
return result;
|
||||
}
|
||||
|
||||
public DatabaseEntity GetMessageById(Guid id)
|
||||
{
|
||||
Message aMessage = new Message();
|
||||
SqlCommand cmd = new SqlCommand();
|
||||
Message.LoadFilter filter = Message.LoadFilter.BY_ID;
|
||||
aMessage.PrepareLoadCommand(cmd, filter, id);
|
||||
|
||||
SqlDataReader reader = this.PerformCommand(cmd);
|
||||
List<DatabaseEntity> messages = aMessage.LoadList(reader);
|
||||
|
||||
List<Message> messageList = new List<Message>();
|
||||
foreach (Message message in messages)
|
||||
messageList.Add(message);
|
||||
|
||||
List<DatabaseEntity> result = this.LoadMessageDependencies(messageList);
|
||||
if(((Message)result[0]).MessageCoreId.HasValue)
|
||||
result[0].MessageCore = this.GetMessageCoreById(((Message)result[0]).MessageCoreId.Value);
|
||||
|
||||
return result[0];
|
||||
}
|
||||
|
||||
public MessageCore GetMessageCoreById(Guid id)
|
||||
{
|
||||
MessageCore aCore = new MessageCore();
|
||||
SqlCommand cmd = new SqlCommand();
|
||||
Message.LoadFilter filter = Message.LoadFilter.BY_ID;
|
||||
aCore.PrepareLoadCommand(cmd, filter, id);
|
||||
|
||||
SqlDataReader reader = this.PerformCommand(cmd);
|
||||
List<DatabaseEntity> cores = aCore.LoadList(reader);
|
||||
|
||||
if (cores.Count > 0) return cores[0] as MessageCore;
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public void Save(DatabaseEntity entity)
|
||||
{
|
||||
SqlCommand cmd = new SqlCommand();
|
||||
@ -186,7 +222,7 @@ namespace bsmd.database
|
||||
SqlDataReader reader = this.PerformCommand(cmd);
|
||||
List<DatabaseEntity> statList = msgClass.LoadList(reader);
|
||||
if (statList.Count > 0) message.DerivedMessage = statList[0];
|
||||
((IMessageClass)msgClass).MessageHeader = message;
|
||||
msgClass.MessageHeader = message;
|
||||
this.LoadDependingLists(msgClass);
|
||||
result.Add(msgClass);
|
||||
}
|
||||
|
||||
@ -30,6 +30,11 @@ namespace bsmd.database
|
||||
/// </summary>
|
||||
public MessageCore MessageCore { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// gemeinschaftliche Daten
|
||||
/// </summary>
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Status für Services
|
||||
/// </summary>
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class INFO : DatabaseEntity, IMessageClass
|
||||
public class INFO : DatabaseEntity
|
||||
{
|
||||
|
||||
public INFO()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public byte? ShippingArea { get; set; }
|
||||
|
||||
public string RequestedPositionInPortOfCall { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class LADG : DatabaseEntity, IMessageClass
|
||||
public class LADG : DatabaseEntity
|
||||
{
|
||||
|
||||
public LADG()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public byte? CargoHandlingType { get; set; }
|
||||
|
||||
public string CargoCodeNST { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class MDH : DatabaseEntity, IMessageClass
|
||||
public class MDH : DatabaseEntity
|
||||
{
|
||||
|
||||
private List<PortOfCallLast30Days> portOfCallLast30Days = new List<PortOfCallLast30Days>();
|
||||
@ -26,11 +26,9 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public List<PortOfCallLast30Days> PortOfCallLast30Days { get { return this.portOfCallLast30Days; } }
|
||||
|
||||
public string MDHSimplification { get; set; }
|
||||
public bool? MDHSimplification { get; set; }
|
||||
|
||||
public string PortOfCallWhereCompleteMDHNotified { get; set; }
|
||||
|
||||
@ -168,11 +166,8 @@ namespace bsmd.database
|
||||
{
|
||||
MDH mdh = new MDH();
|
||||
|
||||
mdh.id = reader.GetGuid(0);
|
||||
if (!reader.IsDBNull(1)) mdh.MDHSimplification = reader.GetString(1);
|
||||
|
||||
this.id = reader.GetGuid(0);
|
||||
if (!reader.IsDBNull(1)) mdh.MDHSimplification = reader.GetString(1);
|
||||
if (!reader.IsDBNull(1)) mdh.MDHSimplification = reader.GetBoolean(1);
|
||||
if (!reader.IsDBNull(2)) mdh.PortOfCallWhereCompleteMDHNotified = reader.GetString(2);
|
||||
if (!reader.IsDBNull(3)) mdh.NonAccidentalDeathsDuringVoyage = reader.GetBoolean(3);
|
||||
if (!reader.IsDBNull(4)) mdh.NonAccidentalDeathsDuringVoyageCount = reader.GetInt32(4);
|
||||
|
||||
@ -52,7 +52,8 @@ namespace bsmd.database
|
||||
WDSP_ID,
|
||||
BPOL_ID,
|
||||
SEC_ID,
|
||||
HERBERG_FORMGUID
|
||||
HERBERG_FORMGUID,
|
||||
BY_ID
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -60,14 +61,15 @@ namespace bsmd.database
|
||||
/// </summary>
|
||||
public enum BSMDStatus
|
||||
{
|
||||
UNDEFINED,
|
||||
UNDEFINED = 0,
|
||||
PREPARE,
|
||||
TOSEND,
|
||||
SENT,
|
||||
RESPONDED,
|
||||
FAILURE,
|
||||
REPORTREQUESTED,
|
||||
ARCHIVED
|
||||
ARCHIVED,
|
||||
HIS_FAILURE_DBH
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -97,6 +99,8 @@ namespace bsmd.database
|
||||
|
||||
public Guid? MessageId { get; set; }
|
||||
|
||||
public Guid? MessageCoreId { get { return this.messageCoreId; } }
|
||||
|
||||
public DateTime? SentAt { get; set; }
|
||||
|
||||
public DateTime? ReceivedAt { get; set; }
|
||||
@ -212,6 +216,12 @@ namespace bsmd.database
|
||||
((SqlCommand)cmd).Parameters.AddWithValue("@BSMDSTATUS", criteria[0]);
|
||||
break;
|
||||
}
|
||||
case LoadFilter.BY_ID:
|
||||
{
|
||||
query += "WHERE Id = @ID";
|
||||
((SqlCommand)cmd).Parameters.AddWithValue("@ID", criteria[0]);
|
||||
break;
|
||||
}
|
||||
case LoadFilter.ALL:
|
||||
default:
|
||||
break;
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class NAME : DatabaseEntity, IMessageClass
|
||||
public class NAME : DatabaseEntity
|
||||
{
|
||||
|
||||
public NAME()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public string NameOfMaster { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class NOA_NOD : DatabaseEntity, IMessageClass
|
||||
public class NOA_NOD : DatabaseEntity
|
||||
{
|
||||
|
||||
public NOA_NOD()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public DateTime? ETAToPortOfCall { get; set; }
|
||||
|
||||
public DateTime? ETDFromPortOfCall { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class PAS : DatabaseEntity, IMessageClass
|
||||
public class PAS : DatabaseEntity
|
||||
{
|
||||
|
||||
public PAS()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public string PassengerLastName { get; set; }
|
||||
|
||||
public string PassengerFirstName { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class POBA : DatabaseEntity, IMessageClass
|
||||
public class POBA : DatabaseEntity
|
||||
{
|
||||
|
||||
public POBA()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public int? TotalPersonsOnBoardUponArrival { get; set; }
|
||||
|
||||
public int? TotalCrewMembersOnBoardUponArrival { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class POBD : DatabaseEntity, IMessageClass
|
||||
public class POBD : DatabaseEntity
|
||||
{
|
||||
|
||||
public POBD()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public int? TotalPersonsOnBoardUponDeparture { get; set; }
|
||||
|
||||
public int? TotalCrewMembersOnBoardUponDeparture { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class PRE72H : DatabaseEntity, IMessageClass
|
||||
public class PRE72H : DatabaseEntity
|
||||
{
|
||||
|
||||
public PRE72H()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public bool? Tanker { get; set; }
|
||||
|
||||
public byte? TankerHullConfiguration { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class SEC : DatabaseEntity, IMessageClass
|
||||
public class SEC : DatabaseEntity
|
||||
{
|
||||
|
||||
private List<LastTenPortFacilitiesCalled> ltpfc = new List<LastTenPortFacilitiesCalled>();
|
||||
@ -28,8 +28,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public string SECSimplification { get; set; }
|
||||
|
||||
public string PortOfCallWhereCompleteSECNotified { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class SERV : DatabaseEntity, IMessageClass
|
||||
public class SERV : DatabaseEntity
|
||||
{
|
||||
|
||||
public SERV()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public string ServiceName { get; set; }
|
||||
|
||||
public string ServiceBeneficiary { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class STAT : DatabaseEntity, IMessageClass
|
||||
public class STAT : DatabaseEntity
|
||||
{
|
||||
|
||||
public STAT()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public string ShipName { get; set; }
|
||||
|
||||
public string CallSign { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class TIEFA : DatabaseEntity, IMessageClass
|
||||
public class TIEFA : DatabaseEntity
|
||||
{
|
||||
|
||||
public TIEFA()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public float? DraughtUponArrival_DMT { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class TIEFD : DatabaseEntity, IMessageClass
|
||||
public class TIEFD : DatabaseEntity
|
||||
{
|
||||
|
||||
public TIEFD()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public float? DraughtUponDeparture_DMT { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class TOWA : DatabaseEntity, IMessageClass
|
||||
public class TOWA : DatabaseEntity
|
||||
{
|
||||
|
||||
public TOWA()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public string TowageOnArrivalName { get; set; }
|
||||
|
||||
public string TowageOnArrivalFlag { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class TOWD : DatabaseEntity, IMessageClass
|
||||
public class TOWD : DatabaseEntity
|
||||
{
|
||||
|
||||
public TOWD()
|
||||
@ -24,8 +24,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public string TowageOnDepartureName { get; set; }
|
||||
|
||||
public string TowageOnDepartureFlag { get; set; }
|
||||
|
||||
@ -14,7 +14,7 @@ using System.Collections.Generic;
|
||||
|
||||
namespace bsmd.database
|
||||
{
|
||||
public class WAS : DatabaseEntity, IMessageClass
|
||||
public class WAS : DatabaseEntity
|
||||
{
|
||||
|
||||
private List<WasteDisposalServiceProvider> wdsp = new List<WasteDisposalServiceProvider>();
|
||||
@ -26,8 +26,6 @@ namespace bsmd.database
|
||||
|
||||
#region Properties
|
||||
|
||||
public Message MessageHeader { get; set; }
|
||||
|
||||
public bool? WasteDisposalValidExemption { get; set; }
|
||||
|
||||
public string LastWasteDisposalPort { get; set; }
|
||||
|
||||
@ -63,7 +63,6 @@
|
||||
<Compile Include="CREW.cs" />
|
||||
<Compile Include="DBManager.cs" />
|
||||
<Compile Include="DatabaseEntity.cs" />
|
||||
<Compile Include="IMessageClass.cs" />
|
||||
<Compile Include="INFO.cs" />
|
||||
<Compile Include="LADG.cs" />
|
||||
<Compile Include="MDH.cs" />
|
||||
|
||||
Binary file not shown.
@ -20,7 +20,7 @@
|
||||
<!-- To avoid disclosing metadata information, set the values below to false before deployment -->
|
||||
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
|
||||
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
|
||||
<serviceDebug includeExceptionDetailInFaults="false"/>
|
||||
<serviceDebug includeExceptionDetailInFaults="true"/>
|
||||
</behavior>
|
||||
</serviceBehaviors>
|
||||
</behaviors>
|
||||
@ -40,7 +40,7 @@
|
||||
<applicationSettings>
|
||||
<bsmd.dbh.ResponseService.Properties.Settings>
|
||||
<setting name="DBConnectionString" serializeAs="String">
|
||||
<value>replace me!</value>
|
||||
<value>Initial Catalog=nsw;Data Source=SMSPLASH01\SQLEXPRESS;Uid=dfuser;pwd=dfpasswd;Persist Security Info=False;Connection Reset=false</value>
|
||||
</setting>
|
||||
</bsmd.dbh.ResponseService.Properties.Settings>
|
||||
</applicationSettings>
|
||||
|
||||
@ -63,6 +63,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="ResponseService.svc" />
|
||||
<Content Include="todo.txt" />
|
||||
<Content Include="Web.config">
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
|
||||
4
nsw/Source/bsmd.dbh.ResponseService/todo.txt
Normal file
4
nsw/Source/bsmd.dbh.ResponseService/todo.txt
Normal file
@ -0,0 +1,4 @@
|
||||
Nachschauen im Protokoll: Liefert die Response nur Visit/TransitID und die Failure/Error
|
||||
Listen oder noch anderen Informationen?
|
||||
|
||||
Speichern der zurückgemeldeten Datensätze
|
||||
716
nsw/Source/bsmd.dbh/NSWResponse.designer.cs
generated
Normal file
716
nsw/Source/bsmd.dbh/NSWResponse.designer.cs
generated
Normal file
@ -0,0 +1,716 @@
|
||||
// ------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// Generated by Xsd2Code. Version 3.4.0.32989
|
||||
// <NameSpace>bsmd.dbh.response</NameSpace><Collection>List</Collection><codeType>CSharp</codeType><EnableDataBinding>False</EnableDataBinding><EnableLazyLoading>False</EnableLazyLoading><TrackingChangesEnable>False</TrackingChangesEnable><GenTrackingClasses>False</GenTrackingClasses><HidePrivateFieldInIDE>False</HidePrivateFieldInIDE><EnableSummaryComment>False</EnableSummaryComment><VirtualProp>False</VirtualProp><IncludeSerializeMethod>False</IncludeSerializeMethod><UseBaseClass>False</UseBaseClass><GenBaseClass>False</GenBaseClass><GenerateCloneMethod>False</GenerateCloneMethod><GenerateDataContracts>False</GenerateDataContracts><CodeBaseTag>Net20</CodeBaseTag><SerializeMethodName>Serialize</SerializeMethodName><DeserializeMethodName>Deserialize</DeserializeMethodName><SaveToFileMethodName>SaveToFile</SaveToFileMethodName><LoadFromFileMethodName>LoadFromFile</LoadFromFileMethodName><GenerateXMLAttributes>False</GenerateXMLAttributes><OrderXMLAttrib>False</OrderXMLAttrib><EnableEncoding>False</EnableEncoding><AutomaticProperties>False</AutomaticProperties><GenerateShouldSerialize>False</GenerateShouldSerialize><DisableDebug>False</DisableDebug><PropNameSpecified>Default</PropNameSpecified><Encoder>UTF8</Encoder><CustomUsings></CustomUsings><ExcludeIncludedTypes>False</ExcludeIncludedTypes><EnableInitializeFields>True</EnableInitializeFields>
|
||||
// </auto-generated>
|
||||
// ------------------------------------------------------------------------------
|
||||
namespace bsmd.dbh.response
|
||||
{
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Xml.Serialization;
|
||||
using System.Collections;
|
||||
using System.Xml.Schema;
|
||||
using System.ComponentModel;
|
||||
using System.Collections.Generic;
|
||||
|
||||
|
||||
public partial class Root
|
||||
{
|
||||
|
||||
private string versionField;
|
||||
|
||||
private string messageIdField;
|
||||
|
||||
private string visitIdField;
|
||||
|
||||
private string transitIdField;
|
||||
|
||||
private System.DateTime timestampField;
|
||||
|
||||
private string senderField;
|
||||
|
||||
private string senderReferenceField;
|
||||
|
||||
private RootType typeField;
|
||||
|
||||
private RootReportingClassesFull reportingClassesFullField;
|
||||
|
||||
private RootReportingClassesPartial reportingClassesPartialField;
|
||||
|
||||
private RootReportingClassesError reportingClassesErrorField;
|
||||
|
||||
private RootReportingClassesResetted reportingClassesResettedField;
|
||||
|
||||
private List<RootMessage> messagesField;
|
||||
|
||||
public Root()
|
||||
{
|
||||
this.messagesField = new List<RootMessage>();
|
||||
this.reportingClassesResettedField = new RootReportingClassesResetted();
|
||||
this.reportingClassesErrorField = new RootReportingClassesError();
|
||||
this.reportingClassesPartialField = new RootReportingClassesPartial();
|
||||
this.reportingClassesFullField = new RootReportingClassesFull();
|
||||
}
|
||||
|
||||
public string Version
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.versionField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.versionField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string MessageId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.messageIdField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.messageIdField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string VisitId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.visitIdField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.visitIdField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string TransitId
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.transitIdField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.transitIdField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public System.DateTime Timestamp
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.timestampField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.timestampField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string Sender
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.senderField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.senderField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string SenderReference
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.senderReferenceField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.senderReferenceField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public RootType Type
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.typeField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.typeField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public RootReportingClassesFull ReportingClassesFull
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.reportingClassesFullField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.reportingClassesFullField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public RootReportingClassesPartial ReportingClassesPartial
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.reportingClassesPartialField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.reportingClassesPartialField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public RootReportingClassesError ReportingClassesError
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.reportingClassesErrorField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.reportingClassesErrorField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public RootReportingClassesResetted ReportingClassesResetted
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.reportingClassesResettedField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.reportingClassesResettedField = value;
|
||||
}
|
||||
}
|
||||
|
||||
[System.Xml.Serialization.XmlArrayItemAttribute("Message", IsNullable = false)]
|
||||
public List<RootMessage> Messages
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.messagesField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.messagesField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum RootType
|
||||
{
|
||||
|
||||
/// <remarks/>
|
||||
VISIT,
|
||||
|
||||
/// <remarks/>
|
||||
TRANSIT,
|
||||
|
||||
/// <remarks/>
|
||||
DATA,
|
||||
|
||||
/// <remarks/>
|
||||
RESET,
|
||||
|
||||
/// <remarks/>
|
||||
CANCEL,
|
||||
}
|
||||
|
||||
public partial class RootReportingClassesFull
|
||||
{
|
||||
|
||||
private List<RootReportingClassesFullReportingClass> reportingClassField;
|
||||
|
||||
public RootReportingClassesFull()
|
||||
{
|
||||
this.reportingClassField = new List<RootReportingClassesFullReportingClass>();
|
||||
}
|
||||
|
||||
public List<RootReportingClassesFullReportingClass> ReportingClass
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.reportingClassField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.reportingClassField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum RootReportingClassesFullReportingClass
|
||||
{
|
||||
|
||||
/// <remarks/>
|
||||
NOA_NOD,
|
||||
|
||||
/// <remarks/>
|
||||
ATA,
|
||||
|
||||
/// <remarks/>
|
||||
ATD,
|
||||
|
||||
/// <remarks/>
|
||||
SEC,
|
||||
|
||||
/// <remarks/>
|
||||
POBA,
|
||||
|
||||
/// <remarks/>
|
||||
POBD,
|
||||
|
||||
/// <remarks/>
|
||||
NAME,
|
||||
|
||||
/// <remarks/>
|
||||
TIEFA,
|
||||
|
||||
/// <remarks/>
|
||||
TIEFD,
|
||||
|
||||
/// <remarks/>
|
||||
BKRA,
|
||||
|
||||
/// <remarks/>
|
||||
BKRD,
|
||||
|
||||
/// <remarks/>
|
||||
STAT,
|
||||
|
||||
/// <remarks/>
|
||||
LADG,
|
||||
|
||||
/// <remarks/>
|
||||
INFO,
|
||||
|
||||
/// <remarks/>
|
||||
SERV,
|
||||
|
||||
/// <remarks/>
|
||||
PRE72H,
|
||||
|
||||
/// <remarks/>
|
||||
MDH,
|
||||
|
||||
/// <remarks/>
|
||||
WAS,
|
||||
|
||||
/// <remarks/>
|
||||
CREW,
|
||||
|
||||
/// <remarks/>
|
||||
PAS,
|
||||
|
||||
/// <remarks/>
|
||||
BPOL,
|
||||
|
||||
/// <remarks/>
|
||||
TOWA,
|
||||
|
||||
/// <remarks/>
|
||||
TOWD,
|
||||
|
||||
/// <remarks/>
|
||||
HAZA,
|
||||
|
||||
/// <remarks/>
|
||||
HAZD,
|
||||
}
|
||||
|
||||
public partial class RootReportingClassesPartial
|
||||
{
|
||||
|
||||
private List<RootReportingClassesPartialReportingClass> reportingClassField;
|
||||
|
||||
public RootReportingClassesPartial()
|
||||
{
|
||||
this.reportingClassField = new List<RootReportingClassesPartialReportingClass>();
|
||||
}
|
||||
|
||||
public List<RootReportingClassesPartialReportingClass> ReportingClass
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.reportingClassField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.reportingClassField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum RootReportingClassesPartialReportingClass
|
||||
{
|
||||
|
||||
/// <remarks/>
|
||||
NOA_NOD,
|
||||
|
||||
/// <remarks/>
|
||||
ATA,
|
||||
|
||||
/// <remarks/>
|
||||
ATD,
|
||||
|
||||
/// <remarks/>
|
||||
SEC,
|
||||
|
||||
/// <remarks/>
|
||||
POBA,
|
||||
|
||||
/// <remarks/>
|
||||
POBD,
|
||||
|
||||
/// <remarks/>
|
||||
NAME,
|
||||
|
||||
/// <remarks/>
|
||||
TIEFA,
|
||||
|
||||
/// <remarks/>
|
||||
TIEFD,
|
||||
|
||||
/// <remarks/>
|
||||
BKRA,
|
||||
|
||||
/// <remarks/>
|
||||
BKRD,
|
||||
|
||||
/// <remarks/>
|
||||
STAT,
|
||||
|
||||
/// <remarks/>
|
||||
LADG,
|
||||
|
||||
/// <remarks/>
|
||||
INFO,
|
||||
|
||||
/// <remarks/>
|
||||
SERV,
|
||||
|
||||
/// <remarks/>
|
||||
PRE72H,
|
||||
|
||||
/// <remarks/>
|
||||
MDH,
|
||||
|
||||
/// <remarks/>
|
||||
WAS,
|
||||
|
||||
/// <remarks/>
|
||||
CREW,
|
||||
|
||||
/// <remarks/>
|
||||
PAS,
|
||||
|
||||
/// <remarks/>
|
||||
BPOL,
|
||||
|
||||
/// <remarks/>
|
||||
TOWA,
|
||||
|
||||
/// <remarks/>
|
||||
TOWD,
|
||||
|
||||
/// <remarks/>
|
||||
HAZA,
|
||||
|
||||
/// <remarks/>
|
||||
HAZD,
|
||||
}
|
||||
|
||||
public partial class RootReportingClassesError
|
||||
{
|
||||
|
||||
private List<RootReportingClassesErrorReportingClass> reportingClassField;
|
||||
|
||||
public RootReportingClassesError()
|
||||
{
|
||||
this.reportingClassField = new List<RootReportingClassesErrorReportingClass>();
|
||||
}
|
||||
|
||||
public List<RootReportingClassesErrorReportingClass> ReportingClass
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.reportingClassField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.reportingClassField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum RootReportingClassesErrorReportingClass
|
||||
{
|
||||
|
||||
/// <remarks/>
|
||||
NOA_NOD,
|
||||
|
||||
/// <remarks/>
|
||||
ATA,
|
||||
|
||||
/// <remarks/>
|
||||
ATD,
|
||||
|
||||
/// <remarks/>
|
||||
SEC,
|
||||
|
||||
/// <remarks/>
|
||||
POBA,
|
||||
|
||||
/// <remarks/>
|
||||
POBD,
|
||||
|
||||
/// <remarks/>
|
||||
NAME,
|
||||
|
||||
/// <remarks/>
|
||||
TIEFA,
|
||||
|
||||
/// <remarks/>
|
||||
TIEFD,
|
||||
|
||||
/// <remarks/>
|
||||
BKRA,
|
||||
|
||||
/// <remarks/>
|
||||
BKRD,
|
||||
|
||||
/// <remarks/>
|
||||
STAT,
|
||||
|
||||
/// <remarks/>
|
||||
LADG,
|
||||
|
||||
/// <remarks/>
|
||||
INFO,
|
||||
|
||||
/// <remarks/>
|
||||
SERV,
|
||||
|
||||
/// <remarks/>
|
||||
PRE72H,
|
||||
|
||||
/// <remarks/>
|
||||
MDH,
|
||||
|
||||
/// <remarks/>
|
||||
WAS,
|
||||
|
||||
/// <remarks/>
|
||||
CREW,
|
||||
|
||||
/// <remarks/>
|
||||
PAS,
|
||||
|
||||
/// <remarks/>
|
||||
BPOL,
|
||||
|
||||
/// <remarks/>
|
||||
TOWA,
|
||||
|
||||
/// <remarks/>
|
||||
TOWD,
|
||||
|
||||
/// <remarks/>
|
||||
HAZA,
|
||||
|
||||
/// <remarks/>
|
||||
HAZD,
|
||||
}
|
||||
|
||||
public partial class RootReportingClassesResetted
|
||||
{
|
||||
|
||||
private List<RootReportingClassesResettedReportingClass> reportingClassField;
|
||||
|
||||
public RootReportingClassesResetted()
|
||||
{
|
||||
this.reportingClassField = new List<RootReportingClassesResettedReportingClass>();
|
||||
}
|
||||
|
||||
public List<RootReportingClassesResettedReportingClass> ReportingClass
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.reportingClassField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.reportingClassField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum RootReportingClassesResettedReportingClass
|
||||
{
|
||||
|
||||
/// <remarks/>
|
||||
NOA_NOD,
|
||||
|
||||
/// <remarks/>
|
||||
ATA,
|
||||
|
||||
/// <remarks/>
|
||||
ATD,
|
||||
|
||||
/// <remarks/>
|
||||
SEC,
|
||||
|
||||
/// <remarks/>
|
||||
POBA,
|
||||
|
||||
/// <remarks/>
|
||||
POBD,
|
||||
|
||||
/// <remarks/>
|
||||
NAME,
|
||||
|
||||
/// <remarks/>
|
||||
TIEFA,
|
||||
|
||||
/// <remarks/>
|
||||
TIEFD,
|
||||
|
||||
/// <remarks/>
|
||||
BKRA,
|
||||
|
||||
/// <remarks/>
|
||||
BKRD,
|
||||
|
||||
/// <remarks/>
|
||||
STAT,
|
||||
|
||||
/// <remarks/>
|
||||
LADG,
|
||||
|
||||
/// <remarks/>
|
||||
INFO,
|
||||
|
||||
/// <remarks/>
|
||||
SERV,
|
||||
|
||||
/// <remarks/>
|
||||
PRE72H,
|
||||
|
||||
/// <remarks/>
|
||||
MDH,
|
||||
|
||||
/// <remarks/>
|
||||
WAS,
|
||||
|
||||
/// <remarks/>
|
||||
CREW,
|
||||
|
||||
/// <remarks/>
|
||||
PAS,
|
||||
|
||||
/// <remarks/>
|
||||
BPOL,
|
||||
|
||||
/// <remarks/>
|
||||
TOWA,
|
||||
|
||||
/// <remarks/>
|
||||
TOWD,
|
||||
|
||||
/// <remarks/>
|
||||
HAZA,
|
||||
|
||||
/// <remarks/>
|
||||
HAZD,
|
||||
}
|
||||
|
||||
public partial class RootMessage
|
||||
{
|
||||
|
||||
private string idField;
|
||||
|
||||
private RootMessageType typeField;
|
||||
|
||||
private string locationField;
|
||||
|
||||
private string textField;
|
||||
|
||||
public string ID
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.idField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.idField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public RootMessageType Type
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.typeField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.typeField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string Location
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.locationField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.locationField = value;
|
||||
}
|
||||
}
|
||||
|
||||
public string Text
|
||||
{
|
||||
get
|
||||
{
|
||||
return this.textField;
|
||||
}
|
||||
set
|
||||
{
|
||||
this.textField = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public enum RootMessageType
|
||||
{
|
||||
|
||||
/// <remarks/>
|
||||
INFO,
|
||||
|
||||
/// <remarks/>
|
||||
WARNING,
|
||||
|
||||
/// <remarks/>
|
||||
VIOLATION,
|
||||
|
||||
/// <remarks/>
|
||||
ERROR,
|
||||
}
|
||||
}
|
||||
@ -43,6 +43,8 @@
|
||||
<xs:documentation>Timestamp, when the message is sent</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element name="Sender" type="xs:string"/>
|
||||
<xs:element name="SenderReference" type="xs:string"/>
|
||||
<xs:element name="Type">
|
||||
<xs:annotation>
|
||||
<xs:documentation>The message type (should be the same as in the request message):
|
||||
|
||||
@ -25,16 +25,23 @@ namespace bsmd.dbh
|
||||
if (dbEntity == null) return false;
|
||||
|
||||
Message aMessage = null;
|
||||
|
||||
RootType rootType = RootType.DATA;
|
||||
|
||||
if (dbEntity.GetType().IsAssignableFrom(typeof(Message)))
|
||||
{
|
||||
aMessage = (Message)dbEntity;
|
||||
rootType = aMessage.MessageCore.IsTransit ? RootType.TRANSIT : RootType.VISIT;
|
||||
aMessage.SentAt = DateTime.Now;
|
||||
}
|
||||
else
|
||||
{
|
||||
IMessageClass msgClass = (IMessageClass)dbEntity;
|
||||
aMessage = msgClass.MessageHeader;
|
||||
aMessage = dbEntity.MessageHeader;
|
||||
}
|
||||
|
||||
if (aMessage.ReportingParty == null)
|
||||
{
|
||||
_log.ErrorFormat("Reporting party not set on message {0}", aMessage.Id);
|
||||
return false;
|
||||
}
|
||||
|
||||
// map message to dbh NSWRequest object
|
||||
@ -56,10 +63,10 @@ namespace bsmd.dbh
|
||||
rp.RPType = (RootReportingPartyRPType)aMessage.ReportingParty.ReportingPartyType.Value;
|
||||
|
||||
DateTime timestamp = DateTime.Now;
|
||||
string version = "1.9";
|
||||
string version = "2.0";
|
||||
object item = null;
|
||||
string senderReference = Guid.NewGuid().ToString(); // TODO
|
||||
RootType rootType = RootType.DATA;
|
||||
string senderReference = dbEntity.Id.ToString();
|
||||
|
||||
ItemChoiceType2 itemChoiceType2 = ItemChoiceType2.Visit; // ?
|
||||
|
||||
switch (aMessage.MessageNotificationClass)
|
||||
@ -239,10 +246,20 @@ namespace bsmd.dbh
|
||||
}
|
||||
|
||||
// send object
|
||||
string result = client.Root(version, timestamp, Properties.Settings.Default.Sender, senderReference, rootType,
|
||||
item, itemChoiceType2, null, rp, null, null);
|
||||
|
||||
return false;
|
||||
bool returnval = true;
|
||||
try
|
||||
{
|
||||
string result = client.Root(version, timestamp, Properties.Settings.Default.Sender, senderReference, rootType,
|
||||
item, itemChoiceType2, null, rp, null, null);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_log.ErrorFormat("exception on message send: {0}", ex.Message);
|
||||
returnval = false;
|
||||
}
|
||||
|
||||
return returnval;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -11,6 +11,8 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using bsmd.database;
|
||||
using log4net;
|
||||
using System.IO;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace bsmd.dbh
|
||||
{
|
||||
@ -19,58 +21,95 @@ namespace bsmd.dbh
|
||||
|
||||
private static ILog _log = LogManager.GetLogger("dbh Response");
|
||||
|
||||
public static void ProcessResponse(response.Root response, string connectionString)
|
||||
public static void ProcessResponse(response.Root aResponse, string connectionString)
|
||||
{
|
||||
_log.InfoFormat("processing message type {0}, version {1}", response.Type, response.Version);
|
||||
_log.InfoFormat("processing message type {0}, version {1}", aResponse.Type, aResponse.Version);
|
||||
XmlSerializer serializer = new XmlSerializer(typeof(response.Root));
|
||||
using(StringWriter textWriter = new StringWriter())
|
||||
{
|
||||
serializer.Serialize(textWriter, aResponse);
|
||||
_log.Debug(textWriter.ToString());
|
||||
}
|
||||
|
||||
if (DBManager.Instance.Connect(connectionString))
|
||||
{
|
||||
|
||||
// Status zu den jeweiligen Nachrichten. Bei uns sollte die Anzahl hier immer 1 sein, da wir die Dinger
|
||||
// einzeln verschicken.
|
||||
for (int i = 0; i < response.Messages.Length; i++)
|
||||
if (aResponse.Messages != null)
|
||||
{
|
||||
switch (response.Messages[i].Type)
|
||||
// Status zu den jeweiligen Nachrichten. Bei uns sollte die Anzahl hier immer 1 sein, da wir die Dinger
|
||||
// einzeln verschicken.
|
||||
for (int i = 0; i < aResponse.Messages.Count; i++)
|
||||
{
|
||||
case dbh.response.RootMessageType.ERROR:
|
||||
MessageError messageError = new MessageError();
|
||||
messageError.ErrorText = response.Messages[i].Text;
|
||||
// messageError.ErrorCode =
|
||||
_log.InfoFormat("message {0} type {1}: {2}", i,
|
||||
aResponse.Messages[i].Type,
|
||||
aResponse.Messages[i].Text ?? "null");
|
||||
switch (aResponse.Messages[i].Type)
|
||||
{
|
||||
case dbh.response.RootMessageType.ERROR:
|
||||
MessageError messageError = new MessageError();
|
||||
messageError.ErrorText = aResponse.Messages[i].Text;
|
||||
// messageError.ErrorCode =
|
||||
|
||||
|
||||
break;
|
||||
case dbh.response.RootMessageType.VIOLATION:
|
||||
break;
|
||||
case dbh.response.RootMessageType.VIOLATION:
|
||||
|
||||
|
||||
break;
|
||||
case dbh.response.RootMessageType.WARNING:
|
||||
case dbh.response.RootMessageType.INFO:
|
||||
default:
|
||||
break;
|
||||
case dbh.response.RootMessageType.WARNING:
|
||||
case dbh.response.RootMessageType.INFO:
|
||||
default:
|
||||
|
||||
break;
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
switch (response.Type)
|
||||
Guid messageId;
|
||||
if (!Guid.TryParse(aResponse.SenderReference, out messageId))
|
||||
{
|
||||
case dbh.response.RootType.VISIT:
|
||||
_log.WarnFormat("SenderReference {0} is not a guid, skipping message processing!", aResponse.SenderReference);
|
||||
return;
|
||||
}
|
||||
DatabaseEntity dbEntity = DBManager.Instance.GetMessageById(messageId);
|
||||
if ((dbEntity != null) && (dbEntity.MessageCore != null))
|
||||
{
|
||||
Message aMessage = null;
|
||||
if (dbEntity.GetType().IsAssignableFrom(typeof(Message)))
|
||||
aMessage = (Message)dbEntity;
|
||||
else
|
||||
aMessage = dbEntity.MessageHeader;
|
||||
|
||||
break;
|
||||
case dbh.response.RootType.TRANSIT:
|
||||
switch (aResponse.Type)
|
||||
{
|
||||
case dbh.response.RootType.VISIT:
|
||||
// neue VISIT - ID
|
||||
aMessage.MessageCore.VisitId = aResponse.VisitId;
|
||||
|
||||
break;
|
||||
case dbh.response.RootType.CANCEL:
|
||||
break;
|
||||
case dbh.response.RootType.TRANSIT:
|
||||
aMessage.MessageCore.TransitId = aResponse.TransitId;
|
||||
|
||||
break;
|
||||
case dbh.response.RootType.RESET:
|
||||
break;
|
||||
case dbh.response.RootType.CANCEL:
|
||||
|
||||
break;
|
||||
case dbh.response.RootType.DATA:
|
||||
break;
|
||||
case dbh.response.RootType.RESET:
|
||||
|
||||
break;
|
||||
break;
|
||||
case dbh.response.RootType.DATA:
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
//aMessage.Status = Message.MessageStatus.
|
||||
aMessage.InternalStatus = Message.BSMDStatus.RESPONDED;
|
||||
DBManager.Instance.Save(aMessage);
|
||||
}
|
||||
else
|
||||
{
|
||||
_log.ErrorFormat("no entry found in DB for sender reference {0}", messageId);
|
||||
}
|
||||
DBManager.Instance.Disconnect();
|
||||
}
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<value>https://edi-gate.dbh.de/test/bsmd-soap</value>
|
||||
</setting>
|
||||
<setting name="Sender" serializeAs="String">
|
||||
<value>00007009</value>
|
||||
<value>00003050</value>
|
||||
</setting>
|
||||
</bsmd.dbh.Properties.Settings>
|
||||
</userSettings>
|
||||
|
||||
@ -60,7 +60,7 @@
|
||||
<Link>Properties\AssemblyProjectKeyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="NSWRequest.cs" />
|
||||
<Compile Include="NSWResponse.cs" />
|
||||
<Compile Include="NSWResponse.designer.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
|
||||
22
nsw/Source/bsmd.dbh/log4net.config
Normal file
22
nsw/Source/bsmd.dbh/log4net.config
Normal file
@ -0,0 +1,22 @@
|
||||
<configuration>
|
||||
<configSections>
|
||||
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
|
||||
</configSections>
|
||||
<log4net>
|
||||
<root>
|
||||
<level value="DEBUG" />
|
||||
<appender-ref ref="LogFileAppender" />
|
||||
</root>
|
||||
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
|
||||
<param name="File" value="E:\Temp\dbh.Response.log" />
|
||||
<param name="AppendToFile" value="true" />
|
||||
<rollingStyle value="Size" />
|
||||
<maxSizeRollBackups value="10" />
|
||||
<maximumFileSize value="10MB" />
|
||||
<staticLogFileName value="true" />
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" />
|
||||
</layout>
|
||||
</appender>
|
||||
</log4net>
|
||||
</configuration>
|
||||
Binary file not shown.
BIN
nsw/dakosy/XML EDI Response_en.pdf
Normal file
BIN
nsw/dakosy/XML EDI Response_en.pdf
Normal file
Binary file not shown.
Binary file not shown.
BIN
nsw/dakosy/XML Request ID_en.pdf
Normal file
BIN
nsw/dakosy/XML Request ID_en.pdf
Normal file
Binary file not shown.
Binary file not shown.
BIN
nsw/dakosy/XML Visit_en.pdf
Normal file
BIN
nsw/dakosy/XML Visit_en.pdf
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user