Compare commits

..

4 Commits

6 changed files with 71 additions and 23 deletions

View File

@ -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);

View File

@ -252,6 +252,15 @@ SelectionMode="Extended" AutoGenerateColumns="False" MouseDoubleClick="dataGrid_
</MultiDataTrigger.Conditions> </MultiDataTrigger.Conditions>
<Setter Property="Background" Value="Yellow" /> <Setter Property="Background" Value="Yellow" />
</MultiDataTrigger> </MultiDataTrigger>
<DataTrigger Binding="{Binding SendSuccess}" Value="True">
<Setter Property="Background" Value="LightGreen"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding HasSystemErrors}" Value="True">
<Setter Property="Background" Value="MistyRose"></Setter>
</DataTrigger>
<!--DataTrigger Binding="{Binding HasErrors}" Value="True">
<Setter Property="Background" Value="PaleVioletRed"></Setter>
</DataTrigger-->
</Style.Triggers> </Style.Triggers>
</Style> </Style>
</DataGrid.RowStyle> </DataGrid.RowStyle>
@ -267,7 +276,7 @@ SelectionMode="Extended" AutoGenerateColumns="False" MouseDoubleClick="dataGrid_
</DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn> </DataGridTemplateColumn>
<DataGridTextColumn Header="{x:Static p:Resources.textNotificationClass}" Binding="{Binding MessageNotificationClassDisplay}" IsReadOnly="True" Width="0.075*" FontWeight="Bold"> <DataGridTextColumn Header="{x:Static p:Resources.textNotificationClass}" Binding="{Binding MessageNotificationClassDisplay}" IsReadOnly="True" Width="0.1*" FontWeight="Bold">
<DataGridTextColumn.ElementStyle> <DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock"> <Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="VerticalAlignment" Value="Center"/>
@ -300,7 +309,7 @@ SelectionMode="Extended" AutoGenerateColumns="False" MouseDoubleClick="dataGrid_
</DataGridTextColumn.ElementStyle> </DataGridTextColumn.ElementStyle>
</DataGridTextColumn> </DataGridTextColumn>
<DataGridTextColumn Header="{x:Static p:Resources.textErrors}" IsReadOnly="True" Width="0.1*" Binding="{Binding ErrorCount}"> <DataGridTextColumn Header="{x:Static p:Resources.textErrors}" IsReadOnly="True" Width="0.06*" Binding="{Binding ErrorCount}">
<DataGridTextColumn.ElementStyle> <DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock"> <Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="VerticalAlignment" Value="Center"/>
@ -310,7 +319,7 @@ SelectionMode="Extended" AutoGenerateColumns="False" MouseDoubleClick="dataGrid_
</DataGridTextColumn.ElementStyle> </DataGridTextColumn.ElementStyle>
</DataGridTextColumn> </DataGridTextColumn>
<DataGridTextColumn Header="{x:Static p:Resources.textViolations}" IsReadOnly="True" Width="0.1*" Binding="{Binding ViolationCount}"> <DataGridTextColumn Header="{x:Static p:Resources.textViolations}" IsReadOnly="True" Width="0.06*" Binding="{Binding ViolationCount}">
<DataGridTextColumn.ElementStyle> <DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock"> <Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="VerticalAlignment" Value="Center"/>
@ -320,7 +329,7 @@ SelectionMode="Extended" AutoGenerateColumns="False" MouseDoubleClick="dataGrid_
</DataGridTextColumn.ElementStyle> </DataGridTextColumn.ElementStyle>
</DataGridTextColumn> </DataGridTextColumn>
<DataGridTextColumn Header="HIS" Binding="{Binding HISOverviewDisplay}" IsReadOnly="True" Width="0.1*"> <DataGridTextColumn Header="HIS" Binding="{Binding HISOverviewDisplay}" IsReadOnly="True" Width="0.06*">
<DataGridTextColumn.ElementStyle> <DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock"> <Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/> <Setter Property="VerticalAlignment" Value="Center"/>

View File

@ -837,23 +837,50 @@ 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)
{ {
case NotificationClass.HAZA:
addToSend = XtraSendLogic.ShouldSendMessage(message) && ((message.ViolationCount ?? 0) == 0); break;
case NotificationClass.HAZD:
addToSend = XtraSendLogic.ShouldSendMessage(message) && ((message.ViolationCount ?? 0) == 0); break;
case NotificationClass.BPOL:
if (message.Elements.Count > 0) if (message.Elements.Count > 0)
{ {
if (message.Elements[0] is BPOL bpol) if (message.Elements[0] is BPOL bpol)
{ {
if (bpol.PortOfItineraries.Count == 0) continue; 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;
} }
if(addToSend)
readyToSendMessages.Add(message.MessageNotificationClass); readyToSendMessages.Add(message.MessageNotificationClass);
} }

View File

@ -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;

View File

@ -1239,7 +1239,7 @@ namespace ENI2.Excel
{ {
if ((reader.Mode == ExcelReader.CountryMode.DE) && waste.IsDashWasteCode) if ((reader.Mode == ExcelReader.CountryMode.DE) && waste.IsDashWasteCode)
{ {
// waste.WasteDescription = "-"; waste.WasteDescription = "-";
// NOP // NOP
} }
else if (reader.Mode == ExcelReader.CountryMode.DK) else if (reader.Mode == ExcelReader.CountryMode.DK)

View File

@ -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>