einige kleinere Korrekturen und ergänzungenn
This commit is contained in:
parent
7cf82f732c
commit
b8d4e943e5
Binary file not shown.
@ -196,3 +196,18 @@
|
|||||||
-----------------------------
|
-----------------------------
|
||||||
18.11.2015 07:43:31 20151118074325-ad8761c2-bfbe-4afc-a9f5-004ab739ebd2.xml(28,61 kB) - Transfer successful
|
18.11.2015 07:43:31 20151118074325-ad8761c2-bfbe-4afc-a9f5-004ab739ebd2.xml(28,61 kB) - Transfer successful
|
||||||
18.11.2015 07:43:31 No more Answers
|
18.11.2015 07:43:31 No more Answers
|
||||||
|
-----------------------------
|
||||||
|
10.12.2015 20:18:57 Client started
|
||||||
|
-----------------------------
|
||||||
|
10.12.2015 20:18:57 No files to send
|
||||||
|
10.12.2015 20:18:58 Getting Answers
|
||||||
|
10.12.2015 20:18:58 Filename: DEEME-2015-DYCIOJ_VISIT.xml
|
||||||
|
10.12.2015 20:18:58 Filesize: 133(133 B)
|
||||||
|
10.12.2015 20:18:58 PACKETSIZE: 500
|
||||||
|
10.12.2015 20:18:58 Tiles: 1
|
||||||
|
10.12.2015 20:18:58 Getting Answers
|
||||||
|
10.12.2015 20:18:59 Filename: DEEME-2015-IDUQJU_VISIT.xml
|
||||||
|
10.12.2015 20:18:59 Filesize: 100(100 B)
|
||||||
|
10.12.2015 20:18:59 PACKETSIZE: 500
|
||||||
|
10.12.2015 20:18:59 Tiles: 1
|
||||||
|
10.12.2015 20:18:59 No more Answers
|
||||||
|
|||||||
13
nsw/Source/SQL/Update_2.4_To_2.4.14.sql
Normal file
13
nsw/Source/SQL/Update_2.4_To_2.4.14.sql
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
ALTER TABLE [dbo].[Error]
|
||||||
|
ADD [Created] DATETIME DEFAULT (getdate()) NULL,
|
||||||
|
[Deleted] INT DEFAULT 0 NULL;
|
||||||
|
|
||||||
|
|
||||||
|
GO
|
||||||
|
|
||||||
|
ALTER TABLE [dbo].[Violation]
|
||||||
|
ADD [Created] DATETIME DEFAULT (getdate()) NULL,
|
||||||
|
[Deleted] INT DEFAULT 0 NULL;
|
||||||
|
|
||||||
|
|
||||||
|
GO
|
||||||
@ -148,7 +148,7 @@ namespace SendNSWMessageService
|
|||||||
if ((message.MessageNotificationClass == Message.NotificationClass.VISIT) ||
|
if ((message.MessageNotificationClass == Message.NotificationClass.VISIT) ||
|
||||||
(message.MessageNotificationClass == Message.NotificationClass.TRANSIT))
|
(message.MessageNotificationClass == Message.NotificationClass.TRANSIT))
|
||||||
continue;
|
continue;
|
||||||
|
/*
|
||||||
// Wenn kein Gefahrgut gemeldet ist soll die Meldeklasse gar nicht gesendet werden
|
// Wenn kein Gefahrgut gemeldet ist soll die Meldeklasse gar nicht gesendet werden
|
||||||
if((message.MessageNotificationClass == Message.NotificationClass.HAZA) ||
|
if((message.MessageNotificationClass == Message.NotificationClass.HAZA) ||
|
||||||
(message.MessageNotificationClass == Message.NotificationClass.HAZD))
|
(message.MessageNotificationClass == Message.NotificationClass.HAZD))
|
||||||
@ -187,7 +187,7 @@ namespace SendNSWMessageService
|
|||||||
if ((DateTime.UtcNow - ata.ATAPortOfCall.Value).TotalDays > 7) continue;
|
if ((DateTime.UtcNow - ata.ATAPortOfCall.Value).TotalDays > 7) continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
if ((message.InternalStatus != Message.BSMDStatus.CONFIRMED) &&
|
if ((message.InternalStatus != Message.BSMDStatus.CONFIRMED) &&
|
||||||
(message.InternalStatus != Message.BSMDStatus.SENT))
|
(message.InternalStatus != Message.BSMDStatus.SENT))
|
||||||
|
|||||||
@ -48,6 +48,8 @@ namespace bsmd.ExcelReadService
|
|||||||
return cellValue;
|
return cellValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void Dispose()
|
public void Dispose()
|
||||||
{
|
{
|
||||||
if (this.dataReader != null)
|
if (this.dataReader != null)
|
||||||
|
|||||||
@ -158,7 +158,11 @@ namespace bsmd.ReportGenerator
|
|||||||
|
|
||||||
paragraph = section.AddParagraph("Rendering date: ");
|
paragraph = section.AddParagraph("Rendering date: ");
|
||||||
paragraph.AddDateField();
|
paragraph.AddDateField();
|
||||||
paragraph.Format.SpaceAfter = Unit.FromCentimeter(2);
|
|
||||||
|
paragraph = section.AddParagraph("Note: Timezone for all values is assumed as UTC!");
|
||||||
|
paragraph.Format.Font.Size = 12;
|
||||||
|
paragraph.Format.Font.Bold = true;
|
||||||
|
paragraph.Format.SpaceAfter = Unit.FromCentimeter(1.5);
|
||||||
|
|
||||||
Table table = document.LastSection.AddTable();
|
Table table = document.LastSection.AddTable();
|
||||||
table.Format.Font.Size = 14;
|
table.Format.Font.Size = 14;
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
<userSettings>
|
<userSettings>
|
||||||
<bsmd.dakosy.ResponseService.Properties.Settings>
|
<bsmd.dakosy.ResponseService.Properties.Settings>
|
||||||
<setting name="ConnectionString" serializeAs="String">
|
<setting name="ConnectionString" serializeAs="String">
|
||||||
<value>Data Source=192.168.2.5\SQLEXPRESS;Initial Catalog=nsw;Integrated Security=False;User ID=dfuser;Password=dfpasswd;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False</value>
|
<value>Data Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=FalseData Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="SleepSeconds" serializeAs="String">
|
<setting name="SleepSeconds" serializeAs="String">
|
||||||
<value>300</value>
|
<value>300</value>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:4.0.30319.34209
|
// Runtime Version:4.0.30319.42000
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
@ -25,9 +25,7 @@ namespace bsmd.dakosy.ResponseService.Properties {
|
|||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=192.168.2.5\\SQLEXPRESS;Initial Catalog=nsw;Integrated Security=False;" +
|
[global::System.Configuration.DefaultSettingValueAttribute(@"Data Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=FalseData Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False")]
|
||||||
"User ID=dfuser;Password=dfpasswd;Connect Timeout=15;Encrypt=False;TrustServerCer" +
|
|
||||||
"tificate=False")]
|
|
||||||
public string ConnectionString {
|
public string ConnectionString {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["ConnectionString"]));
|
return ((string)(this["ConnectionString"]));
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<Profiles />
|
<Profiles />
|
||||||
<Settings>
|
<Settings>
|
||||||
<Setting Name="ConnectionString" Type="System.String" Scope="User">
|
<Setting Name="ConnectionString" Type="System.String" Scope="User">
|
||||||
<Value Profile="(Default)">Data Source=192.168.2.5\SQLEXPRESS;Initial Catalog=nsw;Integrated Security=False;User ID=dfuser;Password=dfpasswd;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False</Value>
|
<Value Profile="(Default)">Data Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=FalseData Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="SleepSeconds" Type="System.Int32" Scope="User">
|
<Setting Name="SleepSeconds" Type="System.Int32" Scope="User">
|
||||||
<Value Profile="(Default)">300</Value>
|
<Value Profile="(Default)">300</Value>
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:4.0.30319.34209
|
// Runtime Version:4.0.30319.42000
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
@ -85,7 +85,7 @@ namespace bsmd.dakosy.Properties {
|
|||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("E:\\Tools\\WinScp\\WinSCP.exe")]
|
[global::System.Configuration.DefaultSettingValueAttribute("E:\\Tools\\WinScp\\WinSCP.com")]
|
||||||
public string WINSCPFullPath {
|
public string WINSCPFullPath {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["WINSCPFullPath"]));
|
return ((string)(this["WINSCPFullPath"]));
|
||||||
@ -97,7 +97,7 @@ namespace bsmd.dakosy.Properties {
|
|||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("out/prod")]
|
[global::System.Configuration.DefaultSettingValueAttribute("in/prod/ed02")]
|
||||||
public string RemoteProdIncomingDir {
|
public string RemoteProdIncomingDir {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["RemoteProdIncomingDir"]));
|
return ((string)(this["RemoteProdIncomingDir"]));
|
||||||
@ -109,7 +109,7 @@ namespace bsmd.dakosy.Properties {
|
|||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("out/test")]
|
[global::System.Configuration.DefaultSettingValueAttribute("in/test/ed02")]
|
||||||
public string RemoteTestIncomingDir {
|
public string RemoteTestIncomingDir {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["RemoteTestIncomingDir"]));
|
return ((string)(this["RemoteTestIncomingDir"]));
|
||||||
@ -121,7 +121,7 @@ namespace bsmd.dakosy.Properties {
|
|||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("in/prod/ed02")]
|
[global::System.Configuration.DefaultSettingValueAttribute("out/prod")]
|
||||||
public string RemoteProdOutgoingDir {
|
public string RemoteProdOutgoingDir {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["RemoteProdOutgoingDir"]));
|
return ((string)(this["RemoteProdOutgoingDir"]));
|
||||||
@ -133,7 +133,7 @@ namespace bsmd.dakosy.Properties {
|
|||||||
|
|
||||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Configuration.DefaultSettingValueAttribute("in/test/ed02")]
|
[global::System.Configuration.DefaultSettingValueAttribute("out/test")]
|
||||||
public string RemoteTestOutgoingDir {
|
public string RemoteTestOutgoingDir {
|
||||||
get {
|
get {
|
||||||
return ((string)(this["RemoteTestOutgoingDir"]));
|
return ((string)(this["RemoteTestOutgoingDir"]));
|
||||||
|
|||||||
@ -18,19 +18,19 @@
|
|||||||
<Value Profile="(Default)">True</Value>
|
<Value Profile="(Default)">True</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="WINSCPFullPath" Type="System.String" Scope="User">
|
<Setting Name="WINSCPFullPath" Type="System.String" Scope="User">
|
||||||
<Value Profile="(Default)">E:\Tools\WinScp\WinSCP.exe</Value>
|
<Value Profile="(Default)">E:\Tools\WinScp\WinSCP.com</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="RemoteProdIncomingDir" Type="System.String" Scope="User">
|
<Setting Name="RemoteProdIncomingDir" Type="System.String" Scope="User">
|
||||||
<Value Profile="(Default)">out/prod</Value>
|
|
||||||
</Setting>
|
|
||||||
<Setting Name="RemoteTestIncomingDir" Type="System.String" Scope="User">
|
|
||||||
<Value Profile="(Default)">out/test</Value>
|
|
||||||
</Setting>
|
|
||||||
<Setting Name="RemoteProdOutgoingDir" Type="System.String" Scope="User">
|
|
||||||
<Value Profile="(Default)">in/prod/ed02</Value>
|
<Value Profile="(Default)">in/prod/ed02</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
<Setting Name="RemoteTestOutgoingDir" Type="System.String" Scope="User">
|
<Setting Name="RemoteTestIncomingDir" Type="System.String" Scope="User">
|
||||||
<Value Profile="(Default)">in/test/ed02</Value>
|
<Value Profile="(Default)">in/test/ed02</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
|
<Setting Name="RemoteProdOutgoingDir" Type="System.String" Scope="User">
|
||||||
|
<Value Profile="(Default)">out/prod</Value>
|
||||||
|
</Setting>
|
||||||
|
<Setting Name="RemoteTestOutgoingDir" Type="System.String" Scope="User">
|
||||||
|
<Value Profile="(Default)">out/test</Value>
|
||||||
|
</Setting>
|
||||||
</Settings>
|
</Settings>
|
||||||
</SettingsFile>
|
</SettingsFile>
|
||||||
@ -21,16 +21,20 @@ namespace bsmd.dakosy
|
|||||||
{
|
{
|
||||||
private static ILog _log = LogManager.GetLogger(typeof(Request));
|
private static ILog _log = LogManager.GetLogger(typeof(Request));
|
||||||
|
|
||||||
public static bool Send(DatabaseEntity dbEntity)
|
public static bool Send(Message aMessage)
|
||||||
{
|
{
|
||||||
bool retval = true;
|
bool retval = true;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
Message aMessage = null;
|
Message aMessage = null;
|
||||||
if (dbEntity.GetType().IsAssignableFrom(typeof(Message)))
|
if (dbEntity.GetType().IsAssignableFrom(typeof(Message)))
|
||||||
aMessage = (Message)dbEntity;
|
aMessage = (Message)dbEntity;
|
||||||
else
|
else
|
||||||
aMessage = dbEntity.MessageHeader;
|
aMessage = dbEntity.MessageHeader;
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!XtraSendLogic.ShouldSendMessage(aMessage)) return false;
|
||||||
|
|
||||||
// fill eDeclaration class
|
// fill eDeclaration class
|
||||||
eDeclarationMessage edm = new eDeclarationMessage();
|
eDeclarationMessage edm = new eDeclarationMessage();
|
||||||
@ -700,12 +704,15 @@ namespace bsmd.dakosy
|
|||||||
vList.Visit[0].STAT.ISMCompany.IsmCompanyName = stat.ISMCompanyName;
|
vList.Visit[0].STAT.ISMCompany.IsmCompanyName = stat.ISMCompanyName;
|
||||||
vList.Visit[0].STAT.ISMCompany.IsmCompanyId = stat.ISMCompanyId;
|
vList.Visit[0].STAT.ISMCompany.IsmCompanyId = stat.ISMCompanyId;
|
||||||
vList.Visit[0].STAT.ISMCompany.IsmCompanyPostalCode = stat.ISMCompanyPostalCode;
|
vList.Visit[0].STAT.ISMCompany.IsmCompanyPostalCode = stat.ISMCompanyPostalCode;
|
||||||
|
if (stat.ISMCompanyStreetAndNumber != null)
|
||||||
|
{
|
||||||
int lastBlank = stat.ISMCompanyStreetAndNumber.LastIndexOf(' ');
|
int lastBlank = stat.ISMCompanyStreetAndNumber.LastIndexOf(' ');
|
||||||
if (lastBlank > 0)
|
if (lastBlank > 0)
|
||||||
{
|
{
|
||||||
vList.Visit[0].STAT.ISMCompany.IsmCompanyStreetName = stat.ISMCompanyStreetAndNumber.Substring(0, lastBlank);
|
vList.Visit[0].STAT.ISMCompany.IsmCompanyStreetName = stat.ISMCompanyStreetAndNumber.Substring(0, lastBlank);
|
||||||
vList.Visit[0].STAT.ISMCompany.IsmCompanyStreetNumber = stat.ISMCompanyStreetAndNumber.Substring(lastBlank);
|
vList.Visit[0].STAT.ISMCompany.IsmCompanyStreetNumber = stat.ISMCompanyStreetAndNumber.Substring(lastBlank);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
vList.Visit[0].STAT.ISMCompany.IsmCompanyCity = stat.ISMCompanyCity;
|
vList.Visit[0].STAT.ISMCompany.IsmCompanyCity = stat.ISMCompanyCity;
|
||||||
vList.Visit[0].STAT.ISMCompany.IsmCompanyCountry = stat.ISMCompanyCountry;
|
vList.Visit[0].STAT.ISMCompany.IsmCompanyCountry = stat.ISMCompanyCountry;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,20 +23,20 @@
|
|||||||
<value>True</value>
|
<value>True</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="WINSCPFullPath" serializeAs="String">
|
<setting name="WINSCPFullPath" serializeAs="String">
|
||||||
<value>E:\Tools\WinScp\WinSCP.exe</value>
|
<value>E:\Tools\WinScp\WinSCP.com</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="RemoteProdIncomingDir" serializeAs="String">
|
<setting name="RemoteProdIncomingDir" serializeAs="String">
|
||||||
<value>out/prod</value>
|
|
||||||
</setting>
|
|
||||||
<setting name="RemoteTestIncomingDir" serializeAs="String">
|
|
||||||
<value>out/test</value>
|
|
||||||
</setting>
|
|
||||||
<setting name="RemoteProdOutgoingDir" serializeAs="String">
|
|
||||||
<value>in/prod/ed02</value>
|
<value>in/prod/ed02</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="RemoteTestOutgoingDir" serializeAs="String">
|
<setting name="RemoteTestIncomingDir" serializeAs="String">
|
||||||
<value>in/test/ed02</value>
|
<value>in/test/ed02</value>
|
||||||
</setting>
|
</setting>
|
||||||
|
<setting name="RemoteProdOutgoingDir" serializeAs="String">
|
||||||
|
<value>out/prod</value>
|
||||||
|
</setting>
|
||||||
|
<setting name="RemoteTestOutgoingDir" serializeAs="String">
|
||||||
|
<value>out/test</value>
|
||||||
|
</setting>
|
||||||
</bsmd.dakosy.Properties.Settings>
|
</bsmd.dakosy.Properties.Settings>
|
||||||
</userSettings>
|
</userSettings>
|
||||||
</configuration>
|
</configuration>
|
||||||
@ -266,7 +266,7 @@ namespace bsmd.database
|
|||||||
public void DeleteMessageErrors(Message message)
|
public void DeleteMessageErrors(Message message)
|
||||||
{
|
{
|
||||||
SqlCommand cmd = new SqlCommand();
|
SqlCommand cmd = new SqlCommand();
|
||||||
cmd.CommandText = string.Format("DELETE FROM Error WHERE MessageHeaderId='{0}'", message.Id);
|
cmd.CommandText = string.Format("UPDATE Error SET Deleted = 1 WHERE MessageHeaderId='{0}'", message.Id);
|
||||||
int queryResult = this.PerformNonQuery(cmd);
|
int queryResult = this.PerformNonQuery(cmd);
|
||||||
this.LogNonQueryResult(cmd.CommandText, queryResult);
|
this.LogNonQueryResult(cmd.CommandText, queryResult);
|
||||||
}
|
}
|
||||||
@ -274,7 +274,7 @@ namespace bsmd.database
|
|||||||
public void DeleteMessageViolations(Message message)
|
public void DeleteMessageViolations(Message message)
|
||||||
{
|
{
|
||||||
SqlCommand cmd = new SqlCommand();
|
SqlCommand cmd = new SqlCommand();
|
||||||
cmd.CommandText = string.Format("DELETE FROM Violation WHERE MessageHeaderId='{0}'", message.Id);
|
cmd.CommandText = string.Format("UPDATE Violation SET Deleted = 1 WHERE MessageHeaderId='{0}'", message.Id);
|
||||||
int queryResult = this.PerformNonQuery(cmd);
|
int queryResult = this.PerformNonQuery(cmd);
|
||||||
this.LogNonQueryResult(cmd.CommandText, queryResult);
|
this.LogNonQueryResult(cmd.CommandText, queryResult);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -30,6 +30,8 @@ namespace bsmd.database
|
|||||||
|
|
||||||
public Guid MessageHeaderId { get; set; }
|
public Guid MessageHeaderId { get; set; }
|
||||||
|
|
||||||
|
public bool Deleted { get; set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region IDatabaseEntity implementation
|
#region IDatabaseEntity implementation
|
||||||
@ -41,6 +43,7 @@ namespace bsmd.database
|
|||||||
scmd.Parameters.AddWithValue("@MHID", this.MessageHeaderId);
|
scmd.Parameters.AddWithValue("@MHID", this.MessageHeaderId);
|
||||||
scmd.Parameters.AddWithValue("@VC", this.ErrorCode);
|
scmd.Parameters.AddWithValue("@VC", this.ErrorCode);
|
||||||
scmd.Parameters.AddWithValue("@VT", this.ErrorText);
|
scmd.Parameters.AddWithValue("@VT", this.ErrorText);
|
||||||
|
scmd.Parameters.AddWithValue("@DEL", this.Deleted ? 1 : 0);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
@ -49,13 +52,13 @@ namespace bsmd.database
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
scmd.Parameters.AddWithValue("@ID", this.Id);
|
scmd.Parameters.AddWithValue("@ID", this.Id);
|
||||||
scmd.CommandText = string.Format("UPDATE {0} SET MessageHeaderId = @MHID, ErrorCode = @VC, ErrorText = @VT WHERE Id = @ID", this.Tablename);
|
scmd.CommandText = string.Format("UPDATE {0} SET MessageHeaderId = @MHID, ErrorCode = @VC, ErrorText = @VT, Deleted = @DEL WHERE Id = @ID", this.Tablename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
public override void PrepareLoadCommand(System.Data.IDbCommand cmd, Message.LoadFilter filter, params object[] criteria)
|
||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, ErrorCode, ErrorText FROM {0} ", this.Tablename);
|
string query = string.Format("SELECT Id, ErrorCode, ErrorText, Deleted FROM {0} ", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -80,6 +83,7 @@ namespace bsmd.database
|
|||||||
me.id = reader.GetGuid(0);
|
me.id = reader.GetGuid(0);
|
||||||
if (!reader.IsDBNull(1)) me.ErrorCode = reader.GetInt32(1);
|
if (!reader.IsDBNull(1)) me.ErrorCode = reader.GetInt32(1);
|
||||||
if (!reader.IsDBNull(2)) me.ErrorText = reader.GetString(2);
|
if (!reader.IsDBNull(2)) me.ErrorText = reader.GetString(2);
|
||||||
|
if (!reader.IsDBNull(3)) me.Deleted = (reader.GetInt32(3) != 0);
|
||||||
result.Add(me);
|
result.Add(me);
|
||||||
}
|
}
|
||||||
reader.Close();
|
reader.Close();
|
||||||
|
|||||||
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
[assembly: AssemblyCompany("Informatikbüro Daniel Schick")]
|
[assembly: AssemblyCompany("Informatikbüro Daniel Schick")]
|
||||||
[assembly: AssemblyProduct("BSMD NSW interface")]
|
[assembly: AssemblyProduct("BSMD NSW interface")]
|
||||||
[assembly: AssemblyInformationalVersion("2.4.13")]
|
[assembly: AssemblyInformationalVersion("2.4.14")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2014-2015 Informatikbüro Daniel Schick. All rights reserved.")]
|
[assembly: AssemblyCopyright("Copyright © 2014-2015 Informatikbüro Daniel Schick. All rights reserved.")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
@ -1,4 +1,4 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("2.4.13.*")]
|
[assembly: AssemblyVersion("2.4.14.*")]
|
||||||
|
|
||||||
|
|||||||
89
nsw/Source/bsmd.database/XtraSendLogic.cs
Normal file
89
nsw/Source/bsmd.database/XtraSendLogic.cs
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
//
|
||||||
|
// Class: XtraSendLogic
|
||||||
|
// Current CLR: 4.0.30319.42000
|
||||||
|
// System: Microsoft Visual Studio 10.0
|
||||||
|
// Author: dani
|
||||||
|
// Created: 11/30/2015 7:48:46 AM
|
||||||
|
//
|
||||||
|
// Copyright (c) 2015 Informatikbüro Daniel Schick. All rights reserved.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
|
||||||
|
namespace bsmd.database
|
||||||
|
{
|
||||||
|
public class XtraSendLogic
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Diese Methode entscheidet, ob die Nachrichtenklasse versendet werden soll oder nicht
|
||||||
|
/// Darin sind einige spezielle Festlegungen implementiert, die aus der Integrationsphase
|
||||||
|
/// kommen
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>true falls Nachricht versendet werden soll</returns>
|
||||||
|
public static bool ShouldSendMessage(Message message)
|
||||||
|
{
|
||||||
|
|
||||||
|
// Wenn das ein Transit ist, werden nicht erforderliche Meldeklassen übersprungen
|
||||||
|
if (message.MessageCore.IsTransit)
|
||||||
|
{
|
||||||
|
if ((message.MessageNotificationClass == Message.NotificationClass.BKRD) ||
|
||||||
|
(message.MessageNotificationClass == Message.NotificationClass.PRE72H) ||
|
||||||
|
(message.MessageNotificationClass == Message.NotificationClass.TIEFD) ||
|
||||||
|
(message.MessageNotificationClass == Message.NotificationClass.NAME) ||
|
||||||
|
(message.MessageNotificationClass == Message.NotificationClass.INFO) ||
|
||||||
|
(message.MessageNotificationClass == Message.NotificationClass.ATA) ||
|
||||||
|
(message.MessageNotificationClass == Message.NotificationClass.ATD) ||
|
||||||
|
(message.MessageNotificationClass == Message.NotificationClass.LADG) ||
|
||||||
|
(message.MessageNotificationClass == Message.NotificationClass.SERV) ||
|
||||||
|
(message.MessageNotificationClass == Message.NotificationClass.WAS) ||
|
||||||
|
(message.MessageNotificationClass == Message.NotificationClass.TOWD))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wenn kein Gefahrgut gemeldet ist soll die Meldeklasse gar nicht gesendet werden
|
||||||
|
if ((message.MessageNotificationClass == Message.NotificationClass.HAZA) ||
|
||||||
|
(message.MessageNotificationClass == Message.NotificationClass.HAZD))
|
||||||
|
{
|
||||||
|
if (message.Elements.Count > 0)
|
||||||
|
{
|
||||||
|
HAZ haz = message.Elements[0] as HAZ;
|
||||||
|
if (haz != null)
|
||||||
|
{
|
||||||
|
if (haz.NoDPGOnBoardOnArrival ?? false) return false;
|
||||||
|
// Diese Einstellung wird im EU-NOAD Tool gemacht, muss bei anderen Quellen überarbeitet werden!
|
||||||
|
if (haz.TransmissionType != "EU-NOAD") return false;
|
||||||
|
// Schiffe nach Hamburg keine Gefahrgutmeldung, geht über GEGIS (26.11.2015)
|
||||||
|
if (message.MessageCore.PoC.Equals("DEHAM")) return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ATD wird nur gesendet, wenn weniger als 60 Minuten in der Zukunft
|
||||||
|
// und auch nicht älter als eine Woche
|
||||||
|
if (message.MessageNotificationClass == Message.NotificationClass.ATD)
|
||||||
|
{
|
||||||
|
if (message.Elements.Count > 0)
|
||||||
|
{
|
||||||
|
bsmd.database.ATD atd = message.Elements[0] as bsmd.database.ATD;
|
||||||
|
if (!atd.ATDPortOfCall.HasValue) return false;
|
||||||
|
if ((atd.ATDPortOfCall.Value - DateTime.UtcNow).TotalMinutes > 60) return false;
|
||||||
|
if ((DateTime.UtcNow - atd.ATDPortOfCall.Value).TotalDays > 7) return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ATA älter als eine Woche wird auch nicht versendet
|
||||||
|
if (message.MessageNotificationClass == Message.NotificationClass.ATA)
|
||||||
|
{
|
||||||
|
if (message.Elements.Count > 0)
|
||||||
|
{
|
||||||
|
bsmd.database.ATA ata = message.Elements[0] as bsmd.database.ATA;
|
||||||
|
if (!ata.ATAPortOfCall.HasValue) return false;
|
||||||
|
if ((DateTime.UtcNow - ata.ATAPortOfCall.Value).TotalDays > 7) return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -112,6 +112,7 @@
|
|||||||
<Compile Include="WAS.cs" />
|
<Compile Include="WAS.cs" />
|
||||||
<Compile Include="Waste.cs" />
|
<Compile Include="Waste.cs" />
|
||||||
<Compile Include="WasteDisposalServiceProvider.cs" />
|
<Compile Include="WasteDisposalServiceProvider.cs" />
|
||||||
|
<Compile Include="XtraSendLogic.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="..\bsmdKey.snk" />
|
<None Include="..\bsmdKey.snk" />
|
||||||
|
|||||||
@ -41,6 +41,8 @@ namespace bsmd.dbh
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!XtraSendLogic.ShouldSendMessage(message)) return false;
|
||||||
|
|
||||||
// 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();
|
||||||
|
|
||||||
|
|||||||
@ -1006,7 +1006,9 @@ namespace bsmd.herberg.FormService
|
|||||||
{
|
{
|
||||||
foreach (Waste existingWaste in was.Waste)
|
foreach (Waste existingWaste in was.Waste)
|
||||||
{
|
{
|
||||||
if ((existingWaste.WasteType ?? 0) == (Enums.ParseWasteType(wDict["WasteType"]) ?? 0))
|
if (wDict.ContainsKey("WasteType") &&
|
||||||
|
((existingWaste.WasteType ?? 0) == (Enums.ParseWasteType(wDict["WasteType"]) ?? 0))
|
||||||
|
)
|
||||||
{
|
{
|
||||||
waste = existingWaste;
|
waste = existingWaste;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@ -91,6 +91,8 @@ namespace bsmd.hisnord
|
|||||||
foreach (Message message in messages)
|
foreach (Message message in messages)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if (!XtraSendLogic.ShouldSendMessage(message)) continue;
|
||||||
|
|
||||||
switch (message.MessageNotificationClass)
|
switch (message.MessageNotificationClass)
|
||||||
{
|
{
|
||||||
case Message.NotificationClass.VISIT:
|
case Message.NotificationClass.VISIT:
|
||||||
|
|||||||
BIN
nsw/Source/misc/NSW_Software_Dokumentation.docx
Normal file
BIN
nsw/Source/misc/NSW_Software_Dokumentation.docx
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user