Aktueller Stand 10.6.15
This commit is contained in:
parent
f4b3d3caf0
commit
8de5ee810d
Binary file not shown.
18
nsw/Source/CrewPasCSVTool/App.config
Normal file
18
nsw/Source/CrewPasCSVTool/App.config
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<configuration>
|
||||||
|
<configSections>
|
||||||
|
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||||
|
<section name="CrewPasCSVTool.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||||
|
</sectionGroup>
|
||||||
|
</configSections>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
||||||
|
</startup>
|
||||||
|
<applicationSettings>
|
||||||
|
<CrewPasCSVTool.Properties.Settings>
|
||||||
|
<setting name="ConnectionString" serializeAs="String">
|
||||||
|
<value>Initial Catalog=nsw;Data Source=192.168.2.5\SQLEXPRESS;Uid=dfuser;pwd=dfpasswd;Persist Security Info=False;Connection Reset=false</value>
|
||||||
|
</setting>
|
||||||
|
</CrewPasCSVTool.Properties.Settings>
|
||||||
|
</applicationSettings>
|
||||||
|
</configuration>
|
||||||
94
nsw/Source/CrewPasCSVTool/CrewPasCSVTool.csproj
Normal file
94
nsw/Source/CrewPasCSVTool/CrewPasCSVTool.csproj
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{85E16280-B3FF-412D-A40D-3107BA7366DD}</ProjectGuid>
|
||||||
|
<OutputType>WinExe</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>CrewPasCSVTool</RootNamespace>
|
||||||
|
<AssemblyName>CrewPasCSVTool</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Deployment" />
|
||||||
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.Windows.Forms" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Form1.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Form1.Designer.cs">
|
||||||
|
<DependentUpon>Form1.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Program.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<EmbeddedResource Include="Form1.resx">
|
||||||
|
<DependentUpon>Form1.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Properties\Resources.resx">
|
||||||
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<Compile Include="Properties\Resources.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<None Include="Properties\Settings.settings">
|
||||||
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
|
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||||
|
</None>
|
||||||
|
<Compile Include="Properties\Settings.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Settings.settings</DependentUpon>
|
||||||
|
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.config" />
|
||||||
|
</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.
|
||||||
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
<Target Name="BeforeBuild">
|
||||||
|
</Target>
|
||||||
|
<Target Name="AfterBuild">
|
||||||
|
</Target>
|
||||||
|
-->
|
||||||
|
</Project>
|
||||||
28
nsw/Source/CrewPasCSVTool/CrewPasCSVTool.sln
Normal file
28
nsw/Source/CrewPasCSVTool/CrewPasCSVTool.sln
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio 2013
|
||||||
|
VisualStudioVersion = 12.0.21005.1
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CrewPasCSVTool", "CrewPasCSVTool.csproj", "{85E16280-B3FF-412D-A40D-3107BA7366DD}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "bsmd.database", "..\bsmd.database\bsmd.database.csproj", "{19945AF2-379B-46A5-B27A-303B5EC1D557}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{85E16280-B3FF-412D-A40D-3107BA7366DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{85E16280-B3FF-412D-A40D-3107BA7366DD}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{85E16280-B3FF-412D-A40D-3107BA7366DD}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{85E16280-B3FF-412D-A40D-3107BA7366DD}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{19945AF2-379B-46A5-B27A-303B5EC1D557}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{19945AF2-379B-46A5-B27A-303B5EC1D557}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{19945AF2-379B-46A5-B27A-303B5EC1D557}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{19945AF2-379B-46A5-B27A-303B5EC1D557}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
116
nsw/Source/CrewPasCSVTool/Form1.Designer.cs
generated
Normal file
116
nsw/Source/CrewPasCSVTool/Form1.Designer.cs
generated
Normal file
@ -0,0 +1,116 @@
|
|||||||
|
namespace CrewPasCSVTool
|
||||||
|
{
|
||||||
|
partial class Form1
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Required designer variable.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Clean up any resources being used.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form Designer generated code
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Required method for Designer support - do not modify
|
||||||
|
/// the contents of this method with the code editor.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
|
||||||
|
this.listBoxMessageCore = new System.Windows.Forms.ListBox();
|
||||||
|
this.buttonCrew = new System.Windows.Forms.Button();
|
||||||
|
this.buttonPas = new System.Windows.Forms.Button();
|
||||||
|
this.comboBoxStatus = new System.Windows.Forms.ComboBox();
|
||||||
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// listBoxMessageCore
|
||||||
|
//
|
||||||
|
this.listBoxMessageCore.FormattingEnabled = true;
|
||||||
|
this.listBoxMessageCore.Location = new System.Drawing.Point(12, 52);
|
||||||
|
this.listBoxMessageCore.Name = "listBoxMessageCore";
|
||||||
|
this.listBoxMessageCore.Size = new System.Drawing.Size(231, 134);
|
||||||
|
this.listBoxMessageCore.TabIndex = 0;
|
||||||
|
this.listBoxMessageCore.SelectedIndexChanged += new System.EventHandler(this.listBoxMessageCore_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// buttonCrew
|
||||||
|
//
|
||||||
|
this.buttonCrew.Enabled = false;
|
||||||
|
this.buttonCrew.Location = new System.Drawing.Point(249, 52);
|
||||||
|
this.buttonCrew.Name = "buttonCrew";
|
||||||
|
this.buttonCrew.Size = new System.Drawing.Size(98, 23);
|
||||||
|
this.buttonCrew.TabIndex = 1;
|
||||||
|
this.buttonCrew.Text = "Crew";
|
||||||
|
this.buttonCrew.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonCrew.Click += new System.EventHandler(this.buttonCrew_Click);
|
||||||
|
//
|
||||||
|
// buttonPas
|
||||||
|
//
|
||||||
|
this.buttonPas.Enabled = false;
|
||||||
|
this.buttonPas.Location = new System.Drawing.Point(249, 81);
|
||||||
|
this.buttonPas.Name = "buttonPas";
|
||||||
|
this.buttonPas.Size = new System.Drawing.Size(98, 23);
|
||||||
|
this.buttonPas.TabIndex = 2;
|
||||||
|
this.buttonPas.Text = "Passenger";
|
||||||
|
this.buttonPas.UseVisualStyleBackColor = true;
|
||||||
|
this.buttonPas.Click += new System.EventHandler(this.buttonPas_Click);
|
||||||
|
//
|
||||||
|
// comboBoxStatus
|
||||||
|
//
|
||||||
|
this.comboBoxStatus.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.comboBoxStatus.FormattingEnabled = true;
|
||||||
|
this.comboBoxStatus.Location = new System.Drawing.Point(12, 25);
|
||||||
|
this.comboBoxStatus.Name = "comboBoxStatus";
|
||||||
|
this.comboBoxStatus.Size = new System.Drawing.Size(180, 21);
|
||||||
|
this.comboBoxStatus.TabIndex = 3;
|
||||||
|
this.comboBoxStatus.SelectedIndexChanged += new System.EventHandler(this.comboBoxStatus_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
this.label1.AutoSize = true;
|
||||||
|
this.label1.Location = new System.Drawing.Point(12, 9);
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
this.label1.Size = new System.Drawing.Size(101, 13);
|
||||||
|
this.label1.TabIndex = 4;
|
||||||
|
this.label1.Text = "Status Schiffsanlauf";
|
||||||
|
//
|
||||||
|
// Form1
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(356, 195);
|
||||||
|
this.Controls.Add(this.label1);
|
||||||
|
this.Controls.Add(this.comboBoxStatus);
|
||||||
|
this.Controls.Add(this.buttonPas);
|
||||||
|
this.Controls.Add(this.buttonCrew);
|
||||||
|
this.Controls.Add(this.listBoxMessageCore);
|
||||||
|
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||||
|
this.Name = "Form1";
|
||||||
|
this.Text = "CSV Listen";
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.ListBox listBoxMessageCore;
|
||||||
|
private System.Windows.Forms.Button buttonCrew;
|
||||||
|
private System.Windows.Forms.Button buttonPas;
|
||||||
|
private System.Windows.Forms.ComboBox comboBoxStatus;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
186
nsw/Source/CrewPasCSVTool/Form1.cs
Normal file
186
nsw/Source/CrewPasCSVTool/Form1.cs
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
|
using bsmd.database;
|
||||||
|
|
||||||
|
namespace CrewPasCSVTool
|
||||||
|
{
|
||||||
|
public partial class Form1 : Form
|
||||||
|
{
|
||||||
|
|
||||||
|
bsmd.database.Message selectedCrewMessage = null;
|
||||||
|
bsmd.database.Message selectedPasMessage = null;
|
||||||
|
|
||||||
|
public Form1()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnLoad(EventArgs e)
|
||||||
|
{
|
||||||
|
base.OnLoad(e);
|
||||||
|
if (!DBManager.Instance.Connect(Properties.Settings.Default.ConnectionString))
|
||||||
|
{
|
||||||
|
MessageBox.Show("cannot connect to SMSPLASH01!");
|
||||||
|
this.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.comboBoxStatus.DataSource = Enum.GetValues(typeof(MessageCore.BSMDStatus));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void OnClosing(CancelEventArgs e)
|
||||||
|
{
|
||||||
|
base.OnClosing(e);
|
||||||
|
DBManager.Instance.Disconnect();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void comboBoxStatus_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
MessageCore.BSMDStatus status;
|
||||||
|
Enum.TryParse<MessageCore.BSMDStatus>(comboBoxStatus.SelectedValue.ToString(), out status);
|
||||||
|
|
||||||
|
this.listBoxMessageCore.DataSource = DBManager.Instance.GetMessageCoresByStatus(status);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void listBoxMessageCore_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
this.selectedCrewMessage = null;
|
||||||
|
this.selectedPasMessage = null;
|
||||||
|
Cursor currentCursor = this.Cursor;
|
||||||
|
this.Cursor = Cursors.WaitCursor;
|
||||||
|
MessageCore selectedCore = this.listBoxMessageCore.SelectedValue as MessageCore;
|
||||||
|
if (selectedCore != null)
|
||||||
|
{
|
||||||
|
List<bsmd.database.Message> messages = DBManager.Instance.GetMessagesForCore(selectedCore);
|
||||||
|
foreach (bsmd.database.Message message in messages)
|
||||||
|
{
|
||||||
|
if (message.MessageNotificationClass == bsmd.database.Message.NotificationClass.CREW)
|
||||||
|
this.selectedCrewMessage = message;
|
||||||
|
if (message.MessageNotificationClass == bsmd.database.Message.NotificationClass.PAS)
|
||||||
|
this.selectedPasMessage = message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.buttonCrew.Enabled = this.selectedCrewMessage != null;
|
||||||
|
this.buttonPas.Enabled = this.selectedPasMessage != null;
|
||||||
|
this.Cursor = currentCursor;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void buttonCrew_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (this.selectedCrewMessage != null)
|
||||||
|
{
|
||||||
|
using (SaveFileDialog ofd = new SaveFileDialog())
|
||||||
|
{
|
||||||
|
ofd.Filter = "CSV files (*.csv)|*.csv|All files (*.*)|*.*";
|
||||||
|
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||||
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
foreach (CREW crew in this.selectedCrewMessage.Elements)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
string dateOfBirth = "";
|
||||||
|
if(crew.CrewMemberDateOfBirth.HasValue)
|
||||||
|
dateOfBirth = crew.CrewMemberDateOfBirth.Value.ToString("yyyy-MM-dd");
|
||||||
|
|
||||||
|
sb.AppendLine(string.Format("{0};{1};{2};{3};{4};{5};{6};{7};{8};{9}",
|
||||||
|
crew.CrewMemberLastName ?? "",
|
||||||
|
crew.CrewMemberFirstName ?? "",
|
||||||
|
this.GetGender(crew.CrewMemberGender),
|
||||||
|
crew.CrewMemberNationality ?? "",
|
||||||
|
crew.CrewMemberDuty ?? "",
|
||||||
|
crew.CrewMemberPlaceOfBirth ?? "",
|
||||||
|
dateOfBirth,
|
||||||
|
this.GetDocumentType(crew.CrewMemberIdentityDocumentType),
|
||||||
|
crew.CrewMemberIdentityDocumentId ?? "",
|
||||||
|
crew.CrewMemberVisaNumber ?? ""));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
File.WriteAllText(ofd.FileName, sb.ToString(), Encoding.UTF8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void buttonPas_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (this.selectedPasMessage != null)
|
||||||
|
{
|
||||||
|
using (SaveFileDialog ofd = new SaveFileDialog())
|
||||||
|
{
|
||||||
|
ofd.Filter = "CSV files (*.csv)|*.csv|All files (*.*)|*.*";
|
||||||
|
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||||
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
foreach (PAS pas in this.selectedPasMessage.Elements)
|
||||||
|
{
|
||||||
|
|
||||||
|
string dateOfBirth = "";
|
||||||
|
if(pas.PassengerDateOfBirth.HasValue)
|
||||||
|
dateOfBirth = pas.PassengerDateOfBirth.Value.ToString("yyyy-MM-dd");
|
||||||
|
|
||||||
|
sb.AppendLine(string.Format("{0};{1};{2};{3};{4};{5};{6};{7};{8};{9};{10};{11}",
|
||||||
|
pas.PassengerLastName ?? "",
|
||||||
|
pas.PassengerFirstName ?? "",
|
||||||
|
this.GetGender(pas.PassengerGender),
|
||||||
|
pas.PassengerNationality ?? "",
|
||||||
|
pas.PassengerPortOfEmbarkation ?? "",
|
||||||
|
pas.PassengerPortOfDisembarkation ?? "",
|
||||||
|
(pas.PassengerInTransit ?? false) ? "Y" : "N",
|
||||||
|
pas.PassengerPlaceOfBirth ?? "",
|
||||||
|
dateOfBirth,
|
||||||
|
this.GetDocumentType(pas.PassengerIdentityDocumentType),
|
||||||
|
pas.PassengerIdentityDocumentId ?? "",
|
||||||
|
pas.PassengerVisaNumber ?? ""));
|
||||||
|
}
|
||||||
|
|
||||||
|
File.WriteAllText(ofd.FileName, sb.ToString(), Encoding.UTF8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetDocumentType(byte? type)
|
||||||
|
{
|
||||||
|
string documentType = "";
|
||||||
|
if (type.HasValue)
|
||||||
|
{
|
||||||
|
switch (type.Value)
|
||||||
|
{
|
||||||
|
case 0: documentType = "IDENTITY_CARD"; break;
|
||||||
|
case 1: documentType = "PASSPORT"; break;
|
||||||
|
case 2: documentType = "MUSTER_BOOK"; break;
|
||||||
|
case 3: documentType = "PICTURE_ID"; break;
|
||||||
|
case 4: documentType = "RESIDENTAL_PERMIT"; break;
|
||||||
|
default: documentType = "OTHER_LEGAL_IDENTITY_DOCUMENT"; break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return documentType;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetGender(byte? gender)
|
||||||
|
{
|
||||||
|
string genders = "";
|
||||||
|
if (gender.HasValue)
|
||||||
|
{
|
||||||
|
if (gender == 0) genders = "MALE";
|
||||||
|
if (gender == 1) genders = "FEMALE";
|
||||||
|
if (gender == 2) genders = "OTHER";
|
||||||
|
}
|
||||||
|
return genders;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
570
nsw/Source/CrewPasCSVTool/Form1.resx
Normal file
570
nsw/Source/CrewPasCSVTool/Form1.resx
Normal file
@ -0,0 +1,570 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
|
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>
|
||||||
|
AAABAAgAEBAAAAEACABoBQAAhgAAABAQAAABACAAaAQAAO4FAAAYGAAAAQAIAMgGAABWCgAAGBgAAAEA
|
||||||
|
IACICQAAHhEAACAgAAABAAgAqAgAAKYaAAAgIAAAAQAgAKgQAABOIwAAMDAAAAEACACoDgAA9jMAADAw
|
||||||
|
AAABACAAqCUAAJ5CAAAoAAAAEAAAACAAAAABAAgAAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//
|
||||||
|
/wAmdecAyXsrAInP/wAWHJwA6b19AHCZrQDO1scArIZ2AABsowCYQSgATK33AAtC0ABCQ6EAvUYCAD6V
|
||||||
|
xgAAksUAZWWpAG6i3QAAG8QATYWiACWDrACsYzEAZ8X2AKfh/wAkOrAAQZDsAMhfFACqUxcAHVrUADKb
|
||||||
|
/wAAgLIAAl6PABAprwCum34AIE3EAGe16QAWhLoAE3ynAFKSsABdtfkAKoPyALlrKACX2f8AQpC0ADFE
|
||||||
|
rwC4XRMAWqzsACNo3gDPbBEAp0oMAL5oGgBtbbEAgcX7AHLL+QBSuP8AFkbHAEOq/wBou/0AC2+fAA2D
|
||||||
|
sgAqNacArYFsAGC88QAXJqgAAGeaABhS0AC5YisAABi7AG/B/wAiVc8AGIWyAJDT/wAQcaUAIWvlAKLc
|
||||||
|
/wBiuP8AQUGbAABjkgCAyf8AEyyyACBk3gAjbOEASYakABQqrgBpvv8AG1LQAACBtAAsg/EAitD/AAB/
|
||||||
|
sgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAADhpRVT4SAAAAAAAAAAAAIldTMR45RQscRD8AAAAAAC4CWSpLQxQrLwMdAAAAAAAAUh8kTg0F
|
||||||
|
MgY0FwAAAAAAADVHGylBMyMIDwkAAAAAAAAAQEZWDCE6OBMAAAAAAAAAADsEUE0KWkkYAAAAAAAAAC1C
|
||||||
|
GSwwTzZMNwAAAAAAAAAoERAlSlhbICYAAAAAAAAAABYnPBVUPUgHAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAD//wAA//8AAP//AAD//wAA8D8AAOADAADgAwAA8AMAAPADAAD4BwAA+AcAAPAH
|
||||||
|
AADwBwAA+AcAAP//AAD//wAAKAAAABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
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
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A/AP/APAAPwDwAAcA8AAHAPAA
|
||||||
|
BwD4AAcA/AAPAP4AHwD+AB8A/gAfAPwADwD8AA8A/AAfAPwAHwD+BD8A////AP///wD///8A////AP//
|
||||||
|
/wAoAAAAGAAAADAAAAABACAAAAAAAGAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKgtAACWfQAAmrYEDaHcBRGm7gYRpu4CCqHbAACXrgAA
|
||||||
|
lGMAALYIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEC
|
||||||
|
rcEMJ7f+CBeq/x9h2v8fX9n/HlzX/xxU0f8ZSsr/FD7E/wgZqf8AAKjbkCsTe64zAHuoMgBsqDQARMQg
|
||||||
|
AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYSpeofXNf/HlnU/yJp4P8ibN//IWfd/x5e
|
||||||
|
2P8aUtD/FkPG/xA0vP8ADbf/nFEt/8BpHP+5ZB3/r1YU/6RCB+2oMwBnAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAmLciZdz/I2zh/yZ46P8ofe3/KHjq/yRt4v8dXtj/GUvM/xI+wv8ABrb/yXQk/81+
|
||||||
|
Kv/LfCr/xnUo/8JxJv+hQAfxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAll0XSMv/KHjp/yyF
|
||||||
|
8v8xlPz/LY/7/xxk4P8bXdr/GVPR/xBAyv8JCpr/1ncR/6dLFP+kRxL/xnYm/8Z4Kv+fPAbWAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATQMAAqTCJ3Pn/y+Q+f8vk/3/DxGa/2JNif8tHov/E0vQ/wAk
|
||||||
|
yP93RlX/rkgD//vkpf/dsHb/t1wU/8t9Lf+WLQCbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAALcRAACpthQ/x/4USc3/Qo7m/1Wu+f9JftT/AAes/00dXv/fagD/5JdT///6uP/xwYX/vmAO/7BR
|
||||||
|
EPikLgAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABxa5n9Jr///Ybj//1y2
|
||||||
|
//9Ttf//MpL+yWw+F9MTX3v/HYbT/zWj//9Fme3/kDsQ5LUoAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD6y/8dxwf//bb3//227//9ouv//TK3//gB0sv4Aa6L/a8D//22+
|
||||||
|
//9rwf//Man/3iGT/wYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHOyPU6v
|
||||||
|
//iAy///fsf//3zG//90wf//ZLj//wyDzv8dfLX/fsn//4DJ//+Dyv//YLb//zKu/0QAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHatxxV1q/9yvfD/lNb//4vO//9+yf//cMD//wBu
|
||||||
|
qf8Ze7L/i9L//5XV//+X1///dML//zCm/2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAH+34wB/sv8ee6z/quX//5TV//+Fzv//YbLz/wBllf8AbJ7/dLv0/5vZ//+Q0fv/eMP//zau
|
||||||
|
/1wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHq2ywCYy/8AbaD/gcTy/5vb
|
||||||
|
//+Izv//E3Op/wBvov8AjcD/AHGk/wBsoP8AcaT/AGyf/w9/zUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAHKocwCPwP8AmMv/AHOm/wBrnf8Aapz/AGib/gBsnusAjcD/AJnM/wCh
|
||||||
|
1P8AodT/AHuu+AB8tSoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFzFAwBl
|
||||||
|
k4oAcKPZAG2f0ABvo+kAa57XAGOWYABnlhsAY5iiAHCj5QBypuUAZZmzAG6oOgAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
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
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApCQAAJViAACUlwAAlb4AAJLaAACT5wAAkuoAAJLeAACWyAAA
|
||||||
|
lp4AAJplAACiGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAACjDgAAqm8AAKTPAACc/gYQpP8SN73/FkXH/xpPzv8aUtD/Gk/O/xdH
|
||||||
|
yf8SOL//Cyaz/wYSpv8BAJ36AACrowAAvRsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJnpCBqr/xVBxf8WQcT/CR6t/x9h2f8eXdf/HlzX/xxY
|
||||||
|
1P8cVNH/Gk7N/xZIyP8VQcX/Ezq//w0qtP8AAJr/AACn6p8xBqqtNQCsqzYAqqk1AJmqNgB5rTYARZYi
|
||||||
|
AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlesaUM//GlPR/xxW0v8ZTc3/IWbe/yFl
|
||||||
|
3v8hZdz/IGLc/x5d1/8cVtL/GU7N/xZFx/8TO8L/EDG5/wkhr/8AAK7/oU0g/7hdFv+0XBn/sFcV/6pN
|
||||||
|
D/+iPgf/mzAA7as5AIKfHAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACTxBdGyP8dWtb/IGLa/yNr
|
||||||
|
4P8lb+L/JXHk/yVy5P8kbuP/IWjd/x9g2P8cVdL/GEvL/xVBxP8RN73/EDK6/wAAqv/DbiD/xHAj/8Ny
|
||||||
|
Jv/CcSf/wnAl/79tI/+6Zh//pUUK/5gyAMUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJWJDzG5/yFj
|
||||||
|
2/8hZ9//JXLl/yd56v8pfu3/KX3t/yd46P8kcOP/IWfe/x5b1v8aUtD/FkfH/xQ7wf8OMb3/AACe/92A
|
||||||
|
GP/JfCv/zYEv/8yAL//HeSn/wXEm/75sIv++ayH/li8A6QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
qTUDB6L+JG7i/yRu4v8oeOj/KoLw/y6K9P8sifX/LITx/yp+7f8mdOb/IWbd/xxW0v8XSsn/E0DE/wYk
|
||||||
|
uf8nFH//34wk/7NXFP+RJAD/lSoA/8FuJP/Jeyz/wnIk/7xoH/+VLADRAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAApLsXRcj/J3fp/yl97P8sh/P/Mpb8/zKb//8ogvD/CzLB/wEdtP8MM7//HVzX/xlM
|
||||||
|
zP8WRMb/AAav/4BNVP+/YhD/oEEP/+7Igv/bp2b/ly4A/9CFMv/Hdyr/t14b/5UtAKYAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAC4JQAAmfAhZ93/K4Pw/yyI8/8xl/3/Im/l/wAAif9VR4//eG6U/ycc
|
||||||
|
j/8KKbj/GlLQ/wsywf8AAJb/3ook/5AiAP/uzI7/8taY//rkpv+OIAD/04sz/8t+Lf+pSw7/mTMAZAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACzQAAAl+8aT87/L474/yuB7/8AAJH/ZInC/3eu
|
||||||
|
1/+KtND/eHWi/wAPqf8NPMj/AACl/6xmOP+9Xg//tWEs//3nrP/23qf///O9/48fAP/Ujjf/xncp/5ow
|
||||||
|
AOugJAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+JAAAoLUAAJf9G1PT/zOh
|
||||||
|
//8+p///P6T//zeh//8tnf//DTfE/gwAc/ijPxH/6H8W/6k3AP/esXj/8ui8/+Xjxf///sX/mh4A/9GF
|
||||||
|
Lv+gNwL8tjkAVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACd4
|
||||||
|
+Xg6p///XrX//1+0//9ftP//XbP//1mz//82pv/+S4/VY3g3Dc8cXn3/AGKg/wBxxf8il///IZT//yCY
|
||||||
|
//9nW23/qiMA6bY3AFYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAA1v8DNJz/4WG1//9ouv//aLr//2a6//9lt///YbX//1Ww//8olv/wAGWY/gBvpv8AZpz/XrX//2e5
|
||||||
|
//9puv//Zbv//zSm//8uq/98AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAADmp/zY+oP//cb7//2++//9xv///cr///229//9ou///aLr//z+h//8EerL/AGqa/zOO
|
||||||
|
zf9wwP//b77//3G///90wf//cL///zGa//M4rf8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAaLARHonhjlCt//96xf//esT//33H//97xf//eMT//3K///9tvf//Sqj//xCE
|
||||||
|
y/8AY5L/TqTl/3fE//96xP//f8f//4DH//9/x///Saf//zWu/1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0qnYAXYv/T6jy/4zS//+Fzf//h8z//4bN//+ByP//ecP//3PB
|
||||||
|
//9Urv//DoLJ/wBllf9UqOb/fsn//4TM//+N0P//jNH//4bM//9asP//M6r/gQAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHGssABwo/8BZJb/Gnmr/5na//+T1f//kNL//4fO
|
||||||
|
//9+yP//ecT//0yn9P8AX43/AHCi/z6Uz/+Gzv//i8///5nY//+W1///jM///2G2//8zqf+NAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcKvGAIa5/wB8r/8AXZD/hMj2/6Dd
|
||||||
|
//+X1///jM7//4DJ//99yf//Mo7N/wBik/8AgrX/AWOW/4jR//+U2f//n97//53e//+V1///Yrj//zWs
|
||||||
|
/4MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwqr0Aibz/AJLF/wBx
|
||||||
|
pf9Im8v/oN///5LV//+Jzv//gsv//3/L//8AZJb/AGmb/wCLvv8Adqn/BmWY/zGGu/8gea3/F3Km/x95
|
||||||
|
qv8sjdn/PLL/VAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG+qkACC
|
||||||
|
tf8AlMf/AI7B/wBbj/9wuer/kdX//5PX//98xP//Gnmv/wBhlP8AcqX/AIu+/wCOwf8Ai77/AIG0/wCJ
|
||||||
|
vP8AjcD/AIe6/wBqmv8AbKFeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAebc4AG2g/gCcz/8Alcj/AIm8/wBkl/8AW47/AFuO/wBdkP8Ab6H/AGmc/gBrnv4Ai77/AI/C/wCU
|
||||||
|
x/8AmMv/AJzP/wCd0P8AnM//AHGl/gB4uEoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAd6eXAHWn/gCPwv8AjsH/AIe6/wCKvf8AiLr/AH6x/wBunP4AcJKaAG+idgBq
|
||||||
|
nfoAf7L/AJLF/wCZzP8Alsn/AIe6/wBsoP0Ad7aKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiwIAbppnAGOWvgBhlsYAY5WxAGKV1gBil+IAZZjDAG6LZQAA
|
||||||
|
/wEAAAAAAG6jMABilp8AYpXXAF+S4gBgk88AYpWaAHGqNwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///////////////////////////gB///AA
|
||||||
|
H//gAAB/4AAAD+AAAAfgAAAH8AAAB/AAAAf4AAAH/AAAD/4AAA//AAAf/wAAP/8AAD/+AAAf/AAAH/wA
|
||||||
|
AB/8AAAf/AAAH/wAAB/+AAA//gAAP/8A4P//////////////////////KAAAADAAAABgAAAAAQAIAAAA
|
||||||
|
AACACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A6H8WAACd0AAAAKUAWzNeAH7I/wCPIAAA7caBAABe
|
||||||
|
jABuhbsApJaLABpU0QA/of8ArF06AM/NyABCQp4ALoGoADYddgCgtc8Agk0rANadWgB4bpQADSq1AKpN
|
||||||
|
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
|
||||||
|
AAAABwAA+AAAAAAHAAD4AAAAAA8AAPwAAAAADwAA/gAAAAAfAAD/gAAAAD8AAP/gAcAAfwAA/+AB4AD/
|
||||||
|
AAD/wAHAAP8AAP+AAIAAfwAA/4AAAAA/AAD/gAAAAD8AAP+AAAAAPwAA/gAAAAAfAAD+AAAAAB8AAPwA
|
||||||
|
AAAAHwAA/AAAAAAfAAD8AAAAAB8AAPwAAAAAHwAA/AAAAAA/AAD8AAAAAD8AAPwAAAAAHwAA/gAAQAA/
|
||||||
|
AAD+AABAAD8AAP8AAOAAfwAA/4AB+AH/AAD/wAP/D/8AAP///////wAA////////AAD///////8AAP//
|
||||||
|
/////wAA////////AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAigIACK4eAAisPwAHqGIABKZ3AACggwAAoooAAKCIAACjfgAA
|
||||||
|
o24AAKRaAAChNgAArA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAC+AwoeuTgIG7V8BhizugYTqesGEaX9BxWn/wgZqf8JHaz/CR2s/wkc
|
||||||
|
rP8IGqr/Bxao/wUQpP8DCp//AQGa/gAAmPkAAKDRAACgjQAAnDsAAP8BAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ozCoNKLuQCySx5Awlsf8NLLb/EzvB/xdIyf8bUc//GlLQ/xlP
|
||||||
|
zv8ZTcz/GEvL/xdIyf8WQ8X/FUHE/xM8wv8SOb//ETS8/w4qtv8IHKz/BA2i/wABmf4AAJXUAACgWwAA
|
||||||
|
jAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQM8hEEDDCuw8tuPwSOb//GErK/xxX0v8PLrf/G1TR/x1X
|
||||||
|
0/8bVdL/G1TR/xpS0P8aUM7/GU3M/xhKyv8WRsj/FUPF/xQ+w/8SOsD/ETa9/w8yu/8OLbf/DSm0/wsk
|
||||||
|
sP8CCJ7/AACZ/gAAoLxYF0swpTUARJ8zAF2kNgBpozUAaaM2AGmjMwBipDQATqAwADGsOgAPAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQNLv2FUHE/xtT0f8dWdX/HlrV/x5e
|
||||||
|
1/8PL7j/GlLQ/x5d1v8eW9b/HVrV/xxY1P8cVtL/G1LQ/xlPzv8YS8v/F0fI/xVDxv8UPsP/Ejq//xE1
|
||||||
|
vP8PMLn/DSy1/w0ns/8EC6H/Awyg/wEHoP8UBoX+oTgA/587BP+hPwf/oj8I/6JBCP+gPQf/njkD/5kz
|
||||||
|
AP6YMgD5oTMA2qE0AJ2hNQBWrDkACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASO8HrG1LQ/x5a
|
||||||
|
1f8eXNj/H1/Y/x9j2v8YScr/HVrV/yBj3P8gYtr/H2DZ/x5e1/8dW9b/HFjT/xtU0f8aUM7/GEzL/xdH
|
||||||
|
yP8VQsX/FD3C/xI4vv8QM7v/Di63/w0ptf8GFKf/BRKl/wYWqP8AAJj/vWIV/7hhG/+4Yxz/uWQd/7tm
|
||||||
|
H/+6Zh7/u2cf/7tmH/+3YRz/r1QU/6ZGDP+cNwL/mjEA7KI2AIeoMgARAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAVQMTMHFTQ/yBg2f8gYtr/IWXc/yFn3f8jad//Imrg/yJq3/8iaN7/IWbd/yBj2/8fYNn/Hl3X/x1Z
|
||||||
|
1P8bVdH/GlDO/xhLy/8WRsj/FUHE/xM8wf8RNr3/DzG5/w4rt/8MJ7P/CyGv/wUUp/8LBJH/w2YV/7lk
|
||||||
|
Hf+7Zh//vGgg/71pIP+9aiH/vWsh/71pIP+9aSH/u2cf/7plHv+5ZB3/p0gN/5gzAP+ZMgDfpDQAKQAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAXSMqlG1TR/yBl3P8iZ97/I2rg/yNt4f8kbuL/JG/j/yRv4/8kbuL/I2zh/yJp
|
||||||
|
3/8hZ93/IGLa/x5d1/8dWdT/G1TR/xlPzf8XScr/FkTG/xQ/w/8SOb//EDO7/w4ut/8MKLT/DCOx/wUT
|
||||||
|
qP8bDoX/xGsY/7xpIP++ayL/wG0j/8FvJP/BbyT/wW8k/8BuJP+/bSP/vmsh/7xoIP+7ZyD/pkUL/6RG
|
||||||
|
Cv+kRAr/mTIApgAAAAAAAAAAAAAAAAAAAAAXTs9rG1XS/yNp3/8jbOH/JHDj/yV05f8mduf/JnXn/yZ1
|
||||||
|
5/8mdOb/JXLl/yRu4v8ja+D/IWbd/yBh2v8eXdf/HFfT/xpS0P8ZTcz/F0fI/xVBxf8TO8H/ETa9/w8w
|
||||||
|
uf8NKrX/CyWy/wIQp/84HnT/xm8d/8BtI//CcCX/w3Mm/8R0J//FdSj/xnYo/8R0J//Dcib/wXAk/79t
|
||||||
|
I/++ayH/oDwG/6tOEP+nSQ3/mDEAnQAAAAAAAAAAAAAAAAAAAAAZW9sqHFbT/iRs4f8lcuT/JnXn/yd4
|
||||||
|
6f8oe+v/KHzr/yh76/8oeur/J3fo/yZz5v8kb+P/I2rg/yFl3P8fYNn/HVrV/xtV0v8ZT87/F0nK/xZE
|
||||||
|
xv8UPsL/Eji+/xAyuv8OLLb/DSiz/wAIo/9bM17/x3Eg/8NyJv/FdSn/yHkq/8p9LP/Lfi3/yn0s/8p9
|
||||||
|
LP/HeSr/xHYn/8JxJf/BbiT/r1UU/7ZeG/+kRAr/mDEAhAAAAAAAAAAAAAAAAAAAAAAAAAABHmHkzSJp
|
||||||
|
3/8mduj/KHrq/yl/7f8qgvD/K4Lv/yqD7/8qge7/KXzt/yd46f8mc+b/JG7i/yJq3/8gY9v/Hl3X/xxX
|
||||||
|
0/8aUc//GEvL/xZFx/8UP8P/Ejm//xAzu/8OLbf/DSm1/wAAn/+QUkP/x3Ql/8d2KP/Jeyv/y34t/65T
|
||||||
|
Ev+XLgD/kygA/5s0AP+/bCH/ynsr/8V1KP/CciX/wG0j/79qIf+gPAb/mTMAXwAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAIGfmZCFl3P8oe+r/KX7t/yuD8P8shvL/LYjz/yyJ8/8shfH/KoHv/yh86/8nduj/JXHk/yNs
|
||||||
|
4P8hZtz/H2DZ/x1a1f8bVND/GU7M/xdHyP8VQcT/EzvA/xE1vP8QL7n/CiKx/wAAmv/EcST/xnYo/8h7
|
||||||
|
Kv/NgS7/oT4G/6VIEv/WnVr/5rdu/8WAQf+VLAD/yn0s/8d6Kv/EdCf/wnAl/79qI/+ZMwD+mTAALAAA
|
||||||
|
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
|
||||||
|
//9ftf//YbX//2G1//9Mqf//L5z/+Dir/0sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM6H/bDmd//9bs///YLX//2O3//9nuf//arv//2y8
|
||||||
|
//9uvf//br3//229//9su///arv//0uo//80nP+8AGeZCgBlmcQAaZz/AHKl/wB0p/8AbZ//FXey/1+2
|
||||||
|
//9ftf//Yrb//2W4//9muf//Z7n//2a6//9muf//Uqz//zGZ/+4rrP8ZAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM6D/002p//9gtf//ZLf//2m6
|
||||||
|
//9tvf//cb///3PB//90wf//dsH//3XB//9xwP//b7///2i6//80mf/+CG2psgBnmv8Ac6b/AHWo/wB2
|
||||||
|
qf8AZZf/Ppre/2O3//9luP//abr//2y8//9uvv//b77//269//9tvP//bLz//0Kh//80n/+SAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0qf8bMpn//V2z
|
||||||
|
//9jtv//abr//269//9zwP//d8P//3rF//97xv//e8b//3rF//94w///dMH//3PA//9Bo///FHrD/gBx
|
||||||
|
o/8Adqn/AHap/wB3qv8AYZL/XLL7/2e5//9rvP//cMD//3TB//92wv//d8P//3bC//9zwf//cL///2C2
|
||||||
|
//8xmf/tLov/BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAA3o/9GN5v//2O3//9ouf//bb3//3TA//94xP//fsb//4DJ//+Cyv//hMr//4HJ//9+x///e8X//3bC
|
||||||
|
//9RrP//IIrf/wB1pv8Ad6r/AHir/wB3qv8AZJj/aLz//2y7//9xv///eMP//3vF//9+x///f8j//3/H
|
||||||
|
//96xf//d8L//3TC//82m///M6X/OgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAABtp1Enj+x6PaD//2a3//9qu///cL///3bD//98xv//gsr//4bO//+Jzv//itD//4nN
|
||||||
|
//+Dy///fsf//3rF//9dtP//J5Du/wB2p/8AeKv/AHqt/wB4q/8BZpn/br///3C+//92wv//fMb//4PL
|
||||||
|
//+FzP//iM3//4XM//+Byf//fcb//3jE//9Do///NqP/aQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAHSpGwBmmfoAZZr9O5z4/2i6//9svP//dMD//3nE//+ByP//hs7//43Q
|
||||||
|
//+R1P//ktP//4/R//+Iz///g8r//33H//9muP//K5X4/wB3qP8Aeq3/AH2w/wB7rv8AYZT/bb3//3PB
|
||||||
|
//97xv//gcn//4nN//+O0P//jtP//43Q//+Izf//gMn//3zG//9MqP//NaP/hwAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGykYgBom/8AaZv/IoLG/2y9//9wv///dcL//3vF
|
||||||
|
//+Cy///ic7//5HS//+X1///mNj//5PV//+Lz///hMv//3/I//9ou///H4Xc/wBzpP8Ae67/AH2w/wCB
|
||||||
|
tP8AYZP/W67t/3bD//98xv//hMv//43R//+U1f//l9f//5PV//+Mz///g8r//37I//9Qq///M6H/kwAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGykkgBtoP8AcKP/CWyj/wRq
|
||||||
|
nf8NcKX/d8P//3zG//+Cy///ic7//5HS//+X1///mdj//5PV//+Lz///hMv//3/I//9tvf//Bm2r/wBw
|
||||||
|
ov8AfrH/AH+y/wCCtf8AbJ//NZDK/3nF//9+x///hMv//4zQ//+V1v//mdn//5TU//+L0f//g8v//3/I
|
||||||
|
//9Qq///M6H/kwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuirgBw
|
||||||
|
o/8AeKv/AGea/wB0pv8AaJr/T6Xg/3vG//+Ayf//iM7//4zQ//+S1P//kdP//4/R//+Kzv//gsr//37I
|
||||||
|
//9kt/7/AGCT/wBwo/8Af7L/AICz/wCEt/8AfbD/AmaZ/3PA/v99x///g8v//4rO//+Q0///kdP//5DT
|
||||||
|
//+Kzv//g8n//33H//9LqP//NKP/gwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAGujtwBypf8AfK//AH6x/wCBtP8Ac6b/LY7G/3zH//99x///gsr//4fN//+K0P//is///4jO
|
||||||
|
//+Ey///gMj//33H//9Bmtf/AGOV/wBxpP8AgLP/AIK1/wCEt/8AiLv/AG+h/xN0qf93w/7/hc3//4vR
|
||||||
|
//+Q1P//k9b//5DU//+L0P//hc3//3/J//8+oP//MqH/XgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAGyhrgBypf8AfrH/AH+y/wCDtv8AfrH/BnSo/3rG//94xP//fcf//4LJ
|
||||||
|
//+Dyv//g8z//4PL//9+yf//e8b//3vG//8Pcqj/AGWX/wB0p/8AgbT/AIO2/wCFuP8Aibz/AIq9/wBx
|
||||||
|
pP8AYZP/IHyx/xt5rf8MbaD/AGSX/wBfkv8AYZT/CWue/zeQyf8ulvr7NaX/GwAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG2mkgBxpP8AgLP/AIK1/wCEt/8Ah7r/AHGj/1Cp
|
||||||
|
5v92w///d8P//3rF//98xv//fMb//3vF//94xP//esT//0Wf2f8AaJr/AGmc/wBtoP8Ag7b/AIW4/wCG
|
||||||
|
uf8Aibz/AIy//wCPwv8Aibz/AICz/wCCtf8AiLv/AI3A/wCPwv8AjcD/AIS3/wBvof8AZZf1AGubIAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHCoXABvov8AgbT/AIW4/wCI
|
||||||
|
u/8Air3/AIK1/wh9sf9tvf7/dsL//3jD//94xP//d8T//3fD//95xP//V63p/wBrnf8Adqn/AGib/QBk
|
||||||
|
l+8AeKv/AIW4/wCHuv8Aibz/AIy//wCOwf8AksX/AJTH/wCWyf8Al8r/AJfK/wCWyf8AlMf/AJLF/wCS
|
||||||
|
xf8AbqH/AGqlYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHelGABs
|
||||||
|
ofgAgLP/AIW4/wCIu/8Ai77/AJDD/wCBs/8Gf7L/LpjS/z+h3P9MqeX/VK3q/0im4f8ljcX/AG+h/wB5
|
||||||
|
rP8Ad6r/AGuezABroUsAZZr7AH+y/wCIu/8Ai77/AIy//wCPwv8AkcT/AJTH/wCWyf8Amcz/AJnM/wCY
|
||||||
|
y/8AlMf/AJPG/wCNwP8AZ5r9AGypLwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAB0qqEAd6r/AIi7/wCLvv8AjcD/AJHE/wCUx/8Aj8L/AIi6/wCEt/8Af7L/AHyv/wB6
|
||||||
|
rf8AfbD/AIK1/wCBtP8AcaP+AHWoXgAAAAAAcKpnAGaa+wB9sP8AjcD/AI3A/wCQw/8Ak8b/AJTH/wCY
|
||||||
|
y/8Amcz/AJnM/wCYy/8Alsn/AI7B/wBrnv4AbKOUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/sxsAc6fqAICz/wCLvv8Aj8L/AJHE/wCWyf8Ams3/AJrN/wCY
|
||||||
|
y/8Ak8b/AJHE/wCMv/8AiLv/AIS3/wB3qv8AdaS9AACLAgAAAAAAAAAAAG6pUgBlmewAcaT/AIa5/wCR
|
||||||
|
xP8Ak8b/AJXI/wCXyv8Ams3/AJnM/wCQw/8Aeaz/AGaZ+wBsoI0AQ40EAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhLc2AHir5wB/sv8Aibz/AI/C/wCR
|
||||||
|
xP8AkMP/AJPG/wCUx/8AksX/AI/C/wCKvf8Ag7b/AHir/wB2rb0Af6wSAAAAAAAAAAAAAAAAAAAAAABz
|
||||||
|
rBkAa5+SAGSZ8QBqnf8Ac6b/AHap/wB2qf8AcaT/AGqc/wBkl/YAaqCpAG+pNgAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHq5FwCC
|
||||||
|
uokAhb3TAInA7wCMw+IAkMe5AJDG0ACJvfUAhLf9AIG0/QB+sPYAgbfFAIC6YABbVgMAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAHimDABtpEYAa6BxAGqhfABro3sAbaNkAGqgQABmtwsAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABuqAUAkcQVAIG9FwB5zQcAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP///////wAA////////
|
||||||
|
AAD/+Af///8AAP8AAH///wAA+AAAD///AADgAAAGD/8AAMAAAAAAPwAAwAAAAAAPAADAAAAAAAcAAMAA
|
||||||
|
AAAAAwAAwAAAAAADAADgAAAAAAMAAOAAAAAAAwAA4AAAAAAHAADwAAAAAAcAAPgAAAAABwAA+AAAAAAP
|
||||||
|
AAD8AAAAAA8AAP4AAAAAHwAA/4AAAAA/AAD/4AHAAH8AAP/gAeAA/wAA/8ABwAD/AAD/gACAAH8AAP+A
|
||||||
|
AAAAPwAA/4AAAAA/AAD/gAAAAD8AAP4AAAAAHwAA/gAAAAAfAAD8AAAAAB8AAPwAAAAAHwAA/AAAAAAf
|
||||||
|
AAD8AAAAAB8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAB8AAP4AAEAAPwAA/gAAQAA/AAD/AADgAH8AAP+A
|
||||||
|
AfgB/wAA/8AD/w//AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA
|
||||||
|
</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
||||||
22
nsw/Source/CrewPasCSVTool/Program.cs
Normal file
22
nsw/Source/CrewPasCSVTool/Program.cs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace CrewPasCSVTool
|
||||||
|
{
|
||||||
|
static class Program
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The main entry point for the application.
|
||||||
|
/// </summary>
|
||||||
|
[STAThread]
|
||||||
|
static void Main()
|
||||||
|
{
|
||||||
|
Application.EnableVisualStyles();
|
||||||
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
Application.Run(new Form1());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
36
nsw/Source/CrewPasCSVTool/Properties/AssemblyInfo.cs
Normal file
36
nsw/Source/CrewPasCSVTool/Properties/AssemblyInfo.cs
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
[assembly: AssemblyTitle("CrewPasCSVTool")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("CrewPasCSVTool")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2015")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Setting ComVisible to false makes the types in this assembly not visible
|
||||||
|
// to COM components. If you need to access a type in this assembly from
|
||||||
|
// COM, set the ComVisible attribute to true on that type.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
|
[assembly: Guid("70557623-5070-420b-9113-7c531b549437")]
|
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values:
|
||||||
|
//
|
||||||
|
// Major Version
|
||||||
|
// Minor Version
|
||||||
|
// Build Number
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
|
// by using the '*' as shown below:
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
71
nsw/Source/CrewPasCSVTool/Properties/Resources.Designer.cs
generated
Normal file
71
nsw/Source/CrewPasCSVTool/Properties/Resources.Designer.cs
generated
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.34209
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace CrewPasCSVTool.Properties
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||||
|
/// </summary>
|
||||||
|
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||||
|
// class via a tool like ResGen or Visual Studio.
|
||||||
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
|
// with the /str option, or rebuild your VS project.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
internal class Resources
|
||||||
|
{
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal Resources()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns the cached ResourceManager instance used by this class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Resources.ResourceManager ResourceManager
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if ((resourceMan == null))
|
||||||
|
{
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CrewPasCSVTool.Properties.Resources", typeof(Resources).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Overrides the current thread's CurrentUICulture property for all
|
||||||
|
/// resource lookups using this strongly typed resource class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Globalization.CultureInfo Culture
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
117
nsw/Source/CrewPasCSVTool/Properties/Resources.resx
Normal file
117
nsw/Source/CrewPasCSVTool/Properties/Resources.resx
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
||||||
36
nsw/Source/CrewPasCSVTool/Properties/Settings.Designer.cs
generated
Normal file
36
nsw/Source/CrewPasCSVTool/Properties/Settings.Designer.cs
generated
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.34209
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace CrewPasCSVTool.Properties {
|
||||||
|
|
||||||
|
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
|
||||||
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
|
|
||||||
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
|
|
||||||
|
public static Settings Default {
|
||||||
|
get {
|
||||||
|
return defaultInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("Initial Catalog=nsw;Data Source=192.168.2.5\\SQLEXPRESS;Uid=dfuser;pwd=dfpasswd;Pe" +
|
||||||
|
"rsist Security Info=False;Connection Reset=false")]
|
||||||
|
public string ConnectionString {
|
||||||
|
get {
|
||||||
|
return ((string)(this["ConnectionString"]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
9
nsw/Source/CrewPasCSVTool/Properties/Settings.settings
Normal file
9
nsw/Source/CrewPasCSVTool/Properties/Settings.settings
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="CrewPasCSVTool.Properties" GeneratedClassName="Settings">
|
||||||
|
<Profiles />
|
||||||
|
<Settings>
|
||||||
|
<Setting Name="ConnectionString" Type="System.String" Scope="Application">
|
||||||
|
<Value Profile="(Default)">Initial Catalog=nsw;Data Source=192.168.2.5\SQLEXPRESS;Uid=dfuser;pwd=dfpasswd;Persist Security Info=False;Connection Reset=false</Value>
|
||||||
|
</Setting>
|
||||||
|
</Settings>
|
||||||
|
</SettingsFile>
|
||||||
@ -159,9 +159,6 @@ namespace SendNSWMessageService
|
|||||||
_log.ErrorFormat("SENDING message {0}: {1}", message.Id.ToString(), ex.Message);
|
_log.ErrorFormat("SENDING message {0}: {1}", message.Id.ToString(), ex.Message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DBManager.Instance.Disconnect();
|
DBManager.Instance.Disconnect();
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<configuration>
|
<configuration>
|
||||||
<configSections>
|
<configSections>
|
||||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||||
<section name="bsmd.ReportGenerator.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
<section name="bsmd.ReportGenerator.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||||
</sectionGroup>
|
</sectionGroup>
|
||||||
</configSections>
|
</configSections>
|
||||||
<startup>
|
<startup>
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
||||||
</startup>
|
</startup>
|
||||||
<userSettings>
|
<applicationSettings>
|
||||||
<bsmd.ReportGenerator.Properties.Settings>
|
<bsmd.ReportGenerator.Properties.Settings>
|
||||||
<setting name="ConnectionString" serializeAs="String">
|
<setting name="ConnectionString" serializeAs="String">
|
||||||
<value>replace me!</value>
|
<value>replace me!</value>
|
||||||
@ -46,5 +46,5 @@
|
|||||||
<value />
|
<value />
|
||||||
</setting>
|
</setting>
|
||||||
</bsmd.ReportGenerator.Properties.Settings>
|
</bsmd.ReportGenerator.Properties.Settings>
|
||||||
</userSettings>
|
</applicationSettings>
|
||||||
</configuration>
|
</configuration>
|
||||||
@ -27,6 +27,9 @@ namespace bsmd.ReportGenerator
|
|||||||
SmtpClient smtpClient = new SmtpClient();
|
SmtpClient smtpClient = new SmtpClient();
|
||||||
NetworkCredential basicCredential = new NetworkCredential(Properties.Settings.Default.SMTPUser,
|
NetworkCredential basicCredential = new NetworkCredential(Properties.Settings.Default.SMTPUser,
|
||||||
Properties.Settings.Default.SMTPPassword);
|
Properties.Settings.Default.SMTPPassword);
|
||||||
|
|
||||||
|
foreach (string recipient in Properties.Settings.Default.Recipient)
|
||||||
|
{
|
||||||
MailMessage message = new MailMessage();
|
MailMessage message = new MailMessage();
|
||||||
MailAddress fromAddress = new MailAddress(Properties.Settings.Default.Sender);
|
MailAddress fromAddress = new MailAddress(Properties.Settings.Default.Sender);
|
||||||
|
|
||||||
@ -41,7 +44,6 @@ namespace bsmd.ReportGenerator
|
|||||||
message.Subject = string.Format("NSW Message report for {0}", core.IMO);
|
message.Subject = string.Format("NSW Message report for {0}", core.IMO);
|
||||||
message.IsBodyHtml = false;
|
message.IsBodyHtml = false;
|
||||||
message.Body = "see attachment";
|
message.Body = "see attachment";
|
||||||
foreach (string recipient in Properties.Settings.Default.Recipient)
|
|
||||||
message.To.Add(recipient);
|
message.To.Add(recipient);
|
||||||
|
|
||||||
if (filename != null)
|
if (filename != null)
|
||||||
@ -61,7 +63,7 @@ namespace bsmd.ReportGenerator
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
smtpClient.Send(message);
|
smtpClient.Send(message);
|
||||||
log.Info("Email sending successful.");
|
log.InfoFormat("Email sending to {0} successful.", recipient);
|
||||||
}
|
}
|
||||||
catch (SmtpException smtpException)
|
catch (SmtpException smtpException)
|
||||||
{
|
{
|
||||||
@ -72,9 +74,12 @@ namespace bsmd.ReportGenerator
|
|||||||
log.ErrorFormat("other error while sending e-mail:{0}", ex.Message);
|
log.ErrorFormat("other error while sending e-mail:{0}", ex.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
smtpClient.Dispose();
|
|
||||||
message.Dispose();
|
message.Dispose();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
smtpClient.Dispose();
|
||||||
|
|
||||||
// http://stackoverflow.com/questions/7276375/what-are-best-practices-for-using-smtpclient-sendasync-and-dispose-under-net-4
|
// http://stackoverflow.com/questions/7276375/what-are-best-practices-for-using-smtpclient-sendasync-and-dispose-under-net-4
|
||||||
// asynchron schicken und wenn's erledigt ist gleich disposen (wichtig!)
|
// asynchron schicken und wenn's erledigt ist gleich disposen (wichtig!)
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -23,91 +23,70 @@ namespace bsmd.ReportGenerator.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("replace me!")]
|
[global::System.Configuration.DefaultSettingValueAttribute("replace me!")]
|
||||||
public string ConnectionString {
|
public string ConnectionString {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["ConnectionString"]));
|
return ((string)(this["ConnectionString"]));
|
||||||
}
|
}
|
||||||
set {
|
|
||||||
this["ConnectionString"] = value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||||
public string OutputDirectory {
|
public string OutputDirectory {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["OutputDirectory"]));
|
return ((string)(this["OutputDirectory"]));
|
||||||
}
|
}
|
||||||
set {
|
|
||||||
this["OutputDirectory"] = value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("300")]
|
[global::System.Configuration.DefaultSettingValueAttribute("300")]
|
||||||
public int SleepSeconds {
|
public int SleepSeconds {
|
||||||
get {
|
get {
|
||||||
return ((int)(this["SleepSeconds"]));
|
return ((int)(this["SleepSeconds"]));
|
||||||
}
|
}
|
||||||
set {
|
|
||||||
this["SleepSeconds"] = value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("BSMD ReportGenerator")]
|
[global::System.Configuration.DefaultSettingValueAttribute("BSMD ReportGenerator")]
|
||||||
public string ReportAuthor {
|
public string ReportAuthor {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["ReportAuthor"]));
|
return ((string)(this["ReportAuthor"]));
|
||||||
}
|
}
|
||||||
set {
|
|
||||||
this["ReportAuthor"] = value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||||
public string SMTPServer {
|
public string SMTPServer {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["SMTPServer"]));
|
return ((string)(this["SMTPServer"]));
|
||||||
}
|
}
|
||||||
set {
|
|
||||||
this["SMTPServer"] = value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||||
public string SMTPUser {
|
public string SMTPUser {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["SMTPUser"]));
|
return ((string)(this["SMTPUser"]));
|
||||||
}
|
}
|
||||||
set {
|
|
||||||
this["SMTPUser"] = value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||||
public string SMTPPassword {
|
public string SMTPPassword {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["SMTPPassword"]));
|
return ((string)(this["SMTPPassword"]));
|
||||||
}
|
}
|
||||||
set {
|
|
||||||
this["SMTPPassword"] = value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n<ArrayOfString xmlns:xsi=\"http://www.w3." +
|
[global::System.Configuration.DefaultSettingValueAttribute("<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n<ArrayOfString xmlns:xsi=\"http://www.w3." +
|
||||||
"org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n <s" +
|
"org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n <s" +
|
||||||
@ -116,33 +95,24 @@ namespace bsmd.ReportGenerator.Properties {
|
|||||||
get {
|
get {
|
||||||
return ((global::System.Collections.Specialized.StringCollection)(this["Recipient"]));
|
return ((global::System.Collections.Specialized.StringCollection)(this["Recipient"]));
|
||||||
}
|
}
|
||||||
set {
|
|
||||||
this["Recipient"] = value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("donotreply@bsmd.de")]
|
[global::System.Configuration.DefaultSettingValueAttribute("donotreply@bsmd.de")]
|
||||||
public string Sender {
|
public string Sender {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["Sender"]));
|
return ((string)(this["Sender"]));
|
||||||
}
|
}
|
||||||
set {
|
|
||||||
this["Sender"] = value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||||
public string LogoPath {
|
public string LogoPath {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["LogoPath"]));
|
return ((string)(this["LogoPath"]));
|
||||||
}
|
}
|
||||||
set {
|
|
||||||
this["LogoPath"] = value;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,37 +2,37 @@
|
|||||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="bsmd.ReportGenerator.Properties" GeneratedClassName="Settings">
|
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="bsmd.ReportGenerator.Properties" GeneratedClassName="Settings">
|
||||||
<Profiles />
|
<Profiles />
|
||||||
<Settings>
|
<Settings>
|
||||||
<Setting Name="ConnectionString" Type="System.String" Scope="User">
|
<Setting Name="ConnectionString" Type="System.String" Scope="Application">
|
||||||
<Value Profile="(Default)">replace me!</Value>
|
<Value Profile="(Default)">replace me!</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="OutputDirectory" Type="System.String" Scope="User">
|
<Setting Name="OutputDirectory" Type="System.String" Scope="Application">
|
||||||
<Value Profile="(Default)" />
|
<Value Profile="(Default)" />
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="SleepSeconds" Type="System.Int32" Scope="User">
|
<Setting Name="SleepSeconds" Type="System.Int32" Scope="Application">
|
||||||
<Value Profile="(Default)">300</Value>
|
<Value Profile="(Default)">300</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="ReportAuthor" Type="System.String" Scope="User">
|
<Setting Name="ReportAuthor" Type="System.String" Scope="Application">
|
||||||
<Value Profile="(Default)">BSMD ReportGenerator</Value>
|
<Value Profile="(Default)">BSMD ReportGenerator</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="SMTPServer" Type="System.String" Scope="User">
|
<Setting Name="SMTPServer" Type="System.String" Scope="Application">
|
||||||
<Value Profile="(Default)" />
|
<Value Profile="(Default)" />
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="SMTPUser" Type="System.String" Scope="User">
|
<Setting Name="SMTPUser" Type="System.String" Scope="Application">
|
||||||
<Value Profile="(Default)" />
|
<Value Profile="(Default)" />
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="SMTPPassword" Type="System.String" Scope="User">
|
<Setting Name="SMTPPassword" Type="System.String" Scope="Application">
|
||||||
<Value Profile="(Default)" />
|
<Value Profile="(Default)" />
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="Recipient" Type="System.Collections.Specialized.StringCollection" Scope="User">
|
<Setting Name="Recipient" Type="System.Collections.Specialized.StringCollection" Scope="Application">
|
||||||
<Value Profile="(Default)"><?xml version="1.0" encoding="utf-16"?>
|
<Value Profile="(Default)"><?xml version="1.0" encoding="utf-16"?>
|
||||||
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||||
<string>nsw@textbausteine.net</string>
|
<string>nsw@textbausteine.net</string>
|
||||||
</ArrayOfString></Value>
|
</ArrayOfString></Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="Sender" Type="System.String" Scope="User">
|
<Setting Name="Sender" Type="System.String" Scope="Application">
|
||||||
<Value Profile="(Default)">donotreply@bsmd.de</Value>
|
<Value Profile="(Default)">donotreply@bsmd.de</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="LogoPath" Type="System.String" Scope="User">
|
<Setting Name="LogoPath" Type="System.String" Scope="Application">
|
||||||
<Value Profile="(Default)" />
|
<Value Profile="(Default)" />
|
||||||
</Setting>
|
</Setting>
|
||||||
</Settings>
|
</Settings>
|
||||||
|
|||||||
@ -754,6 +754,14 @@ namespace bsmd.dakosy
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Message.NotificationClass.HAZA:
|
||||||
|
case Message.NotificationClass.HAZD:
|
||||||
|
{
|
||||||
|
bsmd.database.HAZ was = dbEntity as bsmd.database.HAZ;
|
||||||
|
_log.InfoFormat("HAZ(A/D) cannot be sent via eDeclaration, skipping message {0}.", was.MessageHeader.Id);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -200,13 +200,13 @@ namespace bsmd.database
|
|||||||
switch(queryResult)
|
switch(queryResult)
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
_log.InfoFormat("Message {0} saved", entity.Id); break;
|
_log.DebugFormat("Message {0} saved", entity.Id); break;
|
||||||
case 0:
|
case 0:
|
||||||
_log.WarnFormat("Message {0} save affected no rows", entity.Id); break;
|
_log.DebugFormat("Message {0} save affected no rows", entity.Id); break;
|
||||||
case -1:
|
case -1:
|
||||||
_log.WarnFormat("Message {0} save: error occurred", entity.Id); break;
|
_log.DebugFormat("Message {0} save: error occurred", entity.Id); break;
|
||||||
default:
|
default:
|
||||||
_log.WarnFormat("Message {0} save affected {1} rows", entity.Id, queryResult); break;
|
_log.DebugFormat("Message {0} save affected {1} rows", entity.Id, queryResult); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -216,7 +216,7 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
SqlCommand cCmd = new SqlCommand();
|
SqlCommand cCmd = new SqlCommand();
|
||||||
core.Customer.PrepareSave(cCmd);
|
core.Customer.PrepareSave(cCmd);
|
||||||
_log.InfoFormat("Saved Customer to Core: {0}", this.PerformNonQuery(cCmd));
|
_log.DebugFormat("Saved Customer to Core: {0}", this.PerformNonQuery(cCmd));
|
||||||
core.CustomerId = core.Customer.Id;
|
core.CustomerId = core.Customer.Id;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -224,7 +224,7 @@ namespace bsmd.database
|
|||||||
core.PrepareSave(cmd);
|
core.PrepareSave(cmd);
|
||||||
int queryResult = this.PerformNonQuery(cmd);
|
int queryResult = this.PerformNonQuery(cmd);
|
||||||
if (queryResult == 1)
|
if (queryResult == 1)
|
||||||
_log.InfoFormat("MessageCore {0} saved", core.Id);
|
_log.DebugFormat("MessageCore {0} saved", core.Id);
|
||||||
else
|
else
|
||||||
_log.WarnFormat("MessageCore {0} save affected {1} rows", core.Id, queryResult);
|
_log.WarnFormat("MessageCore {0} save affected {1} rows", core.Id, queryResult);
|
||||||
}
|
}
|
||||||
@ -265,7 +265,7 @@ namespace bsmd.database
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_log.ErrorFormat("cannot create a message class for notification type {0}", message.MessageNotificationClass);
|
_log.DebugFormat("cannot create a message class for notification type {0}", message.MessageNotificationClass);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -354,6 +354,18 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
haz.IMDGPositions.Add(imdgPosition);
|
haz.IMDGPositions.Add(imdgPosition);
|
||||||
imdgPosition.HAZ = haz;
|
imdgPosition.HAZ = haz;
|
||||||
|
|
||||||
|
// load SubsidiaryRisk sub-table
|
||||||
|
SqlCommand srCmd = new SqlCommand();
|
||||||
|
SubsidiaryRisks subsidiaryRisks = new SubsidiaryRisks();
|
||||||
|
subsidiaryRisks.PrepareLoadCommand(srCmd, Message.LoadFilter.IMDG_ID, imdgPosition.Id);
|
||||||
|
SqlDataReader srReader = this.PerformCommand(srCmd);
|
||||||
|
List<DatabaseEntity> sRisks = subsidiaryRisks.LoadList(srReader);
|
||||||
|
foreach (SubsidiaryRisks subsidiaryRisk in sRisks)
|
||||||
|
{
|
||||||
|
imdgPosition.SubsidiaryRiskList.Add(subsidiaryRisk);
|
||||||
|
subsidiaryRisk.IMDGPosition = imdgPosition;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd = new SqlCommand();
|
cmd = new SqlCommand();
|
||||||
|
|||||||
@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Globalization;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
|
|
||||||
@ -60,5 +61,11 @@ namespace bsmd.database
|
|||||||
return source.IndexOf(toCheck, comp) >= 0;
|
return source.IndexOf(toCheck, comp) >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static DateTime? TryParse(string text)
|
||||||
|
{
|
||||||
|
DateTime date;
|
||||||
|
return DateTime.TryParse(text, DateTimeFormatInfo.InvariantInfo,DateTimeStyles.AssumeUniversal, out date) ? date : (DateTime?)null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,6 +16,9 @@ namespace bsmd.database
|
|||||||
{
|
{
|
||||||
public class IMDGPosition : DatabaseEntity, ISublistElement
|
public class IMDGPosition : DatabaseEntity, ISublistElement
|
||||||
{
|
{
|
||||||
|
|
||||||
|
private List<SubsidiaryRisks> subsidiaryRisksList = new List<SubsidiaryRisks>();
|
||||||
|
|
||||||
public IMDGPosition()
|
public IMDGPosition()
|
||||||
{
|
{
|
||||||
this.tablename = "[dbo].[IMDGPosition]";
|
this.tablename = "[dbo].[IMDGPosition]";
|
||||||
@ -85,6 +88,8 @@ namespace bsmd.database
|
|||||||
[ShowReport]
|
[ShowReport]
|
||||||
public string Remarks { get; set; }
|
public string Remarks { get; set; }
|
||||||
|
|
||||||
|
public List<SubsidiaryRisks> SubsidiaryRiskList { get { return this.subsidiaryRisksList; } }
|
||||||
|
|
||||||
public string Identifier { get; set; }
|
public string Identifier { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -130,6 +135,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
|
this.CreateId();
|
||||||
|
scmd.Parameters.AddWithValue("@ID", this.Id);
|
||||||
scmd.CommandText = string.Format("INSERT INTO {0} (HAZId, UNNumber, " +
|
scmd.CommandText = string.Format("INSERT INTO {0} (HAZId, UNNumber, " +
|
||||||
"PackingGroup, ProperShippingName, IMOClass, CompatibilityGroup, TechnicalName, NetExplosiveMass_KGM," +
|
"PackingGroup, ProperShippingName, IMOClass, CompatibilityGroup, TechnicalName, NetExplosiveMass_KGM," +
|
||||||
"Flashpoint_CEL, Class7NuclideName, Class7MaxActivity_BQL, Class7Category, Class7TransportIndex, " +
|
"Flashpoint_CEL, Class7NuclideName, Class7MaxActivity_BQL, Class7Category, Class7TransportIndex, " +
|
||||||
@ -228,5 +235,20 @@ namespace bsmd.database
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region IMessageParagraph implementation
|
||||||
|
|
||||||
|
public override List<IMessageParagraph> ChildParagraphs
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
List<IMessageParagraph> result = new List<IMessageParagraph>();
|
||||||
|
foreach (IMessageParagraph imp in this.SubsidiaryRiskList)
|
||||||
|
result.Add(imp);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,7 +56,8 @@ namespace bsmd.database
|
|||||||
BY_ID,
|
BY_ID,
|
||||||
BY_CORE,
|
BY_CORE,
|
||||||
NOA_NODID,
|
NOA_NODID,
|
||||||
HAZ_ID
|
HAZ_ID,
|
||||||
|
IMDG_ID
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -82,6 +82,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region DatabaseEntity implementation
|
||||||
|
|
||||||
public override void PrepareSave(IDbCommand cmd)
|
public override void PrepareSave(IDbCommand cmd)
|
||||||
{
|
{
|
||||||
SqlCommand scmd = cmd as SqlCommand;
|
SqlCommand scmd = cmd as SqlCommand;
|
||||||
@ -164,7 +166,7 @@ namespace bsmd.database
|
|||||||
}
|
}
|
||||||
case Message.LoadFilter.BSMDSTATUS:
|
case Message.LoadFilter.BSMDSTATUS:
|
||||||
{
|
{
|
||||||
query += "WHERE BSMDStatus = @STATUS";
|
query += "WHERE BSMDStatus = @STATUS ORDER BY Created DESC";
|
||||||
((SqlCommand)cmd).Parameters.AddWithValue("@STATUS", criteria[0]);
|
((SqlCommand)cmd).Parameters.AddWithValue("@STATUS", criteria[0]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -210,5 +212,16 @@ namespace bsmd.database
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region display override
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return string.Format("{0} - {1}", this.IMO, this.ETA);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -46,6 +46,7 @@
|
|||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Runtime.Serialization" />
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
<Reference Include="System.Security" />
|
<Reference Include="System.Security" />
|
||||||
|
<Reference Include="System.Web.Services" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
@ -98,7 +99,9 @@
|
|||||||
<Compile Include="SERV.cs" />
|
<Compile Include="SERV.cs" />
|
||||||
<Compile Include="ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs" />
|
<Compile Include="ShipToShipActivitiesDuringLastTenPortFacilitiesCalled.cs" />
|
||||||
<Compile Include="ShowReportAttribute.cs" />
|
<Compile Include="ShowReportAttribute.cs" />
|
||||||
|
<Compile Include="SOAPLoggerExtension.cs" />
|
||||||
<Compile Include="STAT.cs" />
|
<Compile Include="STAT.cs" />
|
||||||
|
<Compile Include="SubsidiaryRisks.cs" />
|
||||||
<Compile Include="TIEFA.cs" />
|
<Compile Include="TIEFA.cs" />
|
||||||
<Compile Include="TIEFD.cs" />
|
<Compile Include="TIEFD.cs" />
|
||||||
<Compile Include="TOWA.cs" />
|
<Compile Include="TOWA.cs" />
|
||||||
|
|||||||
Binary file not shown.
@ -12,19 +12,17 @@ namespace bsmd.dbh.ResponseService
|
|||||||
[ServiceContract]
|
[ServiceContract]
|
||||||
public interface IResponseService
|
public interface IResponseService
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
[OperationContract]
|
|
||||||
string GetData(int value);
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Da die Schnittstelle nur mit einem .xsd definiert war ist die Signatur der Methode fraglich
|
/// Da die Schnittstelle nur mit einem .xsd definiert war ist die Signatur der Methode fraglich
|
||||||
/// Sicher ist Void, weniger sicher der Namen und der Name des Parameters. Dessen Type allerdings schon.
|
/// Sicher ist Void, weniger sicher der Namen und der Name des Parameters. Dessen Type allerdings schon.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[OperationContract]
|
[OperationContract(Action = "http://tempuri.org/IResponseService/NSWResponse")]
|
||||||
[XmlSerializerFormatAttribute()]
|
[XmlSerializerFormatAttribute()]
|
||||||
void NSWResponse(bsmd.dbh.response.Root root);
|
void root(string Version, string MessageId, string VisitId, string TransitId, DateTime Timestamp,
|
||||||
|
string SenderReference, bsmd.dbh.response.RootType Type,
|
||||||
|
List<bsmd.dbh.response.RootMessage> Messages);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,13 @@
|
|||||||
using log4net;
|
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;
|
||||||
|
|
||||||
namespace bsmd.dbh.ResponseService
|
namespace bsmd.dbh.ResponseService
|
||||||
{
|
{
|
||||||
@ -8,10 +17,53 @@ namespace bsmd.dbh.ResponseService
|
|||||||
{
|
{
|
||||||
private ILog _log = LogManager.GetLogger("dbh ResponseService");
|
private ILog _log = LogManager.GetLogger("dbh ResponseService");
|
||||||
|
|
||||||
public void NSWResponse(bsmd.dbh.response.Root root)
|
public void root(string Version, string MessageId, string VisitId, string TransitId, DateTime Timestamp,
|
||||||
|
string SenderReference, bsmd.dbh.response.RootType Type,
|
||||||
|
List<bsmd.dbh.response.RootMessage> Messages)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (Version != null)
|
||||||
|
_log.InfoFormat("Version: {0}", Version);
|
||||||
|
if (MessageId != null)
|
||||||
|
_log.InfoFormat("MessageId: {0}", MessageId);
|
||||||
|
if (!VisitId.IsNullOrEmpty())
|
||||||
|
_log.InfoFormat("Visit-Id: {0}", VisitId);
|
||||||
|
if (!TransitId.IsNullOrEmpty())
|
||||||
|
_log.InfoFormat("Transit-Id: {0}", TransitId);
|
||||||
|
if (Timestamp != null)
|
||||||
|
_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)
|
||||||
|
{
|
||||||
|
_log.InfoFormat("Message type {0}: {1}", rootMessage.Type, rootMessage.Text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
if (!(root is bsmd.dbh.response.Root))
|
||||||
|
{
|
||||||
|
_log.Info(root);
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
_log.Info("response received!");
|
_log.Info("response received!");
|
||||||
Response.ProcessResponse(root, Properties.Settings.Default.DBConnectionString);
|
if (root != null)
|
||||||
|
{
|
||||||
|
_log.Info("processing..");
|
||||||
|
Response.ProcessResponse((bsmd.dbh.response.Root) root, Properties.Settings.Default.DBConnectionString);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_log.Fatal("root element null (probable deserialization problem");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,6 +12,12 @@
|
|||||||
<system.web>
|
<system.web>
|
||||||
<compilation debug="true" targetFramework="4.5" />
|
<compilation debug="true" targetFramework="4.5" />
|
||||||
<httpRuntime targetFramework="4.5"/>
|
<httpRuntime targetFramework="4.5"/>
|
||||||
|
<webServices>
|
||||||
|
<!-- zum debuggen -->
|
||||||
|
<soapExtensionTypes>
|
||||||
|
<add type="bsmd.database.SoapLoggerExtension, bsmd.database" priority="1" group="0" />
|
||||||
|
</soapExtensionTypes>
|
||||||
|
</webServices>
|
||||||
</system.web>
|
</system.web>
|
||||||
<system.serviceModel>
|
<system.serviceModel>
|
||||||
<behaviors>
|
<behaviors>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
6
nsw/Source/bsmd.dbh/NSWResponse.designer.cs
generated
6
nsw/Source/bsmd.dbh/NSWResponse.designer.cs
generated
@ -15,6 +15,7 @@ namespace bsmd.dbh.response
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
|
|
||||||
|
|
||||||
public partial class Root
|
public partial class Root
|
||||||
@ -201,7 +202,7 @@ namespace bsmd.dbh.response
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.Xml.Serialization.XmlArrayItemAttribute("Message", IsNullable = false)]
|
[System.Xml.Serialization.XmlArrayItemAttribute("Message", IsNullable = false, Namespace="")]
|
||||||
public List<RootMessage> Messages
|
public List<RootMessage> Messages
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@ -1575,6 +1576,9 @@ namespace bsmd.dbh.response
|
|||||||
HAZD,
|
HAZD,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[XmlType(TypeName = "Message")]
|
||||||
|
|
||||||
public partial class RootMessage
|
public partial class RootMessage
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@ -44,7 +44,7 @@ namespace bsmd.dbh
|
|||||||
// map message to dbh NSWRequest object
|
// map message to dbh NSWRequest object
|
||||||
Dbh_Osis_Answ_Ws client = new Dbh_Osis_Answ_Ws();
|
Dbh_Osis_Answ_Ws client = new Dbh_Osis_Answ_Ws();
|
||||||
|
|
||||||
RootReportingParty rp = new RootReportingParty();
|
bsmd.dbh.DBHWebReference.ReportingParty rp = new bsmd.dbh.DBHWebReference.ReportingParty();
|
||||||
rp.RPCity = message.ReportingParty.City;
|
rp.RPCity = message.ReportingParty.City;
|
||||||
rp.RPCountry = message.ReportingParty.Country;
|
rp.RPCountry = message.ReportingParty.Country;
|
||||||
rp.RPEMail = message.ReportingParty.EMail;
|
rp.RPEMail = message.ReportingParty.EMail;
|
||||||
@ -57,10 +57,10 @@ namespace bsmd.dbh
|
|||||||
rp.RPStreetAndNumber = message.ReportingParty.StreetAndNumber;
|
rp.RPStreetAndNumber = message.ReportingParty.StreetAndNumber;
|
||||||
rp.RPTypeSpecified = message.ReportingParty.ReportingPartyType.HasValue;
|
rp.RPTypeSpecified = message.ReportingParty.ReportingPartyType.HasValue;
|
||||||
if (rp.RPTypeSpecified)
|
if (rp.RPTypeSpecified)
|
||||||
rp.RPType = (RootReportingPartyRPType)message.ReportingParty.ReportingPartyType.Value;
|
rp.RPType = (ReportingPartyRPType) message.ReportingParty.ReportingPartyType.Value;
|
||||||
|
|
||||||
DateTime timestamp = DateTime.Now;
|
DateTime timestamp = DateTime.Now;
|
||||||
string version = "2.0";
|
string version = "1.0";
|
||||||
object item = null;
|
object item = null;
|
||||||
string senderReference = message.Id.Value.ToString("N");
|
string senderReference = message.Id.Value.ToString("N");
|
||||||
|
|
||||||
@ -864,12 +864,447 @@ namespace bsmd.dbh
|
|||||||
break;
|
break;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region HAZA
|
||||||
|
//Felderreihenfolge wegen einfacher Test/Impl. entspricht genau dem XLS Sheet
|
||||||
|
case Message.NotificationClass.HAZA:
|
||||||
|
{
|
||||||
|
RootHAZA rootHAZA = new RootHAZA();
|
||||||
|
HAZ haz = message.Elements[0] as HAZ;
|
||||||
|
rootHAZA.Items = new object[4];
|
||||||
|
|
||||||
|
if(haz.DPGManifestOnBoardOnArrival.HasValue)
|
||||||
|
rootHAZA.Items[0] = haz.DPGManifestOnBoardOnArrival.Value ? RootHAZADPGManifestOnBoardOnArrival.Y : RootHAZADPGManifestOnBoardOnArrival.N;
|
||||||
|
|
||||||
|
#region HAZ positions
|
||||||
|
RootHAZADPGOnArrival dpgOnArrival = new RootHAZADPGOnArrival();
|
||||||
|
|
||||||
|
#region IMDG
|
||||||
|
if (haz.IMDGPositions.Count > 0)
|
||||||
|
{
|
||||||
|
dpgOnArrival.DPGItemIMDG = new RootHAZADPGOnArrivalDPGItemIMDG[haz.IMDGPositions.Count];
|
||||||
|
for (int i = 0; i < haz.IMDGPositions.Count; i++)
|
||||||
|
{
|
||||||
|
IMDGPosition imdgPos = haz.IMDGPositions[i];
|
||||||
|
RootHAZADPGOnArrivalDPGItemIMDG rootIMDG = new RootHAZADPGOnArrivalDPGItemIMDG();
|
||||||
|
|
||||||
|
rootIMDG.UNNumber = imdgPos.UNNumber;
|
||||||
|
if (imdgPos.PackingGroup.HasValue)
|
||||||
|
rootIMDG.PackingGroup = (RootHAZADPGOnArrivalDPGItemIMDGPackingGroup)imdgPos.PackingGroup.Value;
|
||||||
|
rootIMDG.ProperShippingName = imdgPos.ProperShippingName;
|
||||||
|
rootIMDG.IMOClass = imdgPos.IMOClass;
|
||||||
|
rootIMDG.CompatibilityGroup = imdgPos.CompatibilityGroup;
|
||||||
|
rootIMDG.TechnicalName = imdgPos.TechnicalName;
|
||||||
|
rootIMDG.NetExplosiveMass_KGMSpecified = imdgPos.NetExplosiveMass_KGM.HasValue;
|
||||||
|
if(imdgPos.NetExplosiveMass_KGM.HasValue)
|
||||||
|
rootIMDG.NetExplosiveMass_KGM = (float)imdgPos.NetExplosiveMass_KGM.Value;
|
||||||
|
rootIMDG.Flashpoint_CEL = imdgPos.Flashpoint_CEL;
|
||||||
|
rootIMDG.Class7NuclideName = imdgPos.Class7NuclideName;
|
||||||
|
rootIMDG.Class7MaxActivity_BQLSpecified = imdgPos.Class7MaxActivity_BQL.HasValue;
|
||||||
|
if (imdgPos.Class7MaxActivity_BQL.HasValue)
|
||||||
|
rootIMDG.Class7MaxActivity_BQL = (float)imdgPos.Class7MaxActivity_BQL.Value;
|
||||||
|
rootIMDG.Class7CategorySpecified = imdgPos.Class7Category.HasValue;
|
||||||
|
if (imdgPos.Class7Category.HasValue)
|
||||||
|
rootIMDG.Class7Category = imdgPos.Class7Category.Value;
|
||||||
|
rootIMDG.Class7TransportIndexSpecified = imdgPos.Class7TransportIndex.HasValue;
|
||||||
|
if (imdgPos.Class7TransportIndex.HasValue)
|
||||||
|
rootIMDG.Class7TransportIndex = (float) imdgPos.Class7TransportIndex.Value;
|
||||||
|
rootIMDG.Class7CSISpecified = imdgPos.Class7CSI.HasValue;
|
||||||
|
if (imdgPos.Class7CSI.HasValue)
|
||||||
|
rootIMDG.Class7CSI = imdgPos.Class7CSI.Value;
|
||||||
|
rootIMDG.ControlTemperature_CELSpecified = imdgPos.ControlTemperature_CEL.HasValue;
|
||||||
|
if (imdgPos.ControlTemperature_CEL.HasValue)
|
||||||
|
rootIMDG.ControlTemperature_CEL = (float)imdgPos.ControlTemperature_CEL.Value;
|
||||||
|
rootIMDG.EmergencyTemperature_CELSpecified = imdgPos.EmergencyTemperature_CEL.HasValue;
|
||||||
|
if (imdgPos.EmergencyTemperature_CEL.HasValue)
|
||||||
|
rootIMDG.EmergencyTemperature_CEL = (float)imdgPos.EmergencyTemperature_CEL.Value;
|
||||||
|
if (imdgPos.SubsidiaryRiskList.Count > 0)
|
||||||
|
{
|
||||||
|
rootIMDG.SubsidiaryRisks = new string[imdgPos.SubsidiaryRiskList.Count];
|
||||||
|
for (int sCount = 0; sCount < imdgPos.SubsidiaryRiskList.Count; sCount++)
|
||||||
|
rootIMDG.SubsidiaryRisks[sCount] = imdgPos.SubsidiaryRiskList[sCount].SubsidiaryRisk;
|
||||||
|
}
|
||||||
|
if(imdgPos.MarinePollutant.HasValue)
|
||||||
|
rootIMDG.MarinePollutant = imdgPos.MarinePollutant.Value ? RootHAZADPGOnArrivalDPGItemIMDGMarinePollutant.Y : RootHAZADPGOnArrivalDPGItemIMDGMarinePollutant.N;
|
||||||
|
if (imdgPos.NumberOfPackages.HasValue)
|
||||||
|
rootIMDG.NumberOfPackages = imdgPos.NumberOfPackages.Value;
|
||||||
|
rootIMDG.PackageType = imdgPos.PackageType;
|
||||||
|
if(imdgPos.LimitedQuantities.HasValue)
|
||||||
|
rootIMDG.LimitedQuantities = imdgPos.LimitedQuantities.Value ? RootHAZADPGOnArrivalDPGItemIMDGLimitedQuantities.Y : RootHAZADPGOnArrivalDPGItemIMDGLimitedQuantities.N;
|
||||||
|
if (imdgPos.ExceptedQuantities.HasValue)
|
||||||
|
rootIMDG.ExceptedQuantities = imdgPos.ExceptedQuantities.Value ? RootHAZADPGOnArrivalDPGItemIMDGExceptedQuantities.Y : RootHAZADPGOnArrivalDPGItemIMDGExceptedQuantities.N;
|
||||||
|
rootIMDG.NetQuantity_KGMSpecified = imdgPos.NetQuantity_KGM.HasValue;
|
||||||
|
if (imdgPos.NetQuantity_KGM.HasValue)
|
||||||
|
rootIMDG.NetQuantity_KGM = (float)imdgPos.NetQuantity_KGM.Value;
|
||||||
|
rootIMDG.GrossQuantity_KGMSpecified = imdgPos.GrossQuantity_KGM.HasValue;
|
||||||
|
if (imdgPos.GrossQuantity_KGM.HasValue)
|
||||||
|
rootIMDG.GrossQuantity_KGM = (float)imdgPos.GrossQuantity_KGM.Value;
|
||||||
|
rootIMDG.Volume_MTQSpecified = imdgPos.Volume_MTQ.HasValue;
|
||||||
|
if (imdgPos.Volume_MTQ.HasValue)
|
||||||
|
rootIMDG.Volume_MTQ = (float)imdgPos.Volume_MTQ.Value;
|
||||||
|
rootIMDG.GeneralCargoIBCSpecified = imdgPos.GeneralCargoIBC.HasValue;
|
||||||
|
if (imdgPos.GeneralCargoIBC.HasValue)
|
||||||
|
rootIMDG.GeneralCargoIBC = imdgPos.GeneralCargoIBC.Value ? RootHAZADPGOnArrivalDPGItemIMDGGeneralCargoIBC.Y : RootHAZADPGOnArrivalDPGItemIMDGGeneralCargoIBC.N;
|
||||||
|
rootIMDG.ContainerNumber = imdgPos.ContainerNumber;
|
||||||
|
rootIMDG.VehicleLicenseNumber = imdgPos.VehicleLicenseNumber;
|
||||||
|
rootIMDG.StowagePosition = imdgPos.StowagePosition;
|
||||||
|
rootIMDG.PortOfLoading = imdgPos.PortOfLoading;
|
||||||
|
rootIMDG.PortOfDischarge = imdgPos.PortOfDischarge;
|
||||||
|
rootIMDG.Remarks = imdgPos.Remarks;
|
||||||
|
|
||||||
|
dpgOnArrival.DPGItemIMDG[i] = rootIMDG;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region IBC
|
||||||
|
if (haz.IBCPositions.Count > 0)
|
||||||
|
{
|
||||||
|
dpgOnArrival.DPGItemIBC = new RootHAZADPGOnArrivalDPGItemIBC[haz.IBCPositions.Count];
|
||||||
|
for(int i=0;i<haz.IBCPositions.Count;i++)
|
||||||
|
{
|
||||||
|
RootHAZADPGOnArrivalDPGItemIBC rootIBC = new RootHAZADPGOnArrivalDPGItemIBC();
|
||||||
|
IBCPosition ibcPos = haz.IBCPositions[i];
|
||||||
|
|
||||||
|
rootIBC.ProductName = ibcPos.ProductName;
|
||||||
|
if(ibcPos.PollutionCategory.HasValue)
|
||||||
|
rootIBC.PollutionCategory = (RootHAZADPGOnArrivalDPGItemIBCPollutionCategory)ibcPos.PollutionCategory.Value;
|
||||||
|
rootIBC.HazardsSpecified = ibcPos.Hazards.HasValue;
|
||||||
|
if (ibcPos.Hazards.HasValue)
|
||||||
|
rootIBC.Hazards = (RootHAZADPGOnArrivalDPGItemIBCHazards)ibcPos.Hazards.Value;
|
||||||
|
if (ibcPos.FlashpointInformation.HasValue)
|
||||||
|
rootIBC.FlashpointInformation = (RootHAZADPGOnArrivalDPGItemIBCFlashpointInformation)ibcPos.FlashpointInformation.Value;
|
||||||
|
rootIBC.Flashpoint_CEL = ibcPos.Flashpoint_CEL;
|
||||||
|
if (ibcPos.Quantity_KGM.HasValue)
|
||||||
|
rootIBC.Quantity_KGM = (float)ibcPos.Quantity_KGM.Value;
|
||||||
|
rootIBC.StowagePosition = ibcPos.StowagePosition;
|
||||||
|
rootIBC.PortOfLoading = ibcPos.PortOfLoading;
|
||||||
|
rootIBC.PortOfDischarge = ibcPos.PortOfDischarge;
|
||||||
|
rootIBC.SpecRef15_19Specified = ibcPos.SpecRef15_19.HasValue;
|
||||||
|
if (ibcPos.SpecRef15_19.HasValue)
|
||||||
|
rootIBC.SpecRef15_19 = ibcPos.SpecRef15_19.Value ? RootHAZADPGOnArrivalDPGItemIBCSpecRef15_19.Y : RootHAZADPGOnArrivalDPGItemIBCSpecRef15_19.N;
|
||||||
|
rootIBC.Remarks = ibcPos.Remarks;
|
||||||
|
|
||||||
|
dpgOnArrival.DPGItemIBC[i] = rootIBC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region IGC
|
||||||
|
if (haz.IGCPositions.Count > 0)
|
||||||
|
{
|
||||||
|
dpgOnArrival.DPGItemIGC = new RootHAZADPGOnArrivalDPGItemIGC[haz.IGCPositions.Count];
|
||||||
|
for (int i = 0; i < haz.IGCPositions.Count; i++)
|
||||||
|
{
|
||||||
|
RootHAZADPGOnArrivalDPGItemIGC rootIGC = new RootHAZADPGOnArrivalDPGItemIGC();
|
||||||
|
IGCPosition igcPos = haz.IGCPositions[i];
|
||||||
|
|
||||||
|
rootIGC.UNNumber = igcPos.UNNumber;
|
||||||
|
rootIGC.IMOClass = igcPos.IMOClass;
|
||||||
|
rootIGC.ProductName = igcPos.ProductName;
|
||||||
|
if (igcPos.Quantity_KGM.HasValue)
|
||||||
|
rootIGC.Quantity_KGM = (float)igcPos.Quantity_KGM.Value;
|
||||||
|
rootIGC.StowagePosition = igcPos.StowagePosition;
|
||||||
|
rootIGC.PortOfLoading = igcPos.PortOfLoading;
|
||||||
|
rootIGC.PortOfDischarge = igcPos.PortOfDischarge;
|
||||||
|
rootIGC.Remarks = igcPos.Remarks;
|
||||||
|
|
||||||
|
dpgOnArrival.DPGItemIGC[i] = rootIGC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region IMSBC
|
||||||
|
if (haz.IMSBCPositions.Count > 0)
|
||||||
|
{
|
||||||
|
dpgOnArrival.DPGItemIMSBC = new RootHAZADPGOnArrivalDPGItemIMSBC[haz.IMSBCPositions.Count];
|
||||||
|
for (int i = 0; i < haz.IMSBCPositions.Count; i++)
|
||||||
|
{
|
||||||
|
RootHAZADPGOnArrivalDPGItemIMSBC rootIMSBC = new RootHAZADPGOnArrivalDPGItemIMSBC();
|
||||||
|
IMSBCPosition imsbcPos = haz.IMSBCPositions[i];
|
||||||
|
|
||||||
|
rootIMSBC.BulkCargoShippingName = imsbcPos.BulkCargoShippingName;
|
||||||
|
if (imsbcPos.MHB.HasValue)
|
||||||
|
rootIMSBC.MHB = imsbcPos.MHB.Value ? RootHAZADPGOnArrivalDPGItemIMSBCMHB.Y : RootHAZADPGOnArrivalDPGItemIMSBCMHB.N;
|
||||||
|
rootIMSBC.UNNumber = imsbcPos.UNNumber;
|
||||||
|
rootIMSBC.IMOClass = imsbcPos.IMOClass;
|
||||||
|
if (imsbcPos.Quantity_KGM.HasValue)
|
||||||
|
rootIMSBC.Quantity_KGM = (float)imsbcPos.Quantity_KGM.Value;
|
||||||
|
rootIMSBC.StowagePosition = imsbcPos.StowagePosition;
|
||||||
|
rootIMSBC.PortOfLoading = imsbcPos.PortOfLoading;
|
||||||
|
rootIMSBC.PortOfDischarge = imsbcPos.PortOfDischarge;
|
||||||
|
rootIMSBC.Remarks = imsbcPos.Remarks;
|
||||||
|
|
||||||
|
dpgOnArrival.DPGItemIMSBC[i] = rootIMSBC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region MARPOL_ANNEX_I
|
||||||
|
if (haz.MARPOLPositions.Count > 0)
|
||||||
|
{
|
||||||
|
dpgOnArrival.DPGItemMARPOLAnnexI = new RootHAZADPGOnArrivalDPGItemMARPOLAnnexI[haz.MARPOLPositions.Count];
|
||||||
|
for (int i = 0; i < haz.MARPOLPositions.Count; i++)
|
||||||
|
{
|
||||||
|
RootHAZADPGOnArrivalDPGItemMARPOLAnnexI rootMarpol = new RootHAZADPGOnArrivalDPGItemMARPOLAnnexI();
|
||||||
|
MARPOL_Annex_I_Position marpolPos = haz.MARPOLPositions[i];
|
||||||
|
|
||||||
|
rootMarpol.Name = marpolPos.Name;
|
||||||
|
if (marpolPos.FlashpointInformation.HasValue)
|
||||||
|
rootMarpol.FlashpointInformation = (RootHAZADPGOnArrivalDPGItemMARPOLAnnexIFlashpointInformation)marpolPos.FlashpointInformation.Value;
|
||||||
|
rootMarpol.Flashpoint_CEL = marpolPos.Flashpoint_CEL;
|
||||||
|
if (marpolPos.Quantity_KGM.HasValue)
|
||||||
|
rootMarpol.Quantity_KGM = (float)marpolPos.Quantity_KGM.Value;
|
||||||
|
rootMarpol.StowagePosition = marpolPos.StowagePosition;
|
||||||
|
rootMarpol.PortOfLoading = marpolPos.PortOfLoading;
|
||||||
|
rootMarpol.PortOfDischarge = marpolPos.PortOfDischarge;
|
||||||
|
rootMarpol.Remarks = marpolPos.Remarks;
|
||||||
|
|
||||||
|
dpgOnArrival.DPGItemMARPOLAnnexI[i] = rootMarpol;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
rootHAZA.Items[1] = dpgOnArrival;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
if (haz.INFShipClass.HasValue)
|
||||||
|
{
|
||||||
|
RootHAZAINFShipClass infShipClass = (RootHAZAINFShipClass) haz.INFShipClass.Value;
|
||||||
|
rootHAZA.Items[2] = infShipClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (haz.NoDPGOnBoardOnArrival ?? false)
|
||||||
|
rootHAZA.Items[3] = RootHAZANoDPGOnBoardOnArrival.Y;
|
||||||
|
|
||||||
|
item = rootHAZA;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region HAZD
|
||||||
|
//Felderreihenfolge wegen einfacher Test/Impl. entspricht genau dem XLS Sheet
|
||||||
|
case Message.NotificationClass.HAZD:
|
||||||
|
{
|
||||||
|
RootHAZD rootHAZD = new RootHAZD();
|
||||||
|
HAZ haz = message.Elements[0] as HAZ;
|
||||||
|
rootHAZD.Items = new object[4];
|
||||||
|
|
||||||
|
if (haz.DPGManifestOnBoardOnArrival.HasValue)
|
||||||
|
rootHAZD.Items[0] = haz.DPGManifestOnBoardOnArrival.Value ? RootHAZDDPGManifestOnBoardOnDeparture.Y : RootHAZDDPGManifestOnBoardOnDeparture.N;
|
||||||
|
|
||||||
|
#region HAZ positions
|
||||||
|
RootHAZDDPGOnDeparture dpgOnDeparture = new RootHAZDDPGOnDeparture();
|
||||||
|
|
||||||
|
#region IMDG
|
||||||
|
if (haz.IMDGPositions.Count > 0)
|
||||||
|
{
|
||||||
|
dpgOnDeparture.DPGItemIMDG = new RootHAZDDPGOnDepartureDPGItemIMDG[haz.IMDGPositions.Count];
|
||||||
|
for (int i = 0; i < haz.IMDGPositions.Count; i++)
|
||||||
|
{
|
||||||
|
IMDGPosition imdgPos = haz.IMDGPositions[i];
|
||||||
|
RootHAZDDPGOnDepartureDPGItemIMDG rootIMDG = new RootHAZDDPGOnDepartureDPGItemIMDG();
|
||||||
|
|
||||||
|
rootIMDG.UNNumber = imdgPos.UNNumber;
|
||||||
|
if (imdgPos.PackingGroup.HasValue)
|
||||||
|
rootIMDG.PackingGroup = (RootHAZDDPGOnDepartureDPGItemIMDGPackingGroup)imdgPos.PackingGroup.Value;
|
||||||
|
rootIMDG.ProperShippingName = imdgPos.ProperShippingName;
|
||||||
|
rootIMDG.IMOClass = imdgPos.IMOClass;
|
||||||
|
rootIMDG.CompatibilityGroup = imdgPos.CompatibilityGroup;
|
||||||
|
rootIMDG.TechnicalName = imdgPos.TechnicalName;
|
||||||
|
rootIMDG.NetExplosiveMass_KGMSpecified = imdgPos.NetExplosiveMass_KGM.HasValue;
|
||||||
|
if (imdgPos.NetExplosiveMass_KGM.HasValue)
|
||||||
|
rootIMDG.NetExplosiveMass_KGM = (float)imdgPos.NetExplosiveMass_KGM.Value;
|
||||||
|
rootIMDG.Flashpoint_CEL = imdgPos.Flashpoint_CEL;
|
||||||
|
rootIMDG.Class7NuclideName = imdgPos.Class7NuclideName;
|
||||||
|
rootIMDG.Class7MaxActivity_BQLSpecified = imdgPos.Class7MaxActivity_BQL.HasValue;
|
||||||
|
if (imdgPos.Class7MaxActivity_BQL.HasValue)
|
||||||
|
rootIMDG.Class7MaxActivity_BQL = (float)imdgPos.Class7MaxActivity_BQL.Value;
|
||||||
|
rootIMDG.Class7CategorySpecified = imdgPos.Class7Category.HasValue;
|
||||||
|
if (imdgPos.Class7Category.HasValue)
|
||||||
|
rootIMDG.Class7Category = imdgPos.Class7Category.Value;
|
||||||
|
rootIMDG.Class7TransportIndexSpecified = imdgPos.Class7TransportIndex.HasValue;
|
||||||
|
if (imdgPos.Class7TransportIndex.HasValue)
|
||||||
|
rootIMDG.Class7TransportIndex = (float)imdgPos.Class7TransportIndex.Value;
|
||||||
|
rootIMDG.Class7CSISpecified = imdgPos.Class7CSI.HasValue;
|
||||||
|
if (imdgPos.Class7CSI.HasValue)
|
||||||
|
rootIMDG.Class7CSI = imdgPos.Class7CSI.Value;
|
||||||
|
rootIMDG.ControlTemperature_CELSpecified = imdgPos.ControlTemperature_CEL.HasValue;
|
||||||
|
if (imdgPos.ControlTemperature_CEL.HasValue)
|
||||||
|
rootIMDG.ControlTemperature_CEL = (float)imdgPos.ControlTemperature_CEL.Value;
|
||||||
|
rootIMDG.EmergencyTemperature_CELSpecified = imdgPos.EmergencyTemperature_CEL.HasValue;
|
||||||
|
if (imdgPos.EmergencyTemperature_CEL.HasValue)
|
||||||
|
rootIMDG.EmergencyTemperature_CEL = (float)imdgPos.EmergencyTemperature_CEL.Value;
|
||||||
|
if (imdgPos.SubsidiaryRiskList.Count > 0)
|
||||||
|
{
|
||||||
|
rootIMDG.SubsidiaryRisks = new string[imdgPos.SubsidiaryRiskList.Count];
|
||||||
|
for (int sCount = 0; sCount < imdgPos.SubsidiaryRiskList.Count; sCount++)
|
||||||
|
rootIMDG.SubsidiaryRisks[sCount] = imdgPos.SubsidiaryRiskList[sCount].SubsidiaryRisk;
|
||||||
|
}
|
||||||
|
if (imdgPos.MarinePollutant.HasValue)
|
||||||
|
rootIMDG.MarinePollutant = imdgPos.MarinePollutant.Value ? RootHAZDDPGOnDepartureDPGItemIMDGMarinePollutant.Y : RootHAZDDPGOnDepartureDPGItemIMDGMarinePollutant.N;
|
||||||
|
if (imdgPos.NumberOfPackages.HasValue)
|
||||||
|
rootIMDG.NumberOfPackages = imdgPos.NumberOfPackages.Value;
|
||||||
|
rootIMDG.PackageType = imdgPos.PackageType;
|
||||||
|
if (imdgPos.LimitedQuantities.HasValue)
|
||||||
|
rootIMDG.LimitedQuantities = imdgPos.LimitedQuantities.Value ? RootHAZDDPGOnDepartureDPGItemIMDGLimitedQuantities.Y : RootHAZDDPGOnDepartureDPGItemIMDGLimitedQuantities.N;
|
||||||
|
if (imdgPos.ExceptedQuantities.HasValue)
|
||||||
|
rootIMDG.ExceptedQuantities = imdgPos.ExceptedQuantities.Value ? RootHAZDDPGOnDepartureDPGItemIMDGExceptedQuantities.Y : RootHAZDDPGOnDepartureDPGItemIMDGExceptedQuantities.N;
|
||||||
|
rootIMDG.NetQuantity_KGMSpecified = imdgPos.NetQuantity_KGM.HasValue;
|
||||||
|
if (imdgPos.NetQuantity_KGM.HasValue)
|
||||||
|
rootIMDG.NetQuantity_KGM = (float)imdgPos.NetQuantity_KGM.Value;
|
||||||
|
rootIMDG.GrossQuantity_KGMSpecified = imdgPos.GrossQuantity_KGM.HasValue;
|
||||||
|
if (imdgPos.GrossQuantity_KGM.HasValue)
|
||||||
|
rootIMDG.GrossQuantity_KGM = (float)imdgPos.GrossQuantity_KGM.Value;
|
||||||
|
rootIMDG.Volume_MTQSpecified = imdgPos.Volume_MTQ.HasValue;
|
||||||
|
if (imdgPos.Volume_MTQ.HasValue)
|
||||||
|
rootIMDG.Volume_MTQ = (float)imdgPos.Volume_MTQ.Value;
|
||||||
|
rootIMDG.GeneralCargoIBCSpecified = imdgPos.GeneralCargoIBC.HasValue;
|
||||||
|
if (imdgPos.GeneralCargoIBC.HasValue)
|
||||||
|
rootIMDG.GeneralCargoIBC = imdgPos.GeneralCargoIBC.Value ? RootHAZDDPGOnDepartureDPGItemIMDGGeneralCargoIBC.Y : RootHAZDDPGOnDepartureDPGItemIMDGGeneralCargoIBC.N;
|
||||||
|
rootIMDG.ContainerNumber = imdgPos.ContainerNumber;
|
||||||
|
rootIMDG.VehicleLicenseNumber = imdgPos.VehicleLicenseNumber;
|
||||||
|
rootIMDG.StowagePosition = imdgPos.StowagePosition;
|
||||||
|
rootIMDG.PortOfLoading = imdgPos.PortOfLoading;
|
||||||
|
rootIMDG.PortOfDischarge = imdgPos.PortOfDischarge;
|
||||||
|
rootIMDG.Remarks = imdgPos.Remarks;
|
||||||
|
|
||||||
|
dpgOnDeparture.DPGItemIMDG[i] = rootIMDG;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region IBC
|
||||||
|
if (haz.IBCPositions.Count > 0)
|
||||||
|
{
|
||||||
|
dpgOnDeparture.DPGItemIBC = new RootHAZDDPGOnDepartureDPGItemIBC[haz.IBCPositions.Count];
|
||||||
|
for (int i = 0; i < haz.IBCPositions.Count; i++)
|
||||||
|
{
|
||||||
|
RootHAZDDPGOnDepartureDPGItemIBC rootIBC = new RootHAZDDPGOnDepartureDPGItemIBC();
|
||||||
|
IBCPosition ibcPos = haz.IBCPositions[i];
|
||||||
|
|
||||||
|
rootIBC.ProductName = ibcPos.ProductName;
|
||||||
|
if (ibcPos.PollutionCategory.HasValue)
|
||||||
|
rootIBC.PollutionCategory = (RootHAZDDPGOnDepartureDPGItemIBCPollutionCategory)ibcPos.PollutionCategory.Value;
|
||||||
|
rootIBC.HazardsSpecified = ibcPos.Hazards.HasValue;
|
||||||
|
if (ibcPos.Hazards.HasValue)
|
||||||
|
rootIBC.Hazards = (RootHAZDDPGOnDepartureDPGItemIBCHazards)ibcPos.Hazards.Value;
|
||||||
|
if (ibcPos.FlashpointInformation.HasValue)
|
||||||
|
rootIBC.FlashpointInformation = (RootHAZDDPGOnDepartureDPGItemIBCFlashpointInformation)ibcPos.FlashpointInformation.Value;
|
||||||
|
rootIBC.Flashpoint_CEL = ibcPos.Flashpoint_CEL;
|
||||||
|
if (ibcPos.Quantity_KGM.HasValue)
|
||||||
|
rootIBC.Quantity_KGM = (float)ibcPos.Quantity_KGM.Value;
|
||||||
|
rootIBC.StowagePosition = ibcPos.StowagePosition;
|
||||||
|
rootIBC.PortOfLoading = ibcPos.PortOfLoading;
|
||||||
|
rootIBC.PortOfDischarge = ibcPos.PortOfDischarge;
|
||||||
|
rootIBC.SpecRef15_19Specified = ibcPos.SpecRef15_19.HasValue;
|
||||||
|
if (ibcPos.SpecRef15_19.HasValue)
|
||||||
|
rootIBC.SpecRef15_19 = ibcPos.SpecRef15_19.Value ? RootHAZDDPGOnDepartureDPGItemIBCSpecRef15_19.Y : RootHAZDDPGOnDepartureDPGItemIBCSpecRef15_19.N;
|
||||||
|
rootIBC.Remarks = ibcPos.Remarks;
|
||||||
|
|
||||||
|
dpgOnDeparture.DPGItemIBC[i] = rootIBC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region IGC
|
||||||
|
if (haz.IGCPositions.Count > 0)
|
||||||
|
{
|
||||||
|
dpgOnDeparture.DPGItemIGC = new RootHAZDDPGOnDepartureDPGItemIGC[haz.IGCPositions.Count];
|
||||||
|
for (int i = 0; i < haz.IGCPositions.Count; i++)
|
||||||
|
{
|
||||||
|
RootHAZDDPGOnDepartureDPGItemIGC rootIGC = new RootHAZDDPGOnDepartureDPGItemIGC();
|
||||||
|
IGCPosition igcPos = haz.IGCPositions[i];
|
||||||
|
|
||||||
|
rootIGC.UNNumber = igcPos.UNNumber;
|
||||||
|
rootIGC.IMOClass = igcPos.IMOClass;
|
||||||
|
rootIGC.ProductName = igcPos.ProductName;
|
||||||
|
if (igcPos.Quantity_KGM.HasValue)
|
||||||
|
rootIGC.Quantity_KGM = (float)igcPos.Quantity_KGM.Value;
|
||||||
|
rootIGC.StowagePosition = igcPos.StowagePosition;
|
||||||
|
rootIGC.PortOfLoading = igcPos.PortOfLoading;
|
||||||
|
rootIGC.PortOfDischarge = igcPos.PortOfDischarge;
|
||||||
|
rootIGC.Remarks = igcPos.Remarks;
|
||||||
|
|
||||||
|
dpgOnDeparture.DPGItemIGC[i] = rootIGC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region IMSBC
|
||||||
|
if (haz.IMSBCPositions.Count > 0)
|
||||||
|
{
|
||||||
|
dpgOnDeparture.DPGItemIMSBC = new RootHAZDDPGOnDepartureDPGItemIMSBC[haz.IMSBCPositions.Count];
|
||||||
|
for (int i = 0; i < haz.IMSBCPositions.Count; i++)
|
||||||
|
{
|
||||||
|
RootHAZDDPGOnDepartureDPGItemIMSBC rootIMSBC = new RootHAZDDPGOnDepartureDPGItemIMSBC();
|
||||||
|
IMSBCPosition imsbcPos = haz.IMSBCPositions[i];
|
||||||
|
|
||||||
|
rootIMSBC.BulkCargoShippingName = imsbcPos.BulkCargoShippingName;
|
||||||
|
if (imsbcPos.MHB.HasValue)
|
||||||
|
rootIMSBC.MHB = imsbcPos.MHB.Value ? RootHAZDDPGOnDepartureDPGItemIMSBCMHB.Y : RootHAZDDPGOnDepartureDPGItemIMSBCMHB.N;
|
||||||
|
rootIMSBC.UNNumber = imsbcPos.UNNumber;
|
||||||
|
rootIMSBC.IMOClass = imsbcPos.IMOClass;
|
||||||
|
if (imsbcPos.Quantity_KGM.HasValue)
|
||||||
|
rootIMSBC.Quantity_KGM = (float)imsbcPos.Quantity_KGM.Value;
|
||||||
|
rootIMSBC.StowagePosition = imsbcPos.StowagePosition;
|
||||||
|
rootIMSBC.PortOfLoading = imsbcPos.PortOfLoading;
|
||||||
|
rootIMSBC.PortOfDischarge = imsbcPos.PortOfDischarge;
|
||||||
|
rootIMSBC.Remarks = imsbcPos.Remarks;
|
||||||
|
|
||||||
|
dpgOnDeparture.DPGItemIMSBC[i] = rootIMSBC;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region MARPOL_ANNEX_I
|
||||||
|
if (haz.MARPOLPositions.Count > 0)
|
||||||
|
{
|
||||||
|
dpgOnDeparture.DPGItemMARPOLAnnexI = new RootHAZDDPGOnDepartureDPGItemMARPOLAnnexI[haz.MARPOLPositions.Count];
|
||||||
|
for (int i = 0; i < haz.MARPOLPositions.Count; i++)
|
||||||
|
{
|
||||||
|
RootHAZDDPGOnDepartureDPGItemMARPOLAnnexI rootMarpol = new RootHAZDDPGOnDepartureDPGItemMARPOLAnnexI();
|
||||||
|
MARPOL_Annex_I_Position marpolPos = haz.MARPOLPositions[i];
|
||||||
|
|
||||||
|
rootMarpol.Name = marpolPos.Name;
|
||||||
|
if (marpolPos.FlashpointInformation.HasValue)
|
||||||
|
rootMarpol.FlashpointInformation = (RootHAZDDPGOnDepartureDPGItemMARPOLAnnexIFlashpointInformation)marpolPos.FlashpointInformation.Value;
|
||||||
|
rootMarpol.Flashpoint_CEL = marpolPos.Flashpoint_CEL;
|
||||||
|
if (marpolPos.Quantity_KGM.HasValue)
|
||||||
|
rootMarpol.Quantity_KGM = (float)marpolPos.Quantity_KGM.Value;
|
||||||
|
rootMarpol.StowagePosition = marpolPos.StowagePosition;
|
||||||
|
rootMarpol.PortOfLoading = marpolPos.PortOfLoading;
|
||||||
|
rootMarpol.PortOfDischarge = marpolPos.PortOfDischarge;
|
||||||
|
rootMarpol.Remarks = marpolPos.Remarks;
|
||||||
|
|
||||||
|
dpgOnDeparture.DPGItemMARPOLAnnexI[i] = rootMarpol;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
rootHAZD.Items[1] = dpgOnDeparture;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
if (haz.INFShipClass.HasValue)
|
||||||
|
{
|
||||||
|
RootHAZDINFShipClass infShipClass = (RootHAZDINFShipClass)haz.INFShipClass.Value;
|
||||||
|
rootHAZD.Items[2] = infShipClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (haz.NoDPGOnBoardOnArrival ?? false)
|
||||||
|
rootHAZD.Items[3] = RootHAZDNoDPGOnBoardOnDeparture.Y;
|
||||||
|
|
||||||
|
item = rootHAZD;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region catch all
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
_log.ErrorFormat("DBH send message: message type {0} not implemented", message.MessageNotificationClass);
|
_log.ErrorFormat("DBH send message: message type {0} not implemented", message.MessageNotificationClass);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
// send object
|
// send object
|
||||||
|
|||||||
@ -42,6 +42,9 @@
|
|||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.EnterpriseServices" />
|
<Reference Include="System.EnterpriseServices" />
|
||||||
|
<Reference Include="System.Runtime.Serialization" />
|
||||||
|
<Reference Include="System.ServiceModel" />
|
||||||
|
<Reference Include="System.ServiceModel.Web" />
|
||||||
<Reference Include="System.Web.Services" />
|
<Reference Include="System.Web.Services" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
|||||||
@ -6,3 +6,11 @@ Damit man einen Web-Service erhält, der nicht die private Felder sondern die Pr
|
|||||||
generierten Klasse verwendet, muss man
|
generierten Klasse verwendet, muss man
|
||||||
[OperationContract] und [XmlSerializerFormatAttribute()]
|
[OperationContract] und [XmlSerializerFormatAttribute()]
|
||||||
auf der Interface-Methode verwenden.
|
auf der Interface-Methode verwenden.
|
||||||
|
|
||||||
|
Neu:
|
||||||
|
Der Namespace darf nicht im endgültigen SOAP Call enthalten sein. Dazu habe ich in den
|
||||||
|
generierten Service-Klassen den Namespace auf "" gesetzt.wsdl.exe war nicht notwendig!
|
||||||
|
|
||||||
|
so:
|
||||||
|
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://www.openuri.org/submit", RequestNamespace="", ResponseElementName="submitResponse", ResponseNamespace="", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
|
||||||
|
|
||||||
|
|||||||
@ -121,14 +121,25 @@ namespace bsmd.herberg.FormService
|
|||||||
formBody.apiIdentifier.clientGuid = Properties.Settings.Default.ClientGuid.ToString();
|
formBody.apiIdentifier.clientGuid = Properties.Settings.Default.ClientGuid.ToString();
|
||||||
|
|
||||||
formBody.formGuid = dataSet.formGuid;
|
formBody.formGuid = dataSet.formGuid;
|
||||||
|
bool successfulGet = true;
|
||||||
|
GetFormDataResponseData formResponse = null;
|
||||||
|
|
||||||
GetFormDataResponseData formResponse = client.GetFormData(formBody);
|
try
|
||||||
if (formResponse.success)
|
{
|
||||||
|
formResponse = client.GetFormData(formBody);
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_log.ErrorFormat("Exception reading formBody: {0}", ex.ToString());
|
||||||
|
successfulGet = false;
|
||||||
|
}
|
||||||
|
if (successfulGet && formResponse.success)
|
||||||
{
|
{
|
||||||
// abgefragtes Formular in die DB speichern
|
// abgefragtes Formular in die DB speichern
|
||||||
MessageCore aMessageCore = DBManager.Instance.GetHerbergFormMessage(new Guid(formBody.formGuid));
|
MessageCore aMessageCore = DBManager.Instance.GetHerbergFormMessage(new Guid(formBody.formGuid));
|
||||||
if (aMessageCore == null)
|
if (aMessageCore == null)
|
||||||
{
|
{
|
||||||
|
_log.InfoFormat("Creating new MessageCore for IMO {0}", formResponse.imoNumber);
|
||||||
// neuen Anlaufeintrag (=MessageCore) erstellen
|
// neuen Anlaufeintrag (=MessageCore) erstellen
|
||||||
aMessageCore = new MessageCore();
|
aMessageCore = new MessageCore();
|
||||||
aMessageCore.HerbergFormGuid = new Guid(formBody.formGuid);
|
aMessageCore.HerbergFormGuid = new Guid(formBody.formGuid);
|
||||||
@ -142,10 +153,13 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
DBManager.Instance.Save(aMessageCore);
|
DBManager.Instance.Save(aMessageCore);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// TODO: Status von Core prüfen (wurde schon von BSMD verändert?)
|
||||||
|
_log.InfoFormat("Updating form data for IMO {0}", formResponse.imoNumber);
|
||||||
|
}
|
||||||
|
|
||||||
// Änderungen im Formular übertragen und speichern
|
|
||||||
Util.UpdateFormCore(aMessageCore, formResponse);
|
Util.UpdateFormCore(aMessageCore, formResponse);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -155,7 +169,9 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_log.Info("no data sets found on the server in this interval");
|
_log.InfoFormat("nothing: {0} - {1}",
|
||||||
|
body.timeFrameRequestFilter.startDate,
|
||||||
|
body.timeFrameRequestFilter.endDate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -36,16 +36,17 @@ namespace bsmd.herberg.FormService
|
|||||||
|
|
||||||
bool isDeparture = false;
|
bool isDeparture = false;
|
||||||
|
|
||||||
for (int i = 0; i < formResponse.formDatasets.Length; i++)
|
//for (int i = 0; i < formResponse.formDatasets.Length; i++)
|
||||||
|
if(formResponse.formDatasets.Length > 0) // wir verarbeiten nur das "neueste" form dataset
|
||||||
{
|
{
|
||||||
|
int i = formResponse.formDatasets.Length - 1;
|
||||||
|
|
||||||
Dictionary<string, Dictionary<string, string>> groupedVals = new Dictionary<string, Dictionary<string, string>>();
|
Dictionary<string, Dictionary<string, string>> groupedVals = new Dictionary<string, Dictionary<string, string>>();
|
||||||
Dictionary<string, Dictionary<int, Dictionary<string, string>>> groupedRowVals = new Dictionary<string, Dictionary<int, Dictionary<string, string>>>();
|
Dictionary<string, Dictionary<int, Dictionary<string, string>>> groupedRowVals = new Dictionary<string, Dictionary<int, Dictionary<string, string>>>();
|
||||||
|
|
||||||
WebReference.FormDataset fds = formResponse.formDatasets[i];
|
WebReference.FormDataset fds = formResponse.formDatasets[i];
|
||||||
|
_log.InfoFormat("proc. dataset with Rev.Date:{0}", fds.revisionDate);
|
||||||
|
|
||||||
if (fds.startPeriodSpecified)
|
|
||||||
Trace.WriteLine(fds.startPeriod);
|
|
||||||
Trace.WriteLine(string.Format("Dataset {0}", i));
|
|
||||||
foreach (WebReference.FormData formData in fds.formData)
|
foreach (WebReference.FormData formData in fds.formData)
|
||||||
{
|
{
|
||||||
string[] nElems = formData.name.Split('.');
|
string[] nElems = formData.name.Split('.');
|
||||||
@ -57,7 +58,7 @@ namespace bsmd.herberg.FormService
|
|||||||
switch (nElems[0])
|
switch (nElems[0])
|
||||||
{
|
{
|
||||||
case "REGISTRATION_TYPE":
|
case "REGISTRATION_TYPE":
|
||||||
_log.WarnFormat("REGISTRATION_TYPE: {0}", formData.value);
|
_log.InfoFormat("REGISTRATION_TYPE: {0}", formData.value);
|
||||||
break;
|
break;
|
||||||
case "REPORT_TYPE":
|
case "REPORT_TYPE":
|
||||||
aMessageCore.HerbergReportType = formData.value;
|
aMessageCore.HerbergReportType = formData.value;
|
||||||
@ -164,7 +165,7 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_log.InfoFormat("found message type {0}", messageType);
|
_log.DebugFormat("found message type {0}", messageType);
|
||||||
theMessage = messages[messageType.ToUpper()];
|
theMessage = messages[messageType.ToUpper()];
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -186,7 +187,7 @@ namespace bsmd.herberg.FormService
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (vDict.ContainsKey("ATAPortOfCall")) ata.ATAPortOfCall = DateTime.Parse(vDict["ATAPortOfCall"]);
|
if (vDict.ContainsKey("ATAPortOfCall")) ata.ATAPortOfCall = Extensions.TryParse(vDict["ATAPortOfCall"]);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@ -213,7 +214,7 @@ namespace bsmd.herberg.FormService
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (vDict.ContainsKey("ATDPortOfCall")) atd.ATDPortOfCall = DateTime.Parse(vDict["ATDPortOfCall"]);
|
if (vDict.ContainsKey("ATDPortOfCall")) atd.ATDPortOfCall = Extensions.TryParse(vDict["ATDPortOfCall"]);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@ -268,14 +269,14 @@ namespace bsmd.herberg.FormService
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
// if (vDict.ContainsKey("CallPurposeCode")) noa_nod.CallPurposeCode = Int32.Parse(vDict["CallPurposeCode"]);
|
// if (vDict.ContainsKey("CallPurposeCode")) noa_nod.CallPurposeCode = Int32.Parse(vDict["CallPurposeCode"]);
|
||||||
if (vDict.ContainsKey("ETAToNextPort")) noa_nod.ETAToNextPort = DateTime.Parse(vDict["ETAToNextPort"]);
|
if (vDict.ContainsKey("ETAToNextPort")) noa_nod.ETAToNextPort = Extensions.TryParse(vDict["ETAToNextPort"]);
|
||||||
if (vDict.ContainsKey("ETDFromLastPort")) noa_nod.ETDFromLastPort = DateTime.Parse(vDict["ETDFromLastPort"]);
|
if (vDict.ContainsKey("ETDFromLastPort")) noa_nod.ETDFromLastPort = Extensions.TryParse(vDict["ETDFromLastPort"]);
|
||||||
if (vDict.ContainsKey("ETAToPortOfCall")) noa_nod.ETAToPortOfCall = DateTime.Parse(vDict["ETAToPortOfCall"]);
|
if (vDict.ContainsKey("ETAToPortOfCall")) noa_nod.ETAToPortOfCall = Extensions.TryParse(vDict["ETAToPortOfCall"]);
|
||||||
if (vDict.ContainsKey("ETDFromPortOfCall")) noa_nod.ETDFromPortOfCall = DateTime.Parse(vDict["ETDFromPortOfCall"]);
|
if (vDict.ContainsKey("ETDFromPortOfCall")) noa_nod.ETDFromPortOfCall = Extensions.TryParse(vDict["ETDFromPortOfCall"]);
|
||||||
// if (vDict.ContainsKey("CallPurposeDescription")) noa_nod.CallPurposeDescription = vDict["CallPurposeDescription"];
|
// if (vDict.ContainsKey("CallPurposeDescription")) noa_nod.CallPurposeDescription = vDict["CallPurposeDescription"];
|
||||||
// if(vDict.ContainsKey("CountryOfNextPort")) noa_nod. nicht relevant
|
// if(vDict.ContainsKey("CountryOfNextPort")) noa_nod. nicht relevant
|
||||||
if (vDict.ContainsKey("ETAToKielCanal")) noa_nod.ETAToKielCanal = DateTime.Parse(vDict["ETAToKielCanal"]);
|
if (vDict.ContainsKey("ETAToKielCanal")) noa_nod.ETAToKielCanal = Extensions.TryParse(vDict["ETAToKielCanal"]);
|
||||||
if (vDict.ContainsKey("ETDFromKielCanal")) noa_nod.ETDFromKielCanal = DateTime.Parse(vDict["ETDFromKielCanal"]);
|
if (vDict.ContainsKey("ETDFromKielCanal")) noa_nod.ETDFromKielCanal = Extensions.TryParse(vDict["ETDFromKielCanal"]);
|
||||||
if (vDict.ContainsKey("CountryCodeOfLastPort") && vDict.ContainsKey("LastPortCode"))
|
if (vDict.ContainsKey("CountryCodeOfLastPort") && vDict.ContainsKey("LastPortCode"))
|
||||||
noa_nod.LastPort = vDict["CountryCodeOfLastPort"] + vDict["LastPortCode"];
|
noa_nod.LastPort = vDict["CountryCodeOfLastPort"] + vDict["LastPortCode"];
|
||||||
if (vDict.ContainsKey("CountryCodeOfNextPort") && vDict.ContainsKey("NextPortCode"))
|
if (vDict.ContainsKey("CountryCodeOfNextPort") && vDict.ContainsKey("NextPortCode"))
|
||||||
@ -344,6 +345,9 @@ namespace bsmd.herberg.FormService
|
|||||||
if (vDict.ContainsKey("ISMCompanyPostalCode")) stat.ISMCompanyPostalCode = vDict["ISMCompanyPostalCode"];
|
if (vDict.ContainsKey("ISMCompanyPostalCode")) stat.ISMCompanyPostalCode = vDict["ISMCompanyPostalCode"];
|
||||||
if (vDict.ContainsKey("ISMCompanyCity")) stat.ISMCompanyCity = vDict["ISMCompanyCity"];
|
if (vDict.ContainsKey("ISMCompanyCity")) stat.ISMCompanyCity = vDict["ISMCompanyCity"];
|
||||||
if (vDict.ContainsKey("ISMCompanyCountry")) stat.ISMCompanyCountry = vDict["ISMCompanyCountry"];
|
if (vDict.ContainsKey("ISMCompanyCountry")) stat.ISMCompanyCountry = vDict["ISMCompanyCountry"];
|
||||||
|
if (stat.Flag.IsNullOrEmpty() && vDict.ContainsKey("CountryCodeOfRegistry"))
|
||||||
|
stat.Flag = vDict["CountryCodeOfRegistry"];
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@ -382,17 +386,17 @@ namespace bsmd.herberg.FormService
|
|||||||
if (vDict.ContainsKey("SanitaryMeasuresApplied")) mdh.SanitaryMeasuresApplied = vDict["SanitaryMeasuresApplied"].Equals("Y");
|
if (vDict.ContainsKey("SanitaryMeasuresApplied")) mdh.SanitaryMeasuresApplied = vDict["SanitaryMeasuresApplied"].Equals("Y");
|
||||||
if (vDict.ContainsKey("SanitaryMeasuresType")) mdh.SanitaryMeasuresType = vDict["SanitaryMeasuresType"];
|
if (vDict.ContainsKey("SanitaryMeasuresType")) mdh.SanitaryMeasuresType = vDict["SanitaryMeasuresType"];
|
||||||
if (vDict.ContainsKey("SanitaryMeasuresLocation")) mdh.SanitaryMeasuresLocation = vDict["SanitaryMeasuresLocation"];
|
if (vDict.ContainsKey("SanitaryMeasuresLocation")) mdh.SanitaryMeasuresLocation = vDict["SanitaryMeasuresLocation"];
|
||||||
if (vDict.ContainsKey("SanitaryMeasuresDate")) mdh.SanitaryMeasuresDate = DateTime.Parse(vDict["SanitaryMeasuresDate"]);
|
if (vDict.ContainsKey("SanitaryMeasuresDate")) mdh.SanitaryMeasuresDate = Extensions.TryParse(vDict["SanitaryMeasuresDate"]);
|
||||||
if (vDict.ContainsKey("StowawaysDetected")) mdh.StowawaysDetected = vDict["StowawaysDetected"].Equals("Y");
|
if (vDict.ContainsKey("StowawaysDetected")) mdh.StowawaysDetected = vDict["StowawaysDetected"].Equals("Y");
|
||||||
if (vDict.ContainsKey("StowawaysJoiningLocation")) mdh.StowawaysJoiningLocation = vDict["StowawaysJoiningLocation"];
|
if (vDict.ContainsKey("StowawaysJoiningLocation")) mdh.StowawaysJoiningLocation = vDict["StowawaysJoiningLocation"];
|
||||||
if (vDict.ContainsKey("SickAnimalOrPetOnBoard")) mdh.SickAnimalOrPetOnBoard = vDict["SickAnimalOrPetOnBoard"].Equals("Y");
|
if (vDict.ContainsKey("SickAnimalOrPetOnBoard")) mdh.SickAnimalOrPetOnBoard = vDict["SickAnimalOrPetOnBoard"].Equals("Y");
|
||||||
if (vDict.ContainsKey("ValidSanitaryControlExemptionOrCertificateOnBoard")) mdh.ValidSanitaryControlExemptionOrCertificateOnBoard = vDict["ValidSanitaryControlExemptionOrCertificateOnBoard"].Equals("Y");
|
if (vDict.ContainsKey("ValidSanitaryControlExemptionOrCertificateOnBoard")) mdh.ValidSanitaryControlExemptionOrCertificateOnBoard = vDict["ValidSanitaryControlExemptionOrCertificateOnBoard"].Equals("Y");
|
||||||
if (vDict.ContainsKey("SanitaryControlCertPlaceOfIssue")) mdh.PlaceOfIssue = vDict["SanitaryControlCertPlaceOfIssue"];
|
if (vDict.ContainsKey("SanitaryControlCertPlaceOfIssue")) mdh.PlaceOfIssue = vDict["SanitaryControlCertPlaceOfIssue"];
|
||||||
if (vDict.ContainsKey("SanitaryControlCertDateOfIssue")) mdh.DateOfIssue = DateTime.Parse(vDict["SanitaryControlCertDateOfIssue"]);
|
if (vDict.ContainsKey("SanitaryControlCertDateOfIssue")) mdh.DateOfIssue = Extensions.TryParse(vDict["SanitaryControlCertDateOfIssue"]);
|
||||||
if (vDict.ContainsKey("SanitaryControlReinspectionRequired")) mdh.SanitaryControlReinspectionRequired = vDict["SanitaryControlReinspectionRequired"].Equals("Y");
|
if (vDict.ContainsKey("SanitaryControlReinspectionRequired")) mdh.SanitaryControlReinspectionRequired = vDict["SanitaryControlReinspectionRequired"].Equals("Y");
|
||||||
if (vDict.ContainsKey("InfectedAreaVisited")) mdh.InfectedAreaVisited = vDict["InfectedAreaVisited"].Equals("Y");
|
if (vDict.ContainsKey("InfectedAreaVisited")) mdh.InfectedAreaVisited = vDict["InfectedAreaVisited"].Equals("Y");
|
||||||
if (vDict.ContainsKey("InfectedAreaPort")) mdh.InfectedAreaPort = vDict["InfectedAreaPort"];
|
if (vDict.ContainsKey("InfectedAreaPort")) mdh.InfectedAreaPort = vDict["InfectedAreaPort"];
|
||||||
if (vDict.ContainsKey("InfectedAreaDate")) mdh.InfectedAreaDate = DateTime.Parse(vDict["InfectedAreaDate"]);
|
if (vDict.ContainsKey("InfectedAreaDate")) mdh.InfectedAreaDate = Extensions.TryParse(vDict["InfectedAreaDate"]);
|
||||||
|
|
||||||
// sublisten
|
// sublisten
|
||||||
foreach (int key in nDict.Keys)
|
foreach (int key in nDict.Keys)
|
||||||
@ -407,7 +411,7 @@ namespace bsmd.herberg.FormService
|
|||||||
poc30.MDH = mdh;
|
poc30.MDH = mdh;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pDict.ContainsKey("PortOfCallLast30DaysDateOfDeparture")) poc30.PortOfCallLast30DaysDateOfDeparture = DateTime.Parse(pDict["PortOfCallLast30DaysDateOfDeparture"]);
|
if (pDict.ContainsKey("PortOfCallLast30DaysDateOfDeparture")) poc30.PortOfCallLast30DaysDateOfDeparture = Extensions.TryParse(pDict["PortOfCallLast30DaysDateOfDeparture"]);
|
||||||
if (pDict.ContainsKey("PortOfCallLast30DaysCrewMembersJoined")) poc30.PortOfCallLast30DaysCrewMembersJoined = pDict["PortOfCallLast30DaysCrewMembersJoined"].Equals("Y");
|
if (pDict.ContainsKey("PortOfCallLast30DaysCrewMembersJoined")) poc30.PortOfCallLast30DaysCrewMembersJoined = pDict["PortOfCallLast30DaysCrewMembersJoined"].Equals("Y");
|
||||||
if (pDict.ContainsKey("PortOfCallLast30DaysPortCode") && pDict.ContainsKey("PortOfCallLast30DaysCountryCode"))
|
if (pDict.ContainsKey("PortOfCallLast30DaysPortCode") && pDict.ContainsKey("PortOfCallLast30DaysCountryCode"))
|
||||||
poc30.PortOfCallLast30DaysLocode = pDict["PortOfCallLast30DaysCountryCode"] + pDict["PortOfCallLast30DaysPortCode"];
|
poc30.PortOfCallLast30DaysLocode = pDict["PortOfCallLast30DaysCountryCode"] + pDict["PortOfCallLast30DaysPortCode"];
|
||||||
@ -536,7 +540,7 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ppDict.ContainsKey("PortOfItineraryName")) poi.PortOfItineraryName = ppDict["PortOfItineraryName"];
|
if (ppDict.ContainsKey("PortOfItineraryName")) poi.PortOfItineraryName = ppDict["PortOfItineraryName"];
|
||||||
if (ppDict.ContainsKey("PortOfItineraryETA")) poi.PortOfItineraryETA = DateTime.Parse(ppDict["PortOfItineraryETA"]);
|
if (ppDict.ContainsKey("PortOfItineraryETA")) poi.PortOfItineraryETA = Extensions.TryParse(ppDict["PortOfItineraryETA"]);
|
||||||
|
|
||||||
saveMessages.Add(poi);
|
saveMessages.Add(poi);
|
||||||
}
|
}
|
||||||
@ -633,7 +637,7 @@ namespace bsmd.herberg.FormService
|
|||||||
if (pDict.ContainsKey("CrewMemberLastName")) crew.CrewMemberLastName = pDict["CrewMemberLastName"];
|
if (pDict.ContainsKey("CrewMemberLastName")) crew.CrewMemberLastName = pDict["CrewMemberLastName"];
|
||||||
if (pDict.ContainsKey("CrewMemberFirstName")) crew.CrewMemberFirstName = pDict["CrewMemberFirstName"];
|
if (pDict.ContainsKey("CrewMemberFirstName")) crew.CrewMemberFirstName = pDict["CrewMemberFirstName"];
|
||||||
if (pDict.ContainsKey("CrewMemberPlaceOfBirth")) crew.CrewMemberPlaceOfBirth = pDict["CrewMemberPlaceOfBirth"];
|
if (pDict.ContainsKey("CrewMemberPlaceOfBirth")) crew.CrewMemberPlaceOfBirth = pDict["CrewMemberPlaceOfBirth"];
|
||||||
if (pDict.ContainsKey("CrewMemberDateOfBirth")) crew.CrewMemberDateOfBirth = DateTime.Parse(pDict["CrewMemberDateOfBirth"]);
|
if (pDict.ContainsKey("CrewMemberDateOfBirth")) crew.CrewMemberDateOfBirth = Extensions.TryParse(pDict["CrewMemberDateOfBirth"]);
|
||||||
if (pDict.ContainsKey("CrewMemberGender")) crew.CrewMemberGender = (byte)Enum.Parse(typeof(Enums.PassengerGender), pDict["CrewMemberGender"], true);
|
if (pDict.ContainsKey("CrewMemberGender")) crew.CrewMemberGender = (byte)Enum.Parse(typeof(Enums.PassengerGender), pDict["CrewMemberGender"], true);
|
||||||
if (pDict.ContainsKey("CrewMemberNationalityCode")) crew.CrewMemberNationality = pDict["CrewMemberNationalityCode"];
|
if (pDict.ContainsKey("CrewMemberNationalityCode")) crew.CrewMemberNationality = pDict["CrewMemberNationalityCode"];
|
||||||
if (pDict.ContainsKey("CrewMemberIdentityDocumentType")) crew.CrewMemberIdentityDocumentType = (byte)Enum.Parse(typeof(Enums.PassengerIdentityDocumentType), pDict["CrewMemberIdentityDocumentType"], true);
|
if (pDict.ContainsKey("CrewMemberIdentityDocumentType")) crew.CrewMemberIdentityDocumentType = (byte)Enum.Parse(typeof(Enums.PassengerIdentityDocumentType), pDict["CrewMemberIdentityDocumentType"], true);
|
||||||
@ -738,7 +742,7 @@ namespace bsmd.herberg.FormService
|
|||||||
if (vDict.ContainsKey("VolumeOfCargo_TNE")) pre72h.VolumeOfCargo = Double.Parse(vDict["VolumeOfCargo_TNE"], NumberFormatInfo.InvariantInfo);
|
if (vDict.ContainsKey("VolumeOfCargo_TNE")) pre72h.VolumeOfCargo = Double.Parse(vDict["VolumeOfCargo_TNE"], NumberFormatInfo.InvariantInfo);
|
||||||
if (vDict.ContainsKey("PlannedOperations")) pre72h.PlannedOperations = vDict["PlannedOperations"];
|
if (vDict.ContainsKey("PlannedOperations")) pre72h.PlannedOperations = vDict["PlannedOperations"];
|
||||||
if (vDict.ContainsKey("PlannedWorks")) pre72h.PlannedWorks = vDict["PlannedWorks"];
|
if (vDict.ContainsKey("PlannedWorks")) pre72h.PlannedWorks = vDict["PlannedWorks"];
|
||||||
if (vDict.ContainsKey("DateOfLastExpandedInspection")) pre72h.DateOfLastExpandedInspection = DateTime.Parse(vDict["DateOfLastExpandedInspection"], DateTimeFormatInfo.InvariantInfo);
|
if (vDict.ContainsKey("DateOfLastExpandedInspection")) pre72h.DateOfLastExpandedInspection = Extensions.TryParse(vDict["DateOfLastExpandedInspection"]);
|
||||||
if (vDict.ContainsKey("PlannedPeriodOfStay_HUR")) pre72h.PlannedPeriodOfStay_HUR = Double.Parse(vDict["PlannedPeriodOfStay_HUR"], NumberFormatInfo.InvariantInfo);
|
if (vDict.ContainsKey("PlannedPeriodOfStay_HUR")) pre72h.PlannedPeriodOfStay_HUR = Double.Parse(vDict["PlannedPeriodOfStay_HUR"], NumberFormatInfo.InvariantInfo);
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@ -796,10 +800,10 @@ namespace bsmd.herberg.FormService
|
|||||||
if (pDict.ContainsKey("PassengerLastName")) pas.PassengerLastName = pDict["PassengerLastName"];
|
if (pDict.ContainsKey("PassengerLastName")) pas.PassengerLastName = pDict["PassengerLastName"];
|
||||||
if (pDict.ContainsKey("PassengerFirstName")) pas.PassengerFirstName = pDict["PassengerFirstName"];
|
if (pDict.ContainsKey("PassengerFirstName")) pas.PassengerFirstName = pDict["PassengerFirstName"];
|
||||||
if (pDict.ContainsKey("PassengerPlaceOfBirth")) pas.PassengerPlaceOfBirth = pDict["PassengerPlaceOfBirth"];
|
if (pDict.ContainsKey("PassengerPlaceOfBirth")) pas.PassengerPlaceOfBirth = pDict["PassengerPlaceOfBirth"];
|
||||||
if (pDict.ContainsKey("PassengerDateOfBirth")) pas.PassengerDateOfBirth = DateTime.Parse(pDict["PassengerDateOfBirth"]);
|
if (pDict.ContainsKey("PassengerDateOfBirth")) pas.PassengerDateOfBirth = Extensions.TryParse(pDict["PassengerDateOfBirth"]);
|
||||||
if (pDict.ContainsKey("PassengerGender")) pas.PassengerGender = (byte)Enum.Parse(typeof(Enums.PassengerGender), pDict["PassengerGender"], true);
|
if (pDict.ContainsKey("PassengerGender")) pas.PassengerGender = (byte)Enum.Parse(typeof(Enums.PassengerGender), pDict["PassengerGender"], true);
|
||||||
if (pDict.ContainsKey("PassengerNationalityCode")) pas.PassengerNationality = pDict["PassengerNationalityCode"];
|
if (pDict.ContainsKey("PassengerNationalityCode")) pas.PassengerNationality = pDict["PassengerNationalityCode"];
|
||||||
if (pDict.ContainsKey("PassengerIdentityDocumentType")) pas.PassengerIdentityDocumentType = (byte)Enum.Parse(typeof(Enums.PassengerIdentityDocumentType), pDict["PassengerIdentityDocumentType"]);
|
if (pDict.ContainsKey("PassengerIdentityDocumentType")) pas.PassengerIdentityDocumentType = (byte)Enum.Parse(typeof(Enums.PassengerIdentityDocumentType), pDict["PassengerIdentityDocumentType"], true);
|
||||||
if (pDict.ContainsKey("PassengerIdentityDocumentId")) pas.PassengerIdentityDocumentId = pDict["PassengerIdentityDocumentId"];
|
if (pDict.ContainsKey("PassengerIdentityDocumentId")) pas.PassengerIdentityDocumentId = pDict["PassengerIdentityDocumentId"];
|
||||||
if (pDict.ContainsKey("PassengerVisaNumber")) pas.PassengerVisaNumber = pDict["PassengerVisaNumber"];
|
if (pDict.ContainsKey("PassengerVisaNumber")) pas.PassengerVisaNumber = pDict["PassengerVisaNumber"];
|
||||||
if (pDict.ContainsKey("PassengerPortCodeOfEmbarkation") && pDict.ContainsKey("PassengerCountryCodeOfEmbarkation"))
|
if (pDict.ContainsKey("PassengerPortCodeOfEmbarkation") && pDict.ContainsKey("PassengerCountryCodeOfEmbarkation"))
|
||||||
@ -836,7 +840,7 @@ namespace bsmd.herberg.FormService
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (vDict.ContainsKey("WasteDisposalValidExemption")) was.WasteDisposalValidExemption = vDict["WasteDisposalValidExemption"].Equals("Y");
|
if (vDict.ContainsKey("WasteDisposalValidExemption")) was.WasteDisposalValidExemption = vDict["WasteDisposalValidExemption"].Equals("Y");
|
||||||
if (vDict.ContainsKey("LastWasteDisposalDate")) was.LastWasteDisposalDate = DateTime.Parse(vDict["LastWasteDisposalDate"]);
|
if (vDict.ContainsKey("LastWasteDisposalDate")) was.LastWasteDisposalDate = Extensions.TryParse(vDict["LastWasteDisposalDate"]);
|
||||||
|
|
||||||
if (vDict.ContainsKey("LastWasteDisposalPortCode") && vDict.ContainsKey("LastWasteDisposalCountryCode"))
|
if (vDict.ContainsKey("LastWasteDisposalPortCode") && vDict.ContainsKey("LastWasteDisposalCountryCode"))
|
||||||
was.LastWasteDisposalPort = vDict["LastWasteDisposalCountryCode"] + vDict["LastWasteDisposalPortCode"];
|
was.LastWasteDisposalPort = vDict["LastWasteDisposalCountryCode"] + vDict["LastWasteDisposalPortCode"];
|
||||||
@ -918,15 +922,15 @@ namespace bsmd.herberg.FormService
|
|||||||
if (vDict.ContainsKey("CSOEMail")) sec.CSOEMail = vDict["CSOEMail"];
|
if (vDict.ContainsKey("CSOEMail")) sec.CSOEMail = vDict["CSOEMail"];
|
||||||
if (vDict.ContainsKey("ValidISSCOnBoard")) sec.ValidISSCOnBoard = vDict["ValidISSCOnBoard"].Equals("Y");
|
if (vDict.ContainsKey("ValidISSCOnBoard")) sec.ValidISSCOnBoard = vDict["ValidISSCOnBoard"].Equals("Y");
|
||||||
if (vDict.ContainsKey("ReasonsForNoValidISSC")) sec.ReasonsForNoValidISSC = vDict["ReasonsForNoValidISSC"];
|
if (vDict.ContainsKey("ReasonsForNoValidISSC")) sec.ReasonsForNoValidISSC = vDict["ReasonsForNoValidISSC"];
|
||||||
if (vDict.ContainsKey("ISSCType")) sec.ISSCType = (byte)Enum.Parse(typeof(Enums.ISSCType), vDict["ISSCType"]);
|
if (vDict.ContainsKey("ISSCType")) sec.ISSCType = (byte)Enum.Parse(typeof(Enums.ISSCType), vDict["ISSCType"], true);
|
||||||
if (vDict.ContainsKey("ISSCIssuerType")) sec.ISSCIssuerType = (byte)Enum.Parse(typeof(Enums.ISSCIssuerType), vDict["ISSCIssuerType"]);
|
if (vDict.ContainsKey("ISSCIssuerType")) sec.ISSCIssuerType = (byte)Enum.Parse(typeof(Enums.ISSCIssuerType), vDict["ISSCIssuerType"], true);
|
||||||
if (vDict.ContainsKey("ISSCIssuerName")) sec.ISSCIssuerName = vDict["ISSCIssuerName"];
|
if (vDict.ContainsKey("ISSCIssuerName")) sec.ISSCIssuerName = vDict["ISSCIssuerName"];
|
||||||
if (vDict.ContainsKey("ISSCDateOfExpiration")) sec.ISSCDateOfExpiration = DateTime.Parse(vDict["ISSCDateOfExpiration"]);
|
if (vDict.ContainsKey("ISSCDateOfExpiration")) sec.ISSCDateOfExpiration = Extensions.TryParse(vDict["ISSCDateOfExpiration"]);
|
||||||
if (vDict.ContainsKey("ApprovedSecurityPlanOnBoard")) sec.ApprovedSecurityPlanOnBoard = vDict["ApprovedSecurityPlanOnBoard"].Equals("Y");
|
if (vDict.ContainsKey("ApprovedSecurityPlanOnBoard")) sec.ApprovedSecurityPlanOnBoard = vDict["ApprovedSecurityPlanOnBoard"].Equals("Y");
|
||||||
if (vDict.ContainsKey("CurrentShipSecurityLevel")) sec.CurrentShipSecurityLevel = Byte.Parse(vDict["CurrentShipSecurityLevel"]);
|
if (vDict.ContainsKey("CurrentShipSecurityLevel")) sec.CurrentShipSecurityLevel = Byte.Parse(vDict["CurrentShipSecurityLevel"]);
|
||||||
if (vDict.ContainsKey("CurrentShipSecurityLevel ")) sec.CurrentShipSecurityLevel = Byte.Parse(vDict["CurrentShipSecurityLevel "]);
|
if (vDict.ContainsKey("CurrentShipSecurityLevel ")) sec.CurrentShipSecurityLevel = Byte.Parse(vDict["CurrentShipSecurityLevel "]);
|
||||||
if (vDict.ContainsKey("PortFacilityOfArrival")) sec.PortFacilityOfArrival = vDict["PortFacilityOfArrival"];
|
if (vDict.ContainsKey("PortFacilityOfArrival")) sec.PortFacilityOfArrival = vDict["PortFacilityOfArrival"];
|
||||||
if (vDict.ContainsKey("GeneralDescriptionOfCargo")) sec.GeneralDescriptionOfCargo = (byte)Enum.Parse(typeof(Enums.GeneralDescriptionOfCargo), vDict["GeneralDescriptionOfCargo"]);
|
if (vDict.ContainsKey("GeneralDescriptionOfCargo")) sec.GeneralDescriptionOfCargo = (byte)Enum.Parse(typeof(Enums.GeneralDescriptionOfCargo), vDict["GeneralDescriptionOfCargo"], true);
|
||||||
|
|
||||||
// process sublists
|
// process sublists
|
||||||
|
|
||||||
@ -961,11 +965,16 @@ namespace bsmd.herberg.FormService
|
|||||||
poc.PortFacilityPortLoCode = sDict["PortFacilityPortCountryCode"] + sDict["PortFacilityPortLoCode"];
|
poc.PortFacilityPortLoCode = sDict["PortFacilityPortCountryCode"] + sDict["PortFacilityPortLoCode"];
|
||||||
changedPfC = true;
|
changedPfC = true;
|
||||||
}
|
}
|
||||||
if (sDict.ContainsKey("PortFacilityDateOfArrival")) { poc.PortFacilityDateOfArrival = DateTime.Parse(sDict["PortFacilityDateOfArrival"]); changedPfC = true; }
|
if (sDict.ContainsKey("PortFacilityDateOfArrival")) { poc.PortFacilityDateOfArrival = Extensions.TryParse(sDict["PortFacilityDateOfArrival"]); changedPfC = true; }
|
||||||
if (sDict.ContainsKey("PortFacilityDateOfDeparture")) { poc.PortFacilityDateOfDeparture = DateTime.Parse(sDict["PortFacilityDateOfDeparture"]); changedPfC = true; }
|
if (sDict.ContainsKey("PortFacilityDateOfDeparture")) { poc.PortFacilityDateOfDeparture = Extensions.TryParse(sDict["PortFacilityDateOfDeparture"]); changedPfC = true; }
|
||||||
if (sDict.ContainsKey("PortFacilityShipSecurityLevel")) { poc.PortFacilityShipSecurityLevel = Byte.Parse(sDict["PortFacilityShipSecurityLevel"]); changedPfC = true; }
|
if (sDict.ContainsKey("PortFacilityShipSecurityLevel")) { poc.PortFacilityShipSecurityLevel = Byte.Parse(sDict["PortFacilityShipSecurityLevel"]); changedPfC = true; }
|
||||||
if (sDict.ContainsKey("PortFacilitySecurityMattersToReport")) { poc.PortFacilitySecurityMattersToReport = sDict["PortFacilitySecurityMattersToReport"]; changedPfC = true; }
|
if (sDict.ContainsKey("PortFacilitySecurityMattersToReport")) { poc.PortFacilitySecurityMattersToReport = sDict["PortFacilitySecurityMattersToReport"]; changedPfC = true; }
|
||||||
if (sDict.ContainsKey("PortFacilityGISISCode")) { poc.PortFacilityGISISCode = sDict["PortFacilityGISISCode"]; changedPfC = true; }
|
if (sDict.ContainsKey("PortFacilityGISISCode"))
|
||||||
|
{
|
||||||
|
poc.PortFacilityGISISCode = sDict["PortFacilityGISISCode"]; changedPfC = true;
|
||||||
|
if (poc.PortFacilityGISISCode.Length > 4)
|
||||||
|
poc.PortFacilityGISISCode = poc.PortFacilityGISISCode.Substring(0, 4);
|
||||||
|
}
|
||||||
|
|
||||||
if (sDict.ContainsKey("ShipToShipActivityLocationName")) { sts.ShipToShipActivityLocationName = sDict["ShipToShipActivityLocationName"]; changedStS = true; }
|
if (sDict.ContainsKey("ShipToShipActivityLocationName")) { sts.ShipToShipActivityLocationName = sDict["ShipToShipActivityLocationName"]; changedStS = true; }
|
||||||
if (sDict.ContainsKey("ShipToShipActivityLocationLoCode") && sDict.ContainsKey("ShipToShipActivityCountryCode"))
|
if (sDict.ContainsKey("ShipToShipActivityLocationLoCode") && sDict.ContainsKey("ShipToShipActivityCountryCode"))
|
||||||
@ -975,8 +984,8 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
if (sDict.ContainsKey("ShipToShipActivityLocationCoordinatesLatitude")) { sts.ShipToShipActivityLocationCoordinatesLatitude = Int32.Parse(sDict["ShipToShipActivityLocationCoordinatesLatitude"]); changedStS = true; }
|
if (sDict.ContainsKey("ShipToShipActivityLocationCoordinatesLatitude")) { sts.ShipToShipActivityLocationCoordinatesLatitude = Int32.Parse(sDict["ShipToShipActivityLocationCoordinatesLatitude"]); changedStS = true; }
|
||||||
if (sDict.ContainsKey("ShipToShipActivityLocationCoordinatesLongitude")) { sts.ShipToShipActivityLocationCoordinatesLongitude = Int32.Parse(sDict["ShipToShipActivityLocationCoordinatesLongitude"]); changedStS = true; }
|
if (sDict.ContainsKey("ShipToShipActivityLocationCoordinatesLongitude")) { sts.ShipToShipActivityLocationCoordinatesLongitude = Int32.Parse(sDict["ShipToShipActivityLocationCoordinatesLongitude"]); changedStS = true; }
|
||||||
if (sDict.ContainsKey("ShipToShipActivityDateFrom")) { sts.ShipToShipActivityDateFrom = DateTime.Parse(sDict["ShipToShipActivityDateFrom"]); changedStS = true; }
|
if (sDict.ContainsKey("ShipToShipActivityDateFrom")) { sts.ShipToShipActivityDateFrom = Extensions.TryParse(sDict["ShipToShipActivityDateFrom"]); changedStS = true; }
|
||||||
if (sDict.ContainsKey("ShipToShipActivityDateTo")) { sts.ShipToShipActivityDateTo = DateTime.Parse(sDict["ShipToShipActivityDateTo"]); changedStS = true; }
|
if (sDict.ContainsKey("ShipToShipActivityDateTo")) { sts.ShipToShipActivityDateTo = Extensions.TryParse(sDict["ShipToShipActivityDateTo"]); changedStS = true; }
|
||||||
if (sDict.ContainsKey("ShipToShipActivityType")) { sts.ShipToShipActivityType = sDict["ShipToShipActivityType"]; changedStS = true; }
|
if (sDict.ContainsKey("ShipToShipActivityType")) { sts.ShipToShipActivityType = sDict["ShipToShipActivityType"]; changedStS = true; }
|
||||||
if (sDict.ContainsKey("ShipToShipActivitySecurityMattersToReport")) { sts.ShipToShipActivitySecurityMattersToReport = sDict["ShipToShipActivitySecurityMattersToReport"]; changedStS = true; }
|
if (sDict.ContainsKey("ShipToShipActivitySecurityMattersToReport")) { sts.ShipToShipActivitySecurityMattersToReport = sDict["ShipToShipActivitySecurityMattersToReport"]; changedStS = true; }
|
||||||
|
|
||||||
@ -1000,8 +1009,8 @@ namespace bsmd.herberg.FormService
|
|||||||
if (vDict.ContainsKey("PortNameOfCall")) aMessageCore.Portname = vDict["PortNameOfCall"];
|
if (vDict.ContainsKey("PortNameOfCall")) aMessageCore.Portname = vDict["PortNameOfCall"];
|
||||||
if (vDict.ContainsKey("PortOfCall")) aMessageCore.PoC = "DE" + vDict["PortOfCall"];
|
if (vDict.ContainsKey("PortOfCall")) aMessageCore.PoC = "DE" + vDict["PortOfCall"];
|
||||||
if (vDict.ContainsKey("TransitKielCanal")) aMessageCore.IsTransit = vDict["TransitKielCanal"].Equals("Y");
|
if (vDict.ContainsKey("TransitKielCanal")) aMessageCore.IsTransit = vDict["TransitKielCanal"].Equals("Y");
|
||||||
if (vDict.ContainsKey("ETAPortOfCall")) aMessageCore.ETA = DateTime.Parse(vDict["ETAPortOfCall"]);
|
if (vDict.ContainsKey("ETAPortOfCall")) aMessageCore.ETA = Extensions.TryParse(vDict["ETAPortOfCall"]);
|
||||||
if (vDict.ContainsKey("ETAKielCanal")) aMessageCore.ETAKielCanal = DateTime.Parse(vDict["ETAKielCanal"]);
|
if (vDict.ContainsKey("ETAKielCanal")) aMessageCore.ETAKielCanal = Extensions.TryParse(vDict["ETAKielCanal"]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endregion
|
#endregion
|
||||||
@ -1010,7 +1019,7 @@ namespace bsmd.herberg.FormService
|
|||||||
case "Transit":
|
case "Transit":
|
||||||
{
|
{
|
||||||
theMessage.MessageNotificationClass = Message.NotificationClass.TRANSIT;
|
theMessage.MessageNotificationClass = Message.NotificationClass.TRANSIT;
|
||||||
if (vDict.ContainsKey("ETAKielCanal")) aMessageCore.ETAKielCanal = DateTime.Parse(vDict["ETAKielCanal"]);
|
if (vDict.ContainsKey("ETAKielCanal")) aMessageCore.ETAKielCanal = Extensions.TryParse(vDict["ETAKielCanal"]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endregion
|
#endregion
|
||||||
@ -1158,7 +1167,7 @@ namespace bsmd.herberg.FormService
|
|||||||
{
|
{
|
||||||
HAZ newHaz = new HAZ();
|
HAZ newHaz = new HAZ();
|
||||||
newHaz.MessageHeader = theMessage;
|
newHaz.MessageHeader = theMessage;
|
||||||
theMessage.MessageNotificationClass = Message.NotificationClass.HAZA;
|
theMessage.MessageNotificationClass = isDeparture ? Message.NotificationClass.HAZD : Message.NotificationClass.HAZA;
|
||||||
theMessage.Elements.Add(newHaz);
|
theMessage.Elements.Add(newHaz);
|
||||||
}
|
}
|
||||||
HAZ haz = theMessage.Elements[0] as HAZ;
|
HAZ haz = theMessage.Elements[0] as HAZ;
|
||||||
@ -1169,7 +1178,7 @@ namespace bsmd.herberg.FormService
|
|||||||
{
|
{
|
||||||
if (vDict.ContainsKey("NoDPGOnBoard")) haz.NoDPGOnBoardOnArrival = vDict["NoDPGOnBoard"].Equals("Y");
|
if (vDict.ContainsKey("NoDPGOnBoard")) haz.NoDPGOnBoardOnArrival = vDict["NoDPGOnBoard"].Equals("Y");
|
||||||
if (vDict.ContainsKey("DPGManifestOnBoard")) haz.DPGManifestOnBoardOnArrival = vDict["DPGManifestOnBoard"].Equals("Y");
|
if (vDict.ContainsKey("DPGManifestOnBoard")) haz.DPGManifestOnBoardOnArrival = vDict["DPGManifestOnBoard"].Equals("Y");
|
||||||
if (vDict.ContainsKey("INFShipClass")) haz.INFShipClass = (byte)Enum.Parse(typeof(Enums.INFShipClass), vDict["INFShipClass"]);
|
if (vDict.ContainsKey("INFShipClass")) haz.INFShipClass = (byte)Enum.Parse(typeof(Enums.INFShipClass), vDict["INFShipClass"], true);
|
||||||
if (vDict.ContainsKey("DPGClassificationIMDG")) haz.DPGClassificationIMDG = vDict["DPGClassificationIMDG"].Equals("1");
|
if (vDict.ContainsKey("DPGClassificationIMDG")) haz.DPGClassificationIMDG = vDict["DPGClassificationIMDG"].Equals("1");
|
||||||
if (vDict.ContainsKey("DPGClassificationIGC")) haz.DPGClassificationIMDG = vDict["DPGClassificationIGC"].Equals("1");
|
if (vDict.ContainsKey("DPGClassificationIGC")) haz.DPGClassificationIMDG = vDict["DPGClassificationIGC"].Equals("1");
|
||||||
if (vDict.ContainsKey("DPGClassificationIBC")) haz.DPGClassificationIMDG = vDict["DPGClassificationIBC"].Equals("1");
|
if (vDict.ContainsKey("DPGClassificationIBC")) haz.DPGClassificationIMDG = vDict["DPGClassificationIBC"].Equals("1");
|
||||||
@ -1192,8 +1201,10 @@ namespace bsmd.herberg.FormService
|
|||||||
imdgPosition.HAZ = haz;
|
imdgPosition.HAZ = haz;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
saveMessages.Add(imdgPosition);
|
||||||
|
|
||||||
if (aDict.ContainsKey("UNNumber")) imdgPosition.UNNumber = aDict["UNNumber"];
|
if (aDict.ContainsKey("UNNumber")) imdgPosition.UNNumber = aDict["UNNumber"];
|
||||||
if (aDict.ContainsKey("PackingGroup")) imdgPosition.PackingGroup = (byte)Enum.Parse(typeof(Enums.PackingGroup), aDict["PackingGroup"]);
|
if (aDict.ContainsKey("PackingGroup")) imdgPosition.PackingGroup = (byte)Enum.Parse(typeof(Enums.PackingGroup), aDict["PackingGroup"], true);
|
||||||
if (aDict.ContainsKey("ProperShippingName")) imdgPosition.ProperShippingName = aDict["ProperShippingName"];
|
if (aDict.ContainsKey("ProperShippingName")) imdgPosition.ProperShippingName = aDict["ProperShippingName"];
|
||||||
if (aDict.ContainsKey("IMOClass")) imdgPosition.IMOClass = aDict["IMOClass"];
|
if (aDict.ContainsKey("IMOClass")) imdgPosition.IMOClass = aDict["IMOClass"];
|
||||||
if (aDict.ContainsKey("CompatibilityGroup")) imdgPosition.CompatibilityGroup = aDict["CompatibilityGroup"];
|
if (aDict.ContainsKey("CompatibilityGroup")) imdgPosition.CompatibilityGroup = aDict["CompatibilityGroup"];
|
||||||
@ -1207,7 +1218,18 @@ namespace bsmd.herberg.FormService
|
|||||||
if (aDict.ContainsKey("Class7CSI")) imdgPosition.Class7CSI = Int32.Parse(aDict["Class7CSI"]);
|
if (aDict.ContainsKey("Class7CSI")) imdgPosition.Class7CSI = Int32.Parse(aDict["Class7CSI"]);
|
||||||
if (aDict.ContainsKey("ControlTemperature_CEL")) imdgPosition.ControlTemperature_CEL = Double.Parse(aDict["ControlTemperature_CEL"], NumberFormatInfo.InvariantInfo);
|
if (aDict.ContainsKey("ControlTemperature_CEL")) imdgPosition.ControlTemperature_CEL = Double.Parse(aDict["ControlTemperature_CEL"], NumberFormatInfo.InvariantInfo);
|
||||||
if (aDict.ContainsKey("EmergencyTemperature_CEL")) imdgPosition.EmergencyTemperature_CEL = Double.Parse(aDict["EmergencyTemperature_CEL"], NumberFormatInfo.InvariantInfo);
|
if (aDict.ContainsKey("EmergencyTemperature_CEL")) imdgPosition.EmergencyTemperature_CEL = Double.Parse(aDict["EmergencyTemperature_CEL"], NumberFormatInfo.InvariantInfo);
|
||||||
// TODO if (aDict.ContainsKey("SubsidiaryRisk")) imdgPosition.su
|
if (aDict.ContainsKey("SubsidiaryRisk"))
|
||||||
|
{
|
||||||
|
if (imdgPosition.SubsidiaryRiskList.Count == 0)
|
||||||
|
{
|
||||||
|
SubsidiaryRisks newSRisk = new SubsidiaryRisks();
|
||||||
|
newSRisk.IMDGPosition = imdgPosition;
|
||||||
|
imdgPosition.SubsidiaryRiskList.Add(newSRisk);
|
||||||
|
}
|
||||||
|
SubsidiaryRisks sRisks = imdgPosition.SubsidiaryRiskList[0];
|
||||||
|
sRisks.SubsidiaryRisk = aDict["SubsidiaryRisk"];
|
||||||
|
saveMessages.Add(sRisks);
|
||||||
|
}
|
||||||
if (aDict.ContainsKey("MarinePollutant")) imdgPosition.MarinePollutant = aDict["MarinePollutant"].Equals("Y");
|
if (aDict.ContainsKey("MarinePollutant")) imdgPosition.MarinePollutant = aDict["MarinePollutant"].Equals("Y");
|
||||||
if (aDict.ContainsKey("NumberOfPackages")) imdgPosition.NumberOfPackages = Int32.Parse(aDict["NumberOfPackages"]);
|
if (aDict.ContainsKey("NumberOfPackages")) imdgPosition.NumberOfPackages = Int32.Parse(aDict["NumberOfPackages"]);
|
||||||
if (aDict.ContainsKey("PackageType")) imdgPosition.PackageType = aDict["PackageType"];
|
if (aDict.ContainsKey("PackageType")) imdgPosition.PackageType = aDict["PackageType"];
|
||||||
@ -1231,7 +1253,6 @@ namespace bsmd.herberg.FormService
|
|||||||
aDict["Identifier"], key);
|
aDict["Identifier"], key);
|
||||||
}
|
}
|
||||||
|
|
||||||
saveMessages.Add(imdgPosition);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1251,7 +1272,7 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (aDict.ContainsKey("ProductName")) ibcPosition.ProductName = aDict["ProductName"];
|
if (aDict.ContainsKey("ProductName")) ibcPosition.ProductName = aDict["ProductName"];
|
||||||
if (aDict.ContainsKey("PollutionCategory")) ibcPosition.PollutionCategory = (byte)Enum.Parse(typeof(Enums.PollutionCategory), aDict["PollutionCategory"]);
|
if (aDict.ContainsKey("PollutionCategory")) ibcPosition.PollutionCategory = (byte)Enum.Parse(typeof(Enums.PollutionCategory), aDict["PollutionCategory"], true);
|
||||||
if (aDict.ContainsKey("Hazards")) ibcPosition.Hazards = Enums.ParseHazardType(aDict["Hazards"]);
|
if (aDict.ContainsKey("Hazards")) ibcPosition.Hazards = Enums.ParseHazardType(aDict["Hazards"]);
|
||||||
if (aDict.ContainsKey("FlashpointInformation")) ibcPosition.FlashpointInformation = Enums.ParseFlashpointInformation(aDict["FlashpointInformation"]);
|
if (aDict.ContainsKey("FlashpointInformation")) ibcPosition.FlashpointInformation = Enums.ParseFlashpointInformation(aDict["FlashpointInformation"]);
|
||||||
if (aDict.ContainsKey("Quantity_KGM")) ibcPosition.Quantity_KGM = Double.Parse(aDict["Quantity_KGM"], NumberFormatInfo.InvariantInfo);
|
if (aDict.ContainsKey("Quantity_KGM")) ibcPosition.Quantity_KGM = Double.Parse(aDict["Quantity_KGM"], NumberFormatInfo.InvariantInfo);
|
||||||
@ -1406,8 +1427,8 @@ namespace bsmd.herberg.FormService
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aMessageCore.BSMDStatus == Message.BSMDStatus.UNDEFINED)
|
if (aMessageCore.BSMDStatusInternal == MessageCore.BSMDStatus.UNDEFINED)
|
||||||
aMessageCore.BSMDStatus = Message.BSMDStatus.CREATE_RECEIVE_RECEIPT;
|
aMessageCore.BSMDStatusInternal = MessageCore.BSMDStatus.CREATE_RECEIVE_RECEIPT;
|
||||||
|
|
||||||
DBManager.Instance.Save(aMessageCore); // warum?
|
DBManager.Instance.Save(aMessageCore); // warum?
|
||||||
}
|
}
|
||||||
@ -1420,7 +1441,7 @@ namespace bsmd.herberg.FormService
|
|||||||
{
|
{
|
||||||
List<Message> messages = DBManager.Instance.GetMessagesForCore(aMessageCore);
|
List<Message> messages = DBManager.Instance.GetMessagesForCore(aMessageCore);
|
||||||
Dictionary<string, Message> result = new Dictionary<string, Message>();
|
Dictionary<string, Message> result = new Dictionary<string, Message>();
|
||||||
_log.InfoFormat("Core has {0} messages", messages.Count);
|
_log.DebugFormat("Core has {0} messages", messages.Count);
|
||||||
foreach (Message message in messages)
|
foreach (Message message in messages)
|
||||||
{
|
{
|
||||||
if (!result.ContainsKey(message.MessageNotificationClass.ToString()))
|
if (!result.ContainsKey(message.MessageNotificationClass.ToString()))
|
||||||
|
|||||||
BIN
nsw/dakosy/National Single Window.xls
Normal file
BIN
nsw/dakosy/National Single Window.xls
Normal file
Binary file not shown.
4608
nsw/dbh/NSWRequest V2.0 2015-03-31.xsd
Normal file
4608
nsw/dbh/NSWRequest V2.0 2015-03-31.xsd
Normal file
File diff suppressed because it is too large
Load Diff
4743
nsw/dbh/NSWRequest V2.1 2015-06-01.xsd
Normal file
4743
nsw/dbh/NSWRequest V2.1 2015-06-01.xsd
Normal file
File diff suppressed because it is too large
Load Diff
@ -193,140 +193,10 @@
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="ReportingParty">
|
<xs:element name="ReportingParty" type="ReportingParty">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Reporter data</xs:documentation>
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
|
||||||
<xs:sequence>
|
|
||||||
<xs:element minOccurs="0" name="RPType">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Type of reporter</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:enumeration value="MASTER" />
|
|
||||||
<xs:enumeration value="SHIPOWNER" />
|
|
||||||
<xs:enumeration value="CHARTERER" />
|
|
||||||
<xs:enumeration value="AGENT" />
|
|
||||||
<xs:enumeration value="PORT_AUTHORITY" />
|
|
||||||
<xs:enumeration value="CARRIER" />
|
|
||||||
<xs:enumeration value="OTHERS" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="RPName">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Company name</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:minLength value="1" />
|
|
||||||
<xs:maxLength value="99" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element minOccurs="0" name="RPStreetAndNumber">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Street/street number</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:minLength value="1" />
|
|
||||||
<xs:maxLength value="99" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element minOccurs="0" name="RPPostalCode">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>ZIP/Postal code</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:minLength value="1" />
|
|
||||||
<xs:maxLength value="24" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element minOccurs="0" name="RPCity">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>City</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:minLength value="1" />
|
|
||||||
<xs:maxLength value="99" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element minOccurs="0" name="RPCountry">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Country</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:minLength value="1" />
|
|
||||||
<xs:maxLength value="99" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="RPLastName">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Last name of contact</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:minLength value="1" />
|
|
||||||
<xs:maxLength value="99" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element minOccurs="0" name="RPFirstName">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>First name of contact</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:minLength value="1" />
|
|
||||||
<xs:maxLength value="99" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="RPPhone">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Phone number</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:minLength value="1" />
|
|
||||||
<xs:maxLength value="99" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element minOccurs="0" name="RPFax">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>Fax number</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:minLength value="1" />
|
|
||||||
<xs:maxLength value="99" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
|
||||||
<xs:element name="RPEMail">
|
|
||||||
<xs:annotation>
|
|
||||||
<xs:documentation>E-Mail adress</xs:documentation>
|
|
||||||
</xs:annotation>
|
|
||||||
<xs:simpleType>
|
|
||||||
<xs:restriction base="xs:string">
|
|
||||||
<xs:minLength value="1" />
|
|
||||||
<xs:maxLength value="99" />
|
|
||||||
</xs:restriction>
|
|
||||||
</xs:simpleType>
|
|
||||||
</xs:element>
|
|
||||||
</xs:sequence>
|
|
||||||
</xs:complexType>
|
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:choice>
|
<xs:choice>
|
||||||
<xs:element name="ReportingClassesToReset">
|
<xs:element name="ReportingClassesToReset">
|
||||||
@ -350,6 +220,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:choice>
|
<xs:choice>
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Part needed for a Visit</xs:documentation>
|
<xs:documentation>Part needed for a Visit</xs:documentation>
|
||||||
@ -451,6 +326,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="ATAPortOfCall" type="xs:dateTime">
|
<xs:element name="ATAPortOfCall" type="xs:dateTime">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Actual Time of Arrival (ATA) at first port facility in port of call (YYYY-MM-DDThh:mm:ssTZD)</xs:documentation>
|
<xs:documentation>Actual Time of Arrival (ATA) at first port facility in port of call (YYYY-MM-DDThh:mm:ssTZD)</xs:documentation>
|
||||||
@ -465,6 +345,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="ATDPortOfCall" type="xs:dateTime">
|
<xs:element name="ATDPortOfCall" type="xs:dateTime">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Actual Time of Departure (ATD) from last port facility in port of call (YYYY-MM-DDThh:mm:ssTZD)(</xs:documentation>
|
<xs:documentation>Actual Time of Departure (ATD) from last port facility in port of call (YYYY-MM-DDThh:mm:ssTZD)(</xs:documentation>
|
||||||
@ -478,6 +363,12 @@
|
|||||||
<xs:documentation>Sea security (reporting class)</xs:documentation>
|
<xs:documentation>Sea security (reporting class)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:choice>
|
<xs:choice>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
@ -840,6 +731,7 @@
|
|||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:choice>
|
</xs:choice>
|
||||||
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="POBA">
|
<xs:element minOccurs="0" name="POBA">
|
||||||
@ -848,6 +740,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="TotalPersonsOnBoardUponArrival">
|
<xs:element name="TotalPersonsOnBoardUponArrival">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Number of persons on board upon arrival</xs:documentation>
|
<xs:documentation>Number of persons on board upon arrival</xs:documentation>
|
||||||
@ -898,6 +795,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="TotalPersonsOnBoardUponDeparture">
|
<xs:element name="TotalPersonsOnBoardUponDeparture">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Number of persons on board upon departure</xs:documentation>
|
<xs:documentation>Number of persons on board upon departure</xs:documentation>
|
||||||
@ -948,6 +850,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="NameOfMaster">
|
<xs:element name="NameOfMaster">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Name of master</xs:documentation>
|
<xs:documentation>Name of master</xs:documentation>
|
||||||
@ -968,6 +875,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="DraughtUponArrival_DMT">
|
<xs:element name="DraughtUponArrival_DMT">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Draught on arrival in decimetre (DMT)</xs:documentation>
|
<xs:documentation>Draught on arrival in decimetre (DMT)</xs:documentation>
|
||||||
@ -987,6 +899,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="DraughtUponDeparture_DMT">
|
<xs:element name="DraughtUponDeparture_DMT">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Draught on departure in decimetre (DMT)</xs:documentation>
|
<xs:documentation>Draught on departure in decimetre (DMT)</xs:documentation>
|
||||||
@ -1006,6 +923,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element maxOccurs="unbounded" name="BunkerFuelArrival">
|
<xs:element maxOccurs="unbounded" name="BunkerFuelArrival">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Bunker fuel on arrival</xs:documentation>
|
<xs:documentation>Bunker fuel on arrival</xs:documentation>
|
||||||
@ -1045,6 +967,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element maxOccurs="unbounded" name="BunkerFuelDeparture">
|
<xs:element maxOccurs="unbounded" name="BunkerFuelDeparture">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Bunker fuel on departure</xs:documentation>
|
<xs:documentation>Bunker fuel on departure</xs:documentation>
|
||||||
@ -1084,6 +1011,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="ShipName">
|
<xs:element name="ShipName">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Ship name</xs:documentation>
|
<xs:documentation>Ship name</xs:documentation>
|
||||||
@ -1277,6 +1209,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element maxOccurs="unbounded" name="Cargo">
|
<xs:element maxOccurs="unbounded" name="Cargo">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Per type of cargo that is moved in Port of call.</xs:documentation>
|
<xs:documentation>Per type of cargo that is moved in Port of call.</xs:documentation>
|
||||||
@ -1336,6 +1273,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="ShippingArea">
|
<xs:element name="ShippingArea">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Shipping area (North sea/baltic sea, europe, overseas)</xs:documentation>
|
<xs:documentation>Shipping area (North sea/baltic sea, europe, overseas)</xs:documentation>
|
||||||
@ -1406,6 +1348,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element maxOccurs="unbounded" name="Service">
|
<xs:element maxOccurs="unbounded" name="Service">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Service type</xs:documentation>
|
<xs:documentation>Service type</xs:documentation>
|
||||||
@ -1457,6 +1404,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="Tanker">
|
<xs:element name="Tanker">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Is it a tanker (y/n)</xs:documentation>
|
<xs:documentation>Is it a tanker (y/n)</xs:documentation>
|
||||||
@ -1567,6 +1519,12 @@
|
|||||||
<xs:documentation>Declaration of health (reporting class)</xs:documentation>
|
<xs:documentation>Declaration of health (reporting class)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:choice>
|
<xs:choice>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
@ -1911,6 +1869,7 @@
|
|||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:choice>
|
</xs:choice>
|
||||||
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="WAS">
|
<xs:element minOccurs="0" name="WAS">
|
||||||
@ -1918,6 +1877,12 @@
|
|||||||
<xs:documentation>Waste (reporting class)</xs:documentation>
|
<xs:documentation>Waste (reporting class)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:choice>
|
<xs:choice>
|
||||||
<xs:element name="WasteDisposalValidExemption">
|
<xs:element name="WasteDisposalValidExemption">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
@ -2080,6 +2045,7 @@
|
|||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:choice>
|
</xs:choice>
|
||||||
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="CREW">
|
<xs:element minOccurs="0" name="CREW">
|
||||||
@ -2088,6 +2054,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element maxOccurs="unbounded" name="CrewMember">
|
<xs:element maxOccurs="unbounded" name="CrewMember">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Crew member</xs:documentation>
|
<xs:documentation>Crew member</xs:documentation>
|
||||||
@ -2215,6 +2186,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element maxOccurs="unbounded" name="Passenger">
|
<xs:element maxOccurs="unbounded" name="Passenger">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Information to each person</xs:documentation>
|
<xs:documentation>Information to each person</xs:documentation>
|
||||||
@ -2364,6 +2340,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element name="StowawayOnBoard">
|
<xs:element name="StowawayOnBoard">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Stowaways on board (y/n)</xs:documentation>
|
<xs:documentation>Stowaways on board (y/n)</xs:documentation>
|
||||||
@ -2409,6 +2390,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element maxOccurs="unbounded" name="TowageOnArrival">
|
<xs:element maxOccurs="unbounded" name="TowageOnArrival">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Towage on arrival</xs:documentation>
|
<xs:documentation>Towage on arrival</xs:documentation>
|
||||||
@ -2608,6 +2594,11 @@
|
|||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:element maxOccurs="unbounded" name="TowageOnDeparture">
|
<xs:element maxOccurs="unbounded" name="TowageOnDeparture">
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
@ -2783,6 +2774,12 @@
|
|||||||
<xs:documentation>Dangerous goods on arrival (reporting class)</xs:documentation>
|
<xs:documentation>Dangerous goods on arrival (reporting class)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:choice>
|
<xs:choice>
|
||||||
<xs:element name="NoDPGOnBoardOnArrival">
|
<xs:element name="NoDPGOnBoardOnArrival">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
@ -3166,7 +3163,7 @@
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="Identifier">
|
<xs:element minOccurs="0" name="Identifier">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
@ -3312,7 +3309,7 @@ IMO RESOLUTION MEPC.119(52)</xs:documentation>
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="Identifier">
|
<xs:element minOccurs="0" name="Identifier">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
@ -3420,7 +3417,7 @@ IMO RESOLUTION MEPC.119(52)</xs:documentation>
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="Identifier">
|
<xs:element minOccurs="0" name="Identifier">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
@ -3539,7 +3536,7 @@ IMO RESOLUTION MEPC.119(52)</xs:documentation>
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="Identifier">
|
<xs:element minOccurs="0" name="Identifier">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
@ -3648,7 +3645,7 @@ IMO RESOLUTION MEPC.119(52)</xs:documentation>
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="Identifier">
|
<xs:element minOccurs="0" name="Identifier">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
@ -3667,6 +3664,7 @@ IMO RESOLUTION MEPC.119(52)</xs:documentation>
|
|||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:choice>
|
</xs:choice>
|
||||||
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element minOccurs="0" name="HAZD">
|
<xs:element minOccurs="0" name="HAZD">
|
||||||
@ -3674,6 +3672,12 @@ IMO RESOLUTION MEPC.119(52)</xs:documentation>
|
|||||||
<xs:documentation>Dangerous goods on departure (reporting class)</xs:documentation>
|
<xs:documentation>Dangerous goods on departure (reporting class)</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
<xs:complexType>
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="ReportingParty" type="ReportingParty">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Reporter data</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
</xs:element>
|
||||||
<xs:choice>
|
<xs:choice>
|
||||||
<xs:element name="NoDPGOnBoardOnDeparture">
|
<xs:element name="NoDPGOnBoardOnDeparture">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
@ -4057,7 +4061,7 @@ IMO RESOLUTION MEPC.119(52)</xs:documentation>
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="Identifier">
|
<xs:element minOccurs="0" name="Identifier">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
@ -4203,7 +4207,7 @@ IMO RESOLUTION MEPC.119(52)</xs:documentation>
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="Identifier">
|
<xs:element minOccurs="0" name="Identifier">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
@ -4311,7 +4315,7 @@ IMO RESOLUTION MEPC.119(52)</xs:documentation>
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="Identifier">
|
<xs:element minOccurs="0" name="Identifier">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
@ -4430,7 +4434,7 @@ IMO RESOLUTION MEPC.119(52)</xs:documentation>
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="Identifier">
|
<xs:element minOccurs="0" name="Identifier">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
@ -4539,7 +4543,7 @@ IMO RESOLUTION MEPC.119(52)</xs:documentation>
|
|||||||
</xs:restriction>
|
</xs:restriction>
|
||||||
</xs:simpleType>
|
</xs:simpleType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
<xs:element name="Identifier">
|
<xs:element minOccurs="0" name="Identifier">
|
||||||
<xs:annotation>
|
<xs:annotation>
|
||||||
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
<xs:documentation>Unique identifier. Will be addressed in possible Violations in this dg item.</xs:documentation>
|
||||||
</xs:annotation>
|
</xs:annotation>
|
||||||
@ -4558,6 +4562,7 @@ IMO RESOLUTION MEPC.119(52)</xs:documentation>
|
|||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:choice>
|
</xs:choice>
|
||||||
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
@ -4605,4 +4610,134 @@ IMO RESOLUTION MEPC.119(52)</xs:documentation>
|
|||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:element>
|
</xs:element>
|
||||||
|
<xs:complexType name="ReportingParty">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element minOccurs="0" name="RPType">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Type of reporter</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="MASTER" />
|
||||||
|
<xs:enumeration value="SHIPOWNER" />
|
||||||
|
<xs:enumeration value="CHARTERER" />
|
||||||
|
<xs:enumeration value="AGENT" />
|
||||||
|
<xs:enumeration value="PORT_AUTHORITY" />
|
||||||
|
<xs:enumeration value="CARRIER" />
|
||||||
|
<xs:enumeration value="OTHERS" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="RPName">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Company name</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1" />
|
||||||
|
<xs:maxLength value="99" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="RPStreetAndNumber">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Street/street number</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1" />
|
||||||
|
<xs:maxLength value="99" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="RPPostalCode">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>ZIP/Postal code</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1" />
|
||||||
|
<xs:maxLength value="24" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="RPCity">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>City</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1" />
|
||||||
|
<xs:maxLength value="99" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="RPCountry">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Country</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1" />
|
||||||
|
<xs:maxLength value="99" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="RPLastName">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Last name of contact</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1" />
|
||||||
|
<xs:maxLength value="99" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="RPFirstName">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>First name of contact</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1" />
|
||||||
|
<xs:maxLength value="99" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="RPPhone">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Phone number</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1" />
|
||||||
|
<xs:maxLength value="99" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element minOccurs="0" name="RPFax">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>Fax number</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1" />
|
||||||
|
<xs:maxLength value="99" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="RPEMail">
|
||||||
|
<xs:annotation>
|
||||||
|
<xs:documentation>E-Mail adress</xs:documentation>
|
||||||
|
</xs:annotation>
|
||||||
|
<xs:simpleType>
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:minLength value="1" />
|
||||||
|
<xs:maxLength value="99" />
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
</xs:schema>
|
</xs:schema>
|
||||||
10
nsw/dbh/XSD amendments2.1.txt
Normal file
10
nsw/dbh/XSD amendments2.1.txt
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--
|
||||||
|
-- NSWRequest
|
||||||
|
--
|
||||||
|
|
||||||
|
2015-06-01
|
||||||
|
HAZA/HAZD - all <Identifier> become optional (minOccurs?0)
|
||||||
|
|
||||||
|
2015-05-27
|
||||||
|
- Blanks removed from element name HAZA.DPGOnArrival.DPGItemIMSBC.BulkCargoShippingName
|
||||||
|
and HAZD.DPGOnDeparture.DPGItemIMSBC.BulkCargoShippingName
|
||||||
Loading…
Reference in New Issue
Block a user