small bugfixes

This commit is contained in:
Daniel Schick 2022-12-15 08:36:38 +01:00
parent 09220f1b9a
commit ae1747f2f3

View File

@ -103,23 +103,23 @@ namespace bsmd.dbh
} }
break; break;
case Response.RootType.DATA: case Response.RootType.DATA:
if(root.ReportingClassesFull.ReportingClass.Length > 0) if(root.ReportingClassesFull?.ReportingClass.Length > 0)
{ {
_log.InfoFormat("Message {0} confirmed (full), {1} messages", sentMessage.MessageNotificationClassDisplay, root.Messages.Length); _log.InfoFormat("Message {0} confirmed (full), {1} messages", sentMessage.MessageNotificationClassDisplay, root.Messages?.Length);
sentMessage.SendSuccess = true; sentMessage.SendSuccess = true;
sentMessage.Status = Message.MessageStatus.ACCEPTED; sentMessage.Status = Message.MessageStatus.ACCEPTED;
sentMessage.InternalStatus = Message.BSMDStatus.CONFIRMED; sentMessage.InternalStatus = Message.BSMDStatus.CONFIRMED;
} }
if (root.ReportingClassesPartial.ReportingClass.Length > 0) if (root.ReportingClassesPartial?.ReportingClass.Length > 0)
{ {
_log.WarnFormat("Message {0} confirmed (partial), {1} messages", sentMessage.MessageNotificationClassDisplay, root.Messages.Length); _log.WarnFormat("Message {0} confirmed (partial), {1} messages", sentMessage.MessageNotificationClassDisplay, root.Messages?.Length);
sentMessage.SendSuccess = true; sentMessage.SendSuccess = true;
sentMessage.Status = Message.MessageStatus.ACCEPTED; sentMessage.Status = Message.MessageStatus.ACCEPTED;
sentMessage.InternalStatus = Message.BSMDStatus.VIOLATION; sentMessage.InternalStatus = Message.BSMDStatus.VIOLATION;
} }
if (root.ReportingClassesError.ReportingClass.Length > 0) if (root.ReportingClassesError?.ReportingClass.Length > 0)
{ {
_log.ErrorFormat("Message {0} rejected, {1} messages", sentMessage.MessageNotificationClassDisplay, root.Messages.Length); _log.ErrorFormat("Message {0} rejected, {1} messages", sentMessage.MessageNotificationClassDisplay, root.Messages?.Length);
sentMessage.SendSuccess = false; sentMessage.SendSuccess = false;
sentMessage.Status = Message.MessageStatus.REJECTED; sentMessage.Status = Message.MessageStatus.REJECTED;
sentMessage.InternalStatus = Message.BSMDStatus.ERROR; sentMessage.InternalStatus = Message.BSMDStatus.ERROR;
@ -127,7 +127,7 @@ namespace bsmd.dbh
} }
break; break;
case Response.RootType.RESET: case Response.RootType.RESET:
if(root.ReportingClassesResetted.ReportingClass.Length > 0) if(root.ReportingClassesResetted?.ReportingClass.Length > 0)
{ {
_log.InfoFormat("Message {0} RESET confirmed, {1} messages", sentMessage.MessageNotificationClassDisplay, root.Messages.Length); ; _log.InfoFormat("Message {0} RESET confirmed, {1} messages", sentMessage.MessageNotificationClassDisplay, root.Messages.Length); ;
sentMessage.SendSuccess = false; // bestätigter Reset setzt grünen Buppel zurück sentMessage.SendSuccess = false; // bestätigter Reset setzt grünen Buppel zurück
@ -148,34 +148,37 @@ namespace bsmd.dbh
foreach (MessageViolation existingViolation in sentMessage.ViolationList) foreach (MessageViolation existingViolation in sentMessage.ViolationList)
DBManager.Instance.Delete(existingViolation); DBManager.Instance.Delete(existingViolation);
foreach (Response.RootMessage rootMessage in root.Messages) if (root.Messages != null)
{ {
_log.InfoFormat("Message[{0}]: {1} {2} {3}", rootMessage.ID, rootMessage.Type, rootMessage.Location, rootMessage.Text); foreach (Response.RootMessage rootMessage in root.Messages)
switch(rootMessage.Type)
{ {
case Response.RootMessageType.ERROR: _log.InfoFormat("Message[{0}]: {1} {2} {3}", rootMessage.ID, rootMessage.Type, rootMessage.Location, rootMessage.Text);
MessageError me = new MessageError(); switch (rootMessage.Type)
me.MessageHeaderId = sentMessage.Id.Value; {
me.MessageHeader = sentMessage; case Response.RootMessageType.ERROR:
me.ErrorText = rootMessage.Text; MessageError me = new MessageError();
DBManager.Instance.Save(me); me.MessageHeaderId = sentMessage.Id.Value;
break; me.MessageHeader = sentMessage;
case Response.RootMessageType.VIOLATION: me.ErrorText = rootMessage.Text;
MessageViolation mv = new MessageViolation(); DBManager.Instance.Save(me);
mv.MessageHeaderId = sentMessage.Id.Value; break;
mv.MessageHeader = sentMessage; case Response.RootMessageType.VIOLATION:
mv.ViolationText = rootMessage.Text; MessageViolation mv = new MessageViolation();
DBManager.Instance.Save(mv); mv.MessageHeaderId = sentMessage.Id.Value;
break; mv.MessageHeader = sentMessage;
case Response.RootMessageType.XSD_ERROR: mv.ViolationText = rootMessage.Text;
// TODO DBManager.Instance.Save(mv);
break; break;
case Response.RootMessageType.INFO: case Response.RootMessageType.XSD_ERROR:
// TODO // TODO
break; break;
case Response.RootMessageType.WARNING: case Response.RootMessageType.INFO:
// TODO // TODO
break; break;
case Response.RootMessageType.WARNING:
// TODO
break;
}
} }
} }