Applied some rules to the ready to send dialog (preselected messages)
This commit is contained in:
parent
cf81ec0225
commit
8a836ed096
@ -799,9 +799,15 @@ namespace ENI2
|
|||||||
else
|
else
|
||||||
aMessage.ErrorCount = null;
|
aMessage.ErrorCount = null;
|
||||||
if (violations.Count > 0)
|
if (violations.Count > 0)
|
||||||
|
{
|
||||||
aMessage.ViolationCount = violations.Count;
|
aMessage.ViolationCount = violations.Count;
|
||||||
|
aMessage.PositionViolationCount = violations.Count(v => !v.Identifier.IsNullOrEmpty());
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
aMessage.ViolationCount = null;
|
aMessage.ViolationCount = null;
|
||||||
|
aMessage.PositionViolationCount = null;
|
||||||
|
}
|
||||||
|
|
||||||
string messageGroup = this.MessageGroupForMessage(aMessage);
|
string messageGroup = this.MessageGroupForMessage(aMessage);
|
||||||
|
|
||||||
|
|||||||
@ -837,24 +837,51 @@ namespace ENI2.DetailViewControls
|
|||||||
SelectImportClassesDialog sicd = new SelectImportClassesDialog();
|
SelectImportClassesDialog sicd = new SelectImportClassesDialog();
|
||||||
List<Message.NotificationClass> readyToSendMessages = new List<Message.NotificationClass>();
|
List<Message.NotificationClass> readyToSendMessages = new List<Message.NotificationClass>();
|
||||||
|
|
||||||
|
// Evaluate a number of criteria for messages that should not be preselected for sending
|
||||||
|
bool addToSend;
|
||||||
foreach (Message message in this.Messages)
|
foreach (Message message in this.Messages)
|
||||||
{
|
{
|
||||||
// Evaluate a number of criteria for messages that should not be preselected for sending
|
addToSend = true;
|
||||||
if (((message.ViolationCount ?? 0) > 0) || ((message.ErrorCount ?? 0) > 0)) continue; // these need more work
|
|
||||||
if (Message.IsListClass(message.MessageNotificationClass) && (message.Elements.Count == 0)) continue; // avoid suspend on empty list classes
|
if ((message.ErrorCount ?? 0) > 0) continue;
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.HAZA) && !XtraSendLogic.ShouldSendMessage(message)) continue;
|
switch(message.MessageNotificationClass)
|
||||||
if ((message.MessageNotificationClass == Message.NotificationClass.HAZD) && !XtraSendLogic.ShouldSendMessage(message)) continue;
|
|
||||||
if (message.MessageNotificationClass == Message.NotificationClass.BPOL)
|
|
||||||
{
|
{
|
||||||
if (message.Elements.Count > 0)
|
case NotificationClass.HAZA:
|
||||||
{
|
addToSend = XtraSendLogic.ShouldSendMessage(message) && ((message.ViolationCount ?? 0) == 0); break;
|
||||||
if (message.Elements[0] is BPOL bpol)
|
case NotificationClass.HAZD:
|
||||||
|
addToSend = XtraSendLogic.ShouldSendMessage(message) && ((message.ViolationCount ?? 0) == 0); break;
|
||||||
|
case NotificationClass.BPOL:
|
||||||
|
if (message.Elements.Count > 0)
|
||||||
{
|
{
|
||||||
if (bpol.PortOfItineraries.Count == 0) continue;
|
if (message.Elements[0] is BPOL bpol)
|
||||||
|
{
|
||||||
|
if (bpol.PortOfItineraries.Count == 0) addToSend = false;
|
||||||
|
}
|
||||||
|
if((message.ViolationCount ?? 0) > 0) addToSend = false;
|
||||||
}
|
}
|
||||||
}
|
break;
|
||||||
|
case NotificationClass.WAS:
|
||||||
|
if ((message.PositionViolationCount ?? 0) > 0) addToSend = false;
|
||||||
|
break;
|
||||||
|
case NotificationClass.WAS_RCPT:
|
||||||
|
addToSend = false;
|
||||||
|
break;
|
||||||
|
case NotificationClass.NOA_NOD:
|
||||||
|
if ((message.PositionViolationCount ?? 0) > 0) addToSend = false;
|
||||||
|
break;
|
||||||
|
case NotificationClass.INFO:
|
||||||
|
if (Core.PoC == "DEHAM") addToSend = false;
|
||||||
|
else addToSend = ((message.ViolationCount ?? 0) > 0);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if((message.ViolationCount ?? 0) > 0) addToSend = false;
|
||||||
|
if(Message.IsListClass(message.MessageNotificationClass) && (message.Elements.Count == 0)) addToSend = false;
|
||||||
|
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
readyToSendMessages.Add(message.MessageNotificationClass);
|
|
||||||
|
if(addToSend)
|
||||||
|
readyToSendMessages.Add(message.MessageNotificationClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
sicd.Messages = this.Messages;
|
sicd.Messages = this.Messages;
|
||||||
|
|||||||
@ -94,7 +94,7 @@ namespace ENI2.DetailViewControls
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
@ -185,7 +185,7 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
#region Waste receipt grid event handler
|
#region Waste receipt grid event handler
|
||||||
|
|
||||||
private async void DataGridWasteReceipt_CreateRequested()
|
private void DataGridWasteReceipt_CreateRequested()
|
||||||
{
|
{
|
||||||
EditWasteReceiptDialog epd = new EditWasteReceiptDialog();
|
EditWasteReceiptDialog epd = new EditWasteReceiptDialog();
|
||||||
epd.WAS_RCPT = new WAS_RCPT();
|
epd.WAS_RCPT = new WAS_RCPT();
|
||||||
@ -236,7 +236,7 @@ namespace ENI2.DetailViewControls
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private async void DataGridWasteReceipt_EditRequested(DatabaseEntity obj)
|
private void DataGridWasteReceipt_EditRequested(DatabaseEntity obj)
|
||||||
{
|
{
|
||||||
EditWasteReceiptDialog epd = new EditWasteReceiptDialog();
|
EditWasteReceiptDialog epd = new EditWasteReceiptDialog();
|
||||||
epd.WAS_RCPT = obj as WAS_RCPT;
|
epd.WAS_RCPT = obj as WAS_RCPT;
|
||||||
|
|||||||
@ -431,6 +431,12 @@ namespace bsmd.database
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public int? ViolationCount { get; set; }
|
public int? ViolationCount { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Number of violations during last validation that have the "identifier" set and are thus detected violations
|
||||||
|
/// from underlying list elements
|
||||||
|
/// </summary>
|
||||||
|
public int? PositionViolationCount { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Number of errors during last validation
|
/// Number of errors during last validation
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user