Version 5.0.5

This commit is contained in:
Daniel Schick 2018-03-26 18:53:32 +00:00
parent 09c4e38513
commit dccb6f178b
15 changed files with 179 additions and 298 deletions

View File

@ -26,12 +26,12 @@
<value>1000</value>
</setting>
<setting name="LockingServerAddress" serializeAs="String">
<value>http://192.168.2.4/LockingService/LockingService.svc</value>
<!--value>http://heupferd/bsmd.LockingService/LockingService.svc</value-->
<!--value>http://192.168.2.4/LockingService/LockingService.svc</value-->
<value>http://heupferd/bsmd.LockingService/LockingService.svc</value>
</setting>
<setting name="ConnectionString" serializeAs="String">
<value>Data Source=192.168.2.12;Initial Catalog=nsw;Uid=dfuser;Pwd=dfpasswd;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False</value>
<!--value>Data Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False</value-->
<!--value>Data Source=192.168.2.12;Initial Catalog=nsw;Uid=dfuser;Pwd=dfpasswd;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False</value-->
<value>Data Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False</value>
</setting>
</ENI2.Properties.Settings>
</applicationSettings>

View File

@ -35,8 +35,8 @@
<MinimumRequiredVersion>3.5.1.0</MinimumRequiredVersion>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.html</WebPage>
<ApplicationRevision>1</ApplicationRevision>
<ApplicationVersion>5.0.4.%2a</ApplicationVersion>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>5.0.5.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut>
<PublishWizardCompleted>true</PublishWizardCompleted>

Binary file not shown.

View File

@ -1110,7 +1110,9 @@ namespace bsmd.ReportGenerator
if (LocalizedLookup.getVesselTypes().ContainsKey(value))
result = string.Format("{0} - {1}", value, LocalizedLookup.getVesselTypes()[value]);
break;
case "INFShipClass":
case "INF-Ship-Class":
case "INF - Ship - Class":
{
switch(value)
{
@ -1121,6 +1123,7 @@ namespace bsmd.ReportGenerator
}
}
break;
case "PackingGroup":
case "Packing Group":
{
switch (value)

View File

@ -264,6 +264,11 @@ namespace bsmd.database
errors.Add(RuleEngine.CreateError(ValidationCode.IMPLAUSIBLE, "Flashpoint_CEL", null, this.Title, this.Identifier, this.HAZ.IsDeparture ? "HAZD" : "HAZA"));
}
if(!this.Hazards.HasValue)
{
violations.Add(RuleEngine.CreateViolation(ValidationCode.V810, "Hazards", null, this.Title, this.Identifier, this.HAZ.IsDeparture ? "HAZD" : "HAZA"));
}
}
#endregion

View File

@ -2,6 +2,6 @@
[assembly: AssemblyCompany("schick Informatik")]
[assembly: AssemblyProduct("BSMD NSW interface")]
[assembly: AssemblyInformationalVersion("5.0.4")]
[assembly: AssemblyInformationalVersion("5.0.5")]
[assembly: AssemblyCopyright("Copyright © 2014-2018 schick Informatik")]
[assembly: AssemblyTrademark("")]

View File

@ -1,4 +1,4 @@
using System.Reflection;
[assembly: AssemblyVersion("5.0.4.*")]
[assembly: AssemblyVersion("5.0.5.*")]

View File

@ -158,6 +158,10 @@ namespace bsmd.database
props.AddRange(objType.GetProperties().Where(prop => Attribute.IsDefined(prop, typeof(ValidationAttribute))));
// add "block" validation properties to check list
props.AddRange(objType.GetProperties().Where( prop => Attribute.IsDefined(prop, attribType)) );
// alle "MaxLength" Properties hinzufügen die sonst keine Validierung haben
props.AddRange(objType.GetProperties().Where(prop => (!Attribute.IsDefined(prop, typeof(ValidationAttribute)) &&
!Attribute.IsDefined(prop, attribType) &&
Attribute.IsDefined(prop, typeof(MaxLengthAttribute)))));
foreach (PropertyInfo property in props)
{

View File

@ -79,6 +79,7 @@ namespace bsmd.database
V807 = 807,
V808 = 808,
V809 = 809,
V810 = 810,
V821 = 821,
}

View File

@ -21,7 +21,7 @@ namespace bsmd.dbh.ResponseService
bsmd.dbh.response.RootReportingClassesPartial ReportingClassesPartial,
bsmd.dbh.response.RootReportingClassesError RootReportingClassesError,
bsmd.dbh.response.RootReportingClassesResetted ReportingClassesResetted,
bsmd.dbh.response.Message[] Messages);
bsmd.dbh.response.RootMessage[] Messages);
}

View File

@ -18,7 +18,7 @@ namespace bsmd.dbh.ResponseService
bsmd.dbh.response.RootReportingClassesPartial ReportingClassesPartial,
bsmd.dbh.response.RootReportingClassesError RootReportingClassesError,
bsmd.dbh.response.RootReportingClassesResetted ReportingClassesResetted,
bsmd.dbh.response.Message[] Messages)
bsmd.dbh.response.RootMessage[] Messages)
{
// Der Fehler hier aktuell ist dass alles funktioniert, außer dass "Messages" nicht

View File

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.34209
// Laufzeitversion:4.0.30319.42000
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
@ -11,13 +11,14 @@
using System.Xml.Serialization;
//
// This source code was auto-generated by xsd, Version=4.0.30319.1.
// Dieser Quellcode wurde automatisch generiert von xsd, Version=4.6.1055.0.
//
namespace bsmd.dbh.response
{
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@ -34,8 +35,12 @@ namespace bsmd.dbh.response
private string transitIdField;
private string[] sisNumbersField;
private System.DateTime timestampField;
private string senderReferenceField;
private RootType typeField;
private RootReportingClassesFull reportingClassesFullField;
@ -46,7 +51,7 @@ namespace bsmd.dbh.response
private RootReportingClassesResetted reportingClassesResettedField;
private Message[] messagesField;
private RootMessage[] messagesField;
/// <remarks/>
public string Version
@ -100,6 +105,20 @@ namespace bsmd.dbh.response
}
}
/// <remarks/>
[System.Xml.Serialization.XmlArrayItemAttribute("SisNumber", IsNullable = false)]
public string[] SisNumbers
{
get
{
return this.sisNumbersField;
}
set
{
this.sisNumbersField = value;
}
}
/// <remarks/>
public System.DateTime Timestamp
{
@ -113,6 +132,19 @@ namespace bsmd.dbh.response
}
}
/// <remarks/>
public string SenderReference
{
get
{
return this.senderReferenceField;
}
set
{
this.senderReferenceField = value;
}
}
/// <remarks/>
public RootType Type
{
@ -180,7 +212,7 @@ namespace bsmd.dbh.response
/// <remarks/>
[System.Xml.Serialization.XmlArrayItemAttribute("Message", IsNullable = false)]
public Message[] Messages
public RootMessage[] Messages
{
get
{
@ -194,7 +226,7 @@ namespace bsmd.dbh.response
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public enum RootType
@ -217,7 +249,7 @@ namespace bsmd.dbh.response
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@ -225,11 +257,11 @@ namespace bsmd.dbh.response
public partial class RootReportingClassesFull
{
private RootReportingClassesFullReportingClass[] reportingClassField;
private ReportingClassCode[] reportingClassField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("ReportingClass")]
public RootReportingClassesFullReportingClass[] ReportingClass
public ReportingClassCode[] ReportingClass
{
get
{
@ -243,10 +275,9 @@ namespace bsmd.dbh.response
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public enum RootReportingClassesFullReportingClass
public enum ReportingClassCode
{
/// <remarks/>
@ -261,6 +292,9 @@ namespace bsmd.dbh.response
/// <remarks/>
SEC,
/// <remarks/>
AGNT,
/// <remarks/>
POBA,
@ -326,7 +360,7 @@ namespace bsmd.dbh.response
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@ -334,11 +368,11 @@ namespace bsmd.dbh.response
public partial class RootReportingClassesPartial
{
private RootReportingClassesPartialReportingClass[] reportingClassField;
private ReportingClassCode[] reportingClassField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("ReportingClass")]
public RootReportingClassesPartialReportingClass[] ReportingClass
public ReportingClassCode[] ReportingClass
{
get
{
@ -352,90 +386,7 @@ namespace bsmd.dbh.response
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public enum RootReportingClassesPartialReportingClass
{
/// <remarks/>
NOA_NOD,
/// <remarks/>
ATA,
/// <remarks/>
ATD,
/// <remarks/>
SEC,
/// <remarks/>
POBA,
/// <remarks/>
POBD,
/// <remarks/>
NAME,
/// <remarks/>
TIEFA,
/// <remarks/>
TIEFD,
/// <remarks/>
BKRA,
/// <remarks/>
BKRD,
/// <remarks/>
STAT,
/// <remarks/>
LADG,
/// <remarks/>
INFO,
/// <remarks/>
SERV,
/// <remarks/>
PRE72H,
/// <remarks/>
MDH,
/// <remarks/>
WAS,
/// <remarks/>
CREW,
/// <remarks/>
PAS,
/// <remarks/>
BPOL,
/// <remarks/>
TOWA,
/// <remarks/>
TOWD,
/// <remarks/>
HAZA,
/// <remarks/>
HAZD,
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@ -443,11 +394,11 @@ namespace bsmd.dbh.response
public partial class RootReportingClassesError
{
private RootReportingClassesErrorReportingClass[] reportingClassField;
private ReportingClassCode[] reportingClassField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("ReportingClass")]
public RootReportingClassesErrorReportingClass[] ReportingClass
public ReportingClassCode[] ReportingClass
{
get
{
@ -461,90 +412,7 @@ namespace bsmd.dbh.response
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public enum RootReportingClassesErrorReportingClass
{
/// <remarks/>
NOA_NOD,
/// <remarks/>
ATA,
/// <remarks/>
ATD,
/// <remarks/>
SEC,
/// <remarks/>
POBA,
/// <remarks/>
POBD,
/// <remarks/>
NAME,
/// <remarks/>
TIEFA,
/// <remarks/>
TIEFD,
/// <remarks/>
BKRA,
/// <remarks/>
BKRD,
/// <remarks/>
STAT,
/// <remarks/>
LADG,
/// <remarks/>
INFO,
/// <remarks/>
SERV,
/// <remarks/>
PRE72H,
/// <remarks/>
MDH,
/// <remarks/>
WAS,
/// <remarks/>
CREW,
/// <remarks/>
PAS,
/// <remarks/>
BPOL,
/// <remarks/>
TOWA,
/// <remarks/>
TOWD,
/// <remarks/>
HAZA,
/// <remarks/>
HAZD,
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
@ -552,11 +420,11 @@ namespace bsmd.dbh.response
public partial class RootReportingClassesResetted
{
private RootReportingClassesResettedReportingClass[] reportingClassField;
private ReportingClassCode[] reportingClassField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("ReportingClass")]
public RootReportingClassesResettedReportingClass[] ReportingClass
public ReportingClassCode[] ReportingClass
{
get
{
@ -570,95 +438,12 @@ namespace bsmd.dbh.response
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public enum RootReportingClassesResettedReportingClass
{
/// <remarks/>
NOA_NOD,
/// <remarks/>
ATA,
/// <remarks/>
ATD,
/// <remarks/>
SEC,
/// <remarks/>
POBA,
/// <remarks/>
POBD,
/// <remarks/>
NAME,
/// <remarks/>
TIEFA,
/// <remarks/>
TIEFD,
/// <remarks/>
BKRA,
/// <remarks/>
BKRD,
/// <remarks/>
STAT,
/// <remarks/>
LADG,
/// <remarks/>
INFO,
/// <remarks/>
SERV,
/// <remarks/>
PRE72H,
/// <remarks/>
MDH,
/// <remarks/>
WAS,
/// <remarks/>
CREW,
/// <remarks/>
PAS,
/// <remarks/>
BPOL,
/// <remarks/>
TOWA,
/// <remarks/>
TOWD,
/// <remarks/>
HAZA,
/// <remarks/>
HAZD,
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public partial class Message
public partial class RootMessage
{
private string idField;
@ -723,7 +508,7 @@ namespace bsmd.dbh.response
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.1")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
public enum RootMessageType
@ -741,5 +526,4 @@ namespace bsmd.dbh.response
/// <remarks/>
ERROR,
}
}

View File

@ -1249,7 +1249,27 @@ namespace bsmd.dbh
rootIMDG.GeneralCargoIBC = imdgPos.GeneralCargoIBC.Value ? DBHWebReference.RootSECValidISSCOnBoard.Y : DBHWebReference.RootSECValidISSCOnBoard.N;
rootIMDG.ContainerNumber = imdgPos.ContainerNumber;
rootIMDG.VehicleLicenseNumber = imdgPos.VehicleLicenseNumber;
// rootIMDG.StowagePosition = imdgPos.StowagePosition;
if (imdgPos.StowagePosition.IsNullOrEmpty())
{
rootIMDG.Items = new string[3];
rootIMDG.ItemsElementName = new ItemsChoiceType4[3];
rootIMDG.Items[0] = imdgPos.Bay;
rootIMDG.ItemsElementName[0] = ItemsChoiceType4.Bay;
rootIMDG.Items[1] = imdgPos.Row;
rootIMDG.ItemsElementName[1] = ItemsChoiceType4.Row;
rootIMDG.Items[2] = imdgPos.Tier;
rootIMDG.ItemsElementName[2] = ItemsChoiceType4.Tier;
}
else
{
rootIMDG.Items = new string[1] { imdgPos.StowagePosition };
rootIMDG.ItemsElementName = new ItemsChoiceType4[1] { ItemsChoiceType4.StowagePosition };
}
rootIMDG.PortOfLoading = imdgPos.PortOfLoading;
rootIMDG.PortOfDischarge = imdgPos.PortOfDischarge;
rootIMDG.Remarks = imdgPos.Remarks;
@ -1482,7 +1502,27 @@ namespace bsmd.dbh
rootIMDG.GeneralCargoIBC = imdgPos.GeneralCargoIBC.Value ? RootSECValidISSCOnBoard.Y : RootSECValidISSCOnBoard.N;
rootIMDG.ContainerNumber = imdgPos.ContainerNumber;
rootIMDG.VehicleLicenseNumber = imdgPos.VehicleLicenseNumber;
//rootIMDG.StowagePosition = imdgPos.StowagePosition;
if (imdgPos.StowagePosition.IsNullOrEmpty())
{
rootIMDG.Items = new string[3];
rootIMDG.ItemsElementName = new ItemsChoiceType4[3];
rootIMDG.Items[0] = imdgPos.Bay;
rootIMDG.ItemsElementName[0] = ItemsChoiceType4.Bay;
rootIMDG.Items[1] = imdgPos.Row;
rootIMDG.ItemsElementName[1] = ItemsChoiceType4.Row;
rootIMDG.Items[2] = imdgPos.Tier;
rootIMDG.ItemsElementName[2] = ItemsChoiceType4.Tier;
}
else
{
rootIMDG.Items = new string[1] { imdgPos.StowagePosition };
rootIMDG.ItemsElementName = new ItemsChoiceType4[1] { ItemsChoiceType4.StowagePosition };
}
rootIMDG.PortOfLoading = imdgPos.PortOfLoading;
rootIMDG.PortOfDischarge = imdgPos.PortOfDischarge;
rootIMDG.Remarks = imdgPos.Remarks;

View File

@ -22,10 +22,10 @@ namespace bsmd.dbh
private static ILog _log = LogManager.GetLogger("dbh Response");
public static void ProcessResponse(string VisitId, string TransitId, DateTime Timestamp,
string SenderReference, response.RootType Type, bsmd.dbh.response.Message[] Messages,
string SenderReference, response.RootType Type, bsmd.dbh.response.RootMessage[] Messages,
bsmd.dbh.response.RootReportingClassesFull ReportingClassesFull,
bsmd.dbh.response.RootReportingClassesPartial ReportingClassesPartial,
bsmd.dbh.response.RootReportingClassesError RootReportingClassesError,
bsmd.dbh.response.RootReportingClassesError ReportingClassesError,
bsmd.dbh.response.RootReportingClassesResetted ReportingClassesResetted,
string connectionString)
{
@ -52,8 +52,14 @@ namespace bsmd.dbh
}
DatabaseEntity dbEntity = DBManager.Instance.GetMessageById(messageId);
if (dbEntity != null)
Message aMessage = dbEntity as Message;
if (aMessage != null)
{
_log.InfoFormat("Message type {0} found for SenderReference {1}", ((Message)dbEntity).MessageNotificationClassDisplay, messageId);
foreach (MessageError existingError in aMessage.ErrorList)
DBManager.Instance.Delete(existingError);
}
MessageCore aCore = null;
if (dbEntity == null)
@ -65,6 +71,7 @@ namespace bsmd.dbh
aCore.BSMDStatusInternal = MessageCore.BSMDStatus.RESPONDED;
aCore.Cancelled = true;
DBManager.Instance.Save(aCore);
return;
}
}
@ -79,23 +86,27 @@ namespace bsmd.dbh
_log.WarnFormat("SenderReference DB Entity Object is no MessageHeader, aborting ({0})", dbEntity.GetType());
return;
}
Message aMessage = dbEntity as Message;
switch (Type)
{
case dbh.response.RootType.VISIT:
// neue VISIT - ID
_log.InfoFormat("Visit-Id received: {0}", VisitId ?? "??!");
if(!VisitId.IsNullOrEmpty())
aMessage.MessageCore.VisitId = VisitId;
aMessage.MessageCore.BSMDStatusInternal = MessageCore.BSMDStatus.PREPARE;
aMessage.SendSuccess = true;
DBManager.Instance.Save(aMessage.MessageCore);
aMessage.InternalStatus = Message.BSMDStatus.CONFIRMED;
DBManager.Instance.Save(aMessage);
break;
case dbh.response.RootType.TRANSIT:
_log.InfoFormat("Transit-Id received: {0}", TransitId ?? "??!");
aMessage.MessageCore.TransitId = TransitId;
aMessage.MessageCore.BSMDStatusInternal = MessageCore.BSMDStatus.PREPARE;
aMessage.SendSuccess = true;
DBManager.Instance.Save(aMessage.MessageCore);
aMessage.InternalStatus = Message.BSMDStatus.CONFIRMED;
DBManager.Instance.Save(aMessage);
break;
case dbh.response.RootType.RESET:
// Die Liste ist auch bei erfolgtem RESET offenbar immer NULL...
@ -116,15 +127,48 @@ namespace bsmd.dbh
aMessage.SendSuccess = true;
aMessage.InternalStatus = Message.BSMDStatus.CONFIRMED;
aMessage.Status = Message.MessageStatus.ACCEPTED;
_log.InfoFormat("CONFIRMED");
_log.InfoFormat("full message class accepted");
}
else
if ((ReportingClassesPartial != null) && (ReportingClassesPartial.ReportingClass.Length > 0))
{
_log.InfoFormat("no match");
// this was successful, save status to MessageHeader
aMessage.SendSuccess = true;
aMessage.InternalStatus = Message.BSMDStatus.ERROR;
aMessage.Status = Message.MessageStatus.ACCEPTED;
_log.InfoFormat("partial message class accepted");
}
if ((ReportingClassesError != null) && (ReportingClassesError.ReportingClass.Length > 0))
{
// this was successful, save status to MessageHeader
aMessage.SendSuccess = true;
aMessage.InternalStatus = Message.BSMDStatus.ERROR;
aMessage.Status = Message.MessageStatus.ACCEPTED;
_log.InfoFormat("message class accepted but error");
}
// check the whole thing for completion
MessageCore core = DBManager.Instance.GetMessageCoreById(aMessage.MessageCoreId.Value);
bool stillSomethingSent = false;
foreach(Message message in DBManager.Instance.GetMessagesForCore(core, DBManager.MessageLoad.ALL))
{
if (aMessage.Id.Value == message.Id.Value) continue;
if(message.InternalStatus == Message.BSMDStatus.SENT)
{
stillSomethingSent = true;
break;
}
}
if(!stillSomethingSent && (core.BSMDStatusInternal == MessageCore.BSMDStatus.SENT))
{
core.BSMDStatusInternal = MessageCore.BSMDStatus.RESPONDED;
DBManager.Instance.Save(core);
}
break;
}
if (Messages != null)
{
// Status zu den jeweiligen Nachrichten. Bei uns sollte die Anzahl hier immer 1 sein, da wir die Dinger