Version 2.3.6.13:
Highlighting erster Ansatz, immer weitere Korrekturen rund um HIS-Nord Versand
This commit is contained in:
parent
551ecb3332
commit
a9594e7702
@ -26,12 +26,12 @@
|
|||||||
<value>1000</value>
|
<value>1000</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="LockingServerAddress" serializeAs="String">
|
<setting name="LockingServerAddress" serializeAs="String">
|
||||||
<value>http://192.168.2.4/LockingService/LockingService.svc</value>
|
<!--value>http://192.168.2.4/LockingService/LockingService.svc</value-->
|
||||||
<!--value>http://heupferd/bsmd.LockingService/LockingService.svc</value-->
|
<value>http://heupferd/bsmd.LockingService/LockingService.svc</value>
|
||||||
</setting>
|
</setting>
|
||||||
<setting name="ConnectionString" serializeAs="String">
|
<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=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=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False</value>
|
||||||
</setting>
|
</setting>
|
||||||
</ENI2.Properties.Settings>
|
</ENI2.Properties.Settings>
|
||||||
</applicationSettings>
|
</applicationSettings>
|
||||||
|
|||||||
89
ENI-2/ENI2/ENI2/ControlTemplates.xaml
Normal file
89
ENI-2/ENI2/ENI2/ControlTemplates.xaml
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:local="clr-namespace:ENI2">
|
||||||
|
|
||||||
|
<ControlTemplate x:Key="groupBoxTemplateError" TargetType="{x:Type GroupBox}">
|
||||||
|
<Grid SnapsToDevicePixels="True">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="6" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="6" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="*" />
|
||||||
|
<RowDefinition Height="6" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Border BorderThickness="{TemplateBinding Border.BorderThickness}" CornerRadius="4,4,4,4" BorderBrush="#00FFFFFF" Background="{TemplateBinding Panel.Background}" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="4" Grid.RowSpan="3" />
|
||||||
|
<Border BorderThickness="{TemplateBinding Border.BorderThickness}" CornerRadius="4,4,4,4" BorderBrush="#FFFFFFFF" OpacityMask="{x:Null}" Grid.Row="1" Grid.ColumnSpan="4" Grid.RowSpan="3">
|
||||||
|
<Border BorderThickness="{TemplateBinding Border.BorderThickness}" CornerRadius="3,3,3,3" BorderBrush="{TemplateBinding Border.BorderBrush}">
|
||||||
|
<Border Background="#FFFFDDDD" BorderThickness="{TemplateBinding Border.BorderThickness}" CornerRadius="2,2,2,2" BorderBrush="#FFFFFFFF" />
|
||||||
|
</Border>
|
||||||
|
</Border>
|
||||||
|
<Border Padding="3,0,3,0" Name="Header" Grid.Column="1" Grid.Row="0" Grid.RowSpan="2" Background="#FFFFBBBB" BorderThickness="1" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="3" >
|
||||||
|
<ContentPresenter RecognizesAccessKey="True" Content="{TemplateBinding HeaderedContentControl.Header}" ContentTemplate="{TemplateBinding HeaderedContentControl.HeaderTemplate}" ContentStringFormat="{TemplateBinding HeaderedContentControl.HeaderStringFormat}" ContentSource="Header" SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" />
|
||||||
|
</Border>
|
||||||
|
<ContentPresenter Content="{TemplateBinding ContentControl.Content}" ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}" ContentStringFormat="{TemplateBinding ContentControl.ContentStringFormat}" Margin="{TemplateBinding Control.Padding}" SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="2" />
|
||||||
|
</Grid>
|
||||||
|
</ControlTemplate>
|
||||||
|
|
||||||
|
<ControlTemplate x:Key="groupBoxTemplateViolation" TargetType="{x:Type GroupBox}">
|
||||||
|
<Grid SnapsToDevicePixels="True">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="6" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="6" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="*" />
|
||||||
|
<RowDefinition Height="6" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Border BorderThickness="{TemplateBinding Border.BorderThickness}" CornerRadius="4,4,4,4" BorderBrush="#00FFFFFF" Background="{TemplateBinding Panel.Background}" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="4" Grid.RowSpan="3" />
|
||||||
|
<Border BorderThickness="{TemplateBinding Border.BorderThickness}" CornerRadius="4,4,4,4" BorderBrush="#FFFFFF00" OpacityMask="{x:Null}" Grid.Row="1" Grid.ColumnSpan="4" Grid.RowSpan="3">
|
||||||
|
<Border BorderThickness="{TemplateBinding Border.BorderThickness}" CornerRadius="3,3,3,3" BorderBrush="{TemplateBinding Border.BorderBrush}">
|
||||||
|
<Border BorderThickness="{TemplateBinding Border.BorderThickness}" CornerRadius="2,2,2,2" BorderBrush="#FFFFFFDD" />
|
||||||
|
</Border>
|
||||||
|
</Border>
|
||||||
|
<Border Padding="3,1,3,0" Name="Header" Grid.Column="1" Grid.Row="0" Grid.RowSpan="2" Background="#FFFFFFAA" BorderThickness="1" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="3">
|
||||||
|
<ContentPresenter RecognizesAccessKey="True" Content="{TemplateBinding HeaderedContentControl.Header}" ContentTemplate="{TemplateBinding HeaderedContentControl.HeaderTemplate}" ContentStringFormat="{TemplateBinding HeaderedContentControl.HeaderStringFormat}" ContentSource="Header" SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" />
|
||||||
|
</Border>
|
||||||
|
<ContentPresenter Content="{TemplateBinding ContentControl.Content}" ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}" ContentStringFormat="{TemplateBinding ContentControl.ContentStringFormat}" Margin="{TemplateBinding Control.Padding}" SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" Grid.Column="1" Grid.Row="2" Grid.ColumnSpan="2" />
|
||||||
|
</Grid>
|
||||||
|
</ControlTemplate>
|
||||||
|
|
||||||
|
<Style TargetType="{x:Type ToolTip}" >
|
||||||
|
|
||||||
|
<Setter Property="OverridesDefaultStyle" Value="true" />
|
||||||
|
<Setter Property="HasDropShadow" Value="True" />
|
||||||
|
<!--Setter Property="Foreground" Value="White" /-->
|
||||||
|
<Setter Property="FontSize" Value="14" />
|
||||||
|
<Setter Property="Placement" Value="Mouse" />
|
||||||
|
<!--Setter Property="VerticalOffset" Value="0" /-->
|
||||||
|
<Setter Property="Padding" Value="8" />
|
||||||
|
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
||||||
|
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="{x:Type ToolTip}" >
|
||||||
|
<Border Name="Border" BorderThickness="1.5" CornerRadius="3"
|
||||||
|
Width="{TemplateBinding Width}"
|
||||||
|
Height="{TemplateBinding Height}">
|
||||||
|
<Border.Background>
|
||||||
|
<SolidColorBrush Color="#FFF8F8EE" />
|
||||||
|
</Border.Background>
|
||||||
|
<Border.BorderBrush>
|
||||||
|
<SolidColorBrush Color="#FF888888" />
|
||||||
|
</Border.BorderBrush>
|
||||||
|
<ContentPresenter Margin="4" HorizontalAlignment="Left" VerticalAlignment="Top" />
|
||||||
|
</Border>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
</ResourceDictionary>
|
||||||
27
ENI-2/ENI2/ENI2/Controls/IHighlightControlContainer.cs
Normal file
27
ENI-2/ENI2/ENI2/Controls/IHighlightControlContainer.cs
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
// Copyright (c) 2017 schick Informatik
|
||||||
|
// Description: Interface für eine gemeinsame Basis von EditWindowBase und
|
||||||
|
// DetailBaseControl. Beide müssen auf externe Änderungen am Highlighting reagieren
|
||||||
|
// können und das mögliche Highlighting ihrer Controls abfragen können.
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
using bsmd.database;
|
||||||
|
using ENI2.Util;
|
||||||
|
|
||||||
|
namespace ENI2.Controls
|
||||||
|
{
|
||||||
|
public interface IHighlightControlContainer
|
||||||
|
{
|
||||||
|
|
||||||
|
void HighlightErrorMessageContainer();
|
||||||
|
|
||||||
|
void HighlightViolationMessageContainer();
|
||||||
|
|
||||||
|
void HighlightProperty(Message theMessage, string propertyName, string identifier, HighlightService.HighlightStyle style);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -9,10 +9,11 @@ using System.Windows.Controls;
|
|||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
using ENI2.Util;
|
using ENI2.Util;
|
||||||
|
using ENI2.Controls;
|
||||||
|
|
||||||
namespace ENI2
|
namespace ENI2
|
||||||
{
|
{
|
||||||
public class DetailBaseControl : UserControl
|
public class DetailBaseControl : UserControl, IHighlightControlContainer
|
||||||
{
|
{
|
||||||
|
|
||||||
#region Fields
|
#region Fields
|
||||||
@ -224,6 +225,24 @@ namespace ENI2
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region IHighlightControlContainer implementation
|
||||||
|
|
||||||
|
public virtual void HighlightErrorMessageContainer()
|
||||||
|
{
|
||||||
|
//throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void HighlightViolationMessageContainer()
|
||||||
|
{
|
||||||
|
//throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual void HighlightProperty(Message theMessage, string propertyName, string identifier, HighlightService.HighlightStyle style)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,6 +29,7 @@ namespace ENI2
|
|||||||
private Dictionary<string, DetailBaseControl> controlCache = new Dictionary<string, DetailBaseControl>();
|
private Dictionary<string, DetailBaseControl> controlCache = new Dictionary<string, DetailBaseControl>();
|
||||||
private Guid userId = Guid.NewGuid(); // remove THIS!!
|
private Guid userId = Guid.NewGuid(); // remove THIS!!
|
||||||
private object messageListLock = new object();
|
private object messageListLock = new object();
|
||||||
|
private HighlightService highlightService = new HighlightService();
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -141,6 +142,7 @@ namespace ENI2
|
|||||||
// Control has been created before: Set visibility of "save" button:
|
// Control has been created before: Set visibility of "save" button:
|
||||||
bool hasDirtyMessages = false;
|
bool hasDirtyMessages = false;
|
||||||
DetailBaseControl dbc = controlCache[mg.MessageGroupName];
|
DetailBaseControl dbc = controlCache[mg.MessageGroupName];
|
||||||
|
|
||||||
foreach (Message message in dbc.ControlMessages)
|
foreach (Message message in dbc.ControlMessages)
|
||||||
if (message.IsDirty)
|
if (message.IsDirty)
|
||||||
hasDirtyMessages = true;
|
hasDirtyMessages = true;
|
||||||
@ -149,6 +151,11 @@ namespace ENI2
|
|||||||
|
|
||||||
// plug it in ;-)
|
// plug it in ;-)
|
||||||
detailView.Children.Clear();
|
detailView.Children.Clear();
|
||||||
|
|
||||||
|
// zuerst Vio dann Error
|
||||||
|
controlCache[mg.MessageGroupName].HighlightViolationMessageContainer();
|
||||||
|
controlCache[mg.MessageGroupName].HighlightErrorMessageContainer();
|
||||||
|
|
||||||
detailView.Children.Add(controlCache[mg.MessageGroupName]);
|
detailView.Children.Add(controlCache[mg.MessageGroupName]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -181,8 +188,13 @@ namespace ENI2
|
|||||||
{
|
{
|
||||||
if (message.IsDirty)
|
if (message.IsDirty)
|
||||||
{
|
{
|
||||||
if ((message.Status == Message.MessageStatus.ACCEPTED) && (message.InternalStatus == Message.BSMDStatus.CONFIRMED))
|
if ((message.Status == Message.MessageStatus.ACCEPTED) &&
|
||||||
|
((message.InternalStatus == Message.BSMDStatus.CONFIRMED) || (message.InternalStatus == Message.BSMDStatus.VIOLATION)))
|
||||||
message.InternalStatus = Message.BSMDStatus.UPDATED;
|
message.InternalStatus = Message.BSMDStatus.UPDATED;
|
||||||
|
string userName = "?";
|
||||||
|
if (this.LockedBy != null)
|
||||||
|
userName = this.LockedBy.Logon;
|
||||||
|
message.ChangedBy = string.Format("{0} at {1}", userName, DateTime.Now);
|
||||||
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(message);
|
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(message);
|
||||||
message.SaveElements();
|
message.SaveElements();
|
||||||
message.IsDirty = false;
|
message.IsDirty = false;
|
||||||
@ -230,7 +242,7 @@ namespace ENI2
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// locking failed: Notify User
|
// TODO: locking failed: Notify User
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -264,7 +276,7 @@ namespace ENI2
|
|||||||
|
|
||||||
// if the entity has been highlighted (through remote change detection), reset this here
|
// if the entity has been highlighted (through remote change detection), reset this here
|
||||||
this.OnHighlightReset();
|
this.OnHighlightReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
@ -6,6 +6,7 @@ using System.Windows;
|
|||||||
|
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
using ENI2.EditControls;
|
using ENI2.EditControls;
|
||||||
|
using System.Windows.Media;
|
||||||
|
|
||||||
namespace ENI2.DetailViewControls
|
namespace ENI2.DetailViewControls
|
||||||
{
|
{
|
||||||
@ -211,5 +212,25 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Highlighting
|
||||||
|
|
||||||
|
public override void HighlightErrorMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._ataMessage.HasErrors) this.ataGroupBox.BorderBrush = Brushes.Red;
|
||||||
|
if (this._bkraMessage.HasErrors) this.bkraGroupBox.BorderBrush = Brushes.Red;
|
||||||
|
if (this._pobaMessage.HasErrors) this.pobaGroupBox.BorderBrush = Brushes.Red;
|
||||||
|
if (this._tiefaMessage.HasErrors) this.tiefaGroupBox.BorderBrush = Brushes.Red;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void HighlightViolationMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._ataMessage.HasViolations) this.ataGroupBox.BorderBrush = Brushes.Yellow;
|
||||||
|
if (this._bkraMessage.HasViolations) this.bkraGroupBox.BorderBrush = Brushes.Yellow;
|
||||||
|
if (this._pobaMessage.HasViolations) this.pobaGroupBox.BorderBrush = Brushes.Yellow;
|
||||||
|
if (this._tiefaMessage.HasViolations) this.tiefaGroupBox.BorderBrush = Brushes.Yellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -469,5 +469,30 @@ namespace ENI2.DetailViewControls
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Highlighting
|
||||||
|
|
||||||
|
public override void HighlightErrorMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._bpolMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.groupBoxBorderPolice, HighlightService.HighlightStyle.ERROR, this._bpolMessage);
|
||||||
|
if (this._crewMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.groupBoxCrewList, HighlightService.HighlightStyle.ERROR, this._crewMessage);
|
||||||
|
if (this._pasMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.groupBoxPassengerList, HighlightService.HighlightStyle.ERROR, this._pasMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void HighlightViolationMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._bpolMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.groupBoxBorderPolice, HighlightService.HighlightStyle.VIOLATION, this._bpolMessage);
|
||||||
|
if (this._crewMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.groupBoxCrewList, HighlightService.HighlightStyle.VIOLATION, this._crewMessage);
|
||||||
|
if (this._pasMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.groupBoxPassengerList, HighlightService.HighlightStyle.VIOLATION, this._pasMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -490,5 +490,23 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Highlighting
|
||||||
|
|
||||||
|
public override void HighlightErrorMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._hazMessage.HasErrors)
|
||||||
|
{
|
||||||
|
HighlightService.HighlightControl(this.groupBoxHAZ, HighlightService.HighlightStyle.ERROR, this._hazMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void HighlightViolationMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._hazMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.groupBoxHAZ, HighlightService.HighlightStyle.VIOLATION, this._hazMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ using System.Windows;
|
|||||||
|
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
using ENI2.EditControls;
|
using ENI2.EditControls;
|
||||||
|
using ENI2.Util;
|
||||||
|
|
||||||
namespace ENI2.DetailViewControls
|
namespace ENI2.DetailViewControls
|
||||||
{
|
{
|
||||||
@ -210,5 +211,39 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Highlighting
|
||||||
|
|
||||||
|
public override void HighlightErrorMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._atdMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.atdGroupBox, HighlightService.HighlightStyle.ERROR, this._atdMessage);
|
||||||
|
|
||||||
|
if (this._tiefdMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.tiefdGroupBox, HighlightService.HighlightStyle.ERROR, this._tiefdMessage);
|
||||||
|
|
||||||
|
if (this._pobdMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.pobdGroupBox, HighlightService.HighlightStyle.ERROR, this._pobdMessage);
|
||||||
|
|
||||||
|
if (this._bkrdMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.bkrdGroupBox, HighlightService.HighlightStyle.ERROR, this._bkrdMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void HighlightViolationMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._atdMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.atdGroupBox, HighlightService.HighlightStyle.VIOLATION, this._atdMessage);
|
||||||
|
|
||||||
|
if (this._tiefdMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.tiefdGroupBox, HighlightService.HighlightStyle.VIOLATION, this._tiefdMessage);
|
||||||
|
|
||||||
|
if (this._pobdMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.pobdGroupBox, HighlightService.HighlightStyle.VIOLATION, this._pobdMessage);
|
||||||
|
|
||||||
|
if (this._bkrdMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.bkrdGroupBox, HighlightService.HighlightStyle.VIOLATION, this._bkrdMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
d:DesignHeight="600" d:DesignWidth="1024">
|
d:DesignHeight="600" d:DesignWidth="1024">
|
||||||
<TabControl Margin="10" Name="mainFrame">
|
<TabControl Margin="10" Name="mainFrame">
|
||||||
<TabItem Header="{x:Static p:Resources.textMaritimeHealthDeclaration}" Name="tabMaritimeHealthDeclaration">
|
<TabItem Header="{x:Static p:Resources.textMaritimeHealthDeclaration}" Name="tabMaritimeHealthDeclaration">
|
||||||
<GroupBox Name="portCallGroupBox" Header="{x:Static p:Resources.textMDH}">
|
<GroupBox Name="mdhGroupBox" Header="{x:Static p:Resources.textMDH}">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="3*" />
|
<ColumnDefinition Width="3*" />
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using ENI2.EditControls;
|
using ENI2.EditControls;
|
||||||
|
using ENI2.Util;
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
|
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
this.portCallGroupBox.DataContext = mdh;
|
this.mdhGroupBox.DataContext = mdh;
|
||||||
this._mdh = mdh;
|
this._mdh = mdh;
|
||||||
|
|
||||||
this.dataGridPortOfCallLast30Days.Initialize();
|
this.dataGridPortOfCallLast30Days.Initialize();
|
||||||
@ -169,7 +169,9 @@ namespace ENI2.DetailViewControls
|
|||||||
this.textBoxPlaceOfIssue.IsEnabled = !simplified;
|
this.textBoxPlaceOfIssue.IsEnabled = !simplified;
|
||||||
this.textBoxStowawaysJoiningLocation.IsEnabled = !simplified;
|
this.textBoxStowawaysJoiningLocation.IsEnabled = !simplified;
|
||||||
this.integerUpDownNumberOfDeaths.IsEnabled = !simplified;
|
this.integerUpDownNumberOfDeaths.IsEnabled = !simplified;
|
||||||
|
this.integerUpDownNumberOfDeaths.IsReadOnly = simplified;
|
||||||
this.integerUpDownNumberOfIllPersons.IsEnabled = !simplified;
|
this.integerUpDownNumberOfIllPersons.IsEnabled = !simplified;
|
||||||
|
this.integerUpDownNumberOfIllPersons.IsReadOnly = simplified;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -410,6 +412,24 @@ namespace ENI2.DetailViewControls
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Highlighting
|
||||||
|
|
||||||
|
public override void HighlightErrorMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._mdhMessage.HasErrors)
|
||||||
|
{
|
||||||
|
HighlightService.HighlightControl(this.mdhGroupBox, HighlightService.HighlightStyle.ERROR, this._mdhMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void HighlightViolationMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._mdhMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.mdhGroupBox, HighlightService.HighlightStyle.VIOLATION, this._mdhMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -160,7 +160,7 @@
|
|||||||
<DataTemplate>
|
<DataTemplate>
|
||||||
<Image x:Name="imageHasUpdate"/>
|
<Image x:Name="imageHasUpdate"/>
|
||||||
<DataTemplate.Triggers>
|
<DataTemplate.Triggers>
|
||||||
<DataTrigger Binding="{Binding Path=HasUpdate}" Value="True">
|
<DataTrigger Binding="{Binding Path=HasUpdates}" Value="True">
|
||||||
<Setter Property="Source" Value="/Resources/recycle.png" TargetName="imageHasUpdate"/>
|
<Setter Property="Source" Value="/Resources/recycle.png" TargetName="imageHasUpdate"/>
|
||||||
</DataTrigger>
|
</DataTrigger>
|
||||||
</DataTemplate.Triggers>
|
</DataTemplate.Triggers>
|
||||||
@ -186,13 +186,6 @@
|
|||||||
</Style>
|
</Style>
|
||||||
</DataGridTextColumn.ElementStyle>
|
</DataGridTextColumn.ElementStyle>
|
||||||
</DataGridTextColumn>
|
</DataGridTextColumn>
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textStatus}" Binding="{Binding InternalStatus}" IsReadOnly="True" Width="0.1*">
|
|
||||||
<DataGridTextColumn.ElementStyle>
|
|
||||||
<Style TargetType="TextBlock">
|
|
||||||
<Setter Property="VerticalAlignment" Value="Center"/>
|
|
||||||
</Style>
|
|
||||||
</DataGridTextColumn.ElementStyle>
|
|
||||||
</DataGridTextColumn>
|
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textReceivedAt}" Binding="{Binding ReceivedAt}" IsReadOnly="True" Width="0.15*">
|
<DataGridTextColumn Header="{x:Static p:Resources.textReceivedAt}" Binding="{Binding ReceivedAt}" IsReadOnly="True" Width="0.15*">
|
||||||
<DataGridTextColumn.ElementStyle>
|
<DataGridTextColumn.ElementStyle>
|
||||||
<Style TargetType="TextBlock">
|
<Style TargetType="TextBlock">
|
||||||
@ -200,7 +193,21 @@
|
|||||||
</Style>
|
</Style>
|
||||||
</DataGridTextColumn.ElementStyle>
|
</DataGridTextColumn.ElementStyle>
|
||||||
</DataGridTextColumn>
|
</DataGridTextColumn>
|
||||||
<DataGridTextColumn Header="{x:Static p:Resources.textChangedBy}" Binding="{Binding ChangedBy}" IsReadOnly="True" Width="0.5*">
|
<DataGridTextColumn Header="{x:Static p:Resources.textStatus}" Binding="{Binding InternalStatus}" IsReadOnly="True" Width="0.1*">
|
||||||
|
<DataGridTextColumn.ElementStyle>
|
||||||
|
<Style TargetType="TextBlock">
|
||||||
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||||
|
</Style>
|
||||||
|
</DataGridTextColumn.ElementStyle>
|
||||||
|
</DataGridTextColumn>
|
||||||
|
<DataGridTextColumn Header="{x:Static p:Resources.textStatusInfo}" Binding="{Binding StatusInfo}" IsReadOnly="True" Width="0.3*">
|
||||||
|
<DataGridTextColumn.ElementStyle>
|
||||||
|
<Style TargetType="TextBlock">
|
||||||
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||||
|
</Style>
|
||||||
|
</DataGridTextColumn.ElementStyle>
|
||||||
|
</DataGridTextColumn>
|
||||||
|
<DataGridTextColumn Header="{x:Static p:Resources.textChangedBy}" Binding="{Binding ChangedBy}" IsReadOnly="True" Width="0.3*">
|
||||||
<DataGridTextColumn.ElementStyle>
|
<DataGridTextColumn.ElementStyle>
|
||||||
<Style TargetType="TextBlock">
|
<Style TargetType="TextBlock">
|
||||||
<Setter Property="VerticalAlignment" Value="Center"/>
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||||
|
|||||||
@ -376,12 +376,14 @@ namespace ENI2.DetailViewControls
|
|||||||
foreach (Message selectedMessage in this.dataGridMessages.SelectedItems)
|
foreach (Message selectedMessage in this.dataGridMessages.SelectedItems)
|
||||||
{
|
{
|
||||||
selectedMessage.InternalStatus = Message.BSMDStatus.TOSEND;
|
selectedMessage.InternalStatus = Message.BSMDStatus.TOSEND;
|
||||||
|
selectedMessage.StatusInfo = string.Format(Properties.Resources.textMessageSentAt, DateTime.Now);
|
||||||
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(selectedMessage);
|
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(selectedMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
// komplette Anmeldung auf "zu versenden" stellen
|
// komplette Anmeldung auf "zu versenden" stellen
|
||||||
this.Core.BSMDStatusInternal = MessageCore.BSMDStatus.TOSEND;
|
this.Core.BSMDStatusInternal = MessageCore.BSMDStatus.TOSEND;
|
||||||
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(this.Core);
|
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(this.Core);
|
||||||
|
this.dataGridMessages.Items.Refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -393,12 +395,15 @@ namespace ENI2.DetailViewControls
|
|||||||
foreach (Message selectedMessage in this.dataGridMessages.SelectedItems)
|
foreach (Message selectedMessage in this.dataGridMessages.SelectedItems)
|
||||||
{
|
{
|
||||||
selectedMessage.Reset = true;
|
selectedMessage.Reset = true;
|
||||||
|
selectedMessage.InternalStatus = Message.BSMDStatus.TOSEND;
|
||||||
|
selectedMessage.StatusInfo = string.Format(Properties.Resources.textMessageResetAt, DateTime.Now);
|
||||||
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(selectedMessage);
|
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(selectedMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
// komplette Anmeldung auf "zu versenden" stellen
|
// komplette Anmeldung auf "zu versenden" stellen
|
||||||
this.Core.BSMDStatusInternal = MessageCore.BSMDStatus.TOSEND;
|
this.Core.BSMDStatusInternal = MessageCore.BSMDStatus.TOSEND;
|
||||||
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(this.Core);
|
DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(this.Core);
|
||||||
|
this.dataGridMessages.Items.Refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
|
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
using ENI2.EditControls;
|
using ENI2.Util;
|
||||||
|
|
||||||
namespace ENI2.DetailViewControls
|
namespace ENI2.DetailViewControls
|
||||||
{
|
{
|
||||||
@ -99,6 +99,23 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region Highlighting
|
||||||
|
|
||||||
|
public override void HighlightErrorMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._pre72hMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.groupBoxPre72H, HighlightService.HighlightStyle.ERROR, this._pre72hMessage);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void HighlightViolationMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._pre72hMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.groupBoxPre72H, HighlightService.HighlightStyle.VIOLATION, this._pre72hMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,6 +7,7 @@ using System.Windows.Controls;
|
|||||||
|
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
using ENI2.EditControls;
|
using ENI2.EditControls;
|
||||||
|
using ENI2.Util;
|
||||||
|
|
||||||
namespace ENI2.DetailViewControls
|
namespace ENI2.DetailViewControls
|
||||||
{
|
{
|
||||||
@ -168,5 +169,36 @@ namespace ENI2.DetailViewControls
|
|||||||
this.SublistElementChanged(Message.NotificationClass.NOA_NOD);
|
this.SublistElementChanged(Message.NotificationClass.NOA_NOD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region Highlighting
|
||||||
|
|
||||||
|
public override void HighlightErrorMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._noa_nod.MessageHeader.HasErrors)
|
||||||
|
{
|
||||||
|
HighlightService.HighlightControl(this.portCallGroupBox, HighlightService.HighlightStyle.ERROR, this._noa_nod.MessageHeader);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this._agnt.MessageHeader.HasErrors)
|
||||||
|
{
|
||||||
|
HighlightService.HighlightControl(this.agentGroupBox, HighlightService.HighlightStyle.ERROR, this._agnt.MessageHeader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void HighlightViolationMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._noa_nod.MessageHeader.HasViolations)
|
||||||
|
{
|
||||||
|
HighlightService.HighlightControl(this.portCallGroupBox, HighlightService.HighlightStyle.VIOLATION, this._noa_nod.MessageHeader);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this._agnt.MessageHeader.HasViolations)
|
||||||
|
{
|
||||||
|
HighlightService.HighlightControl(this.agentGroupBox, HighlightService.HighlightStyle.VIOLATION, this._agnt.MessageHeader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@ using System.Collections.Generic;
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using ENI2.EditControls;
|
using ENI2.EditControls;
|
||||||
|
using ENI2.Util;
|
||||||
|
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
|
|
||||||
@ -240,5 +240,34 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
this.DataGridSERV_CreateRequested();
|
this.DataGridSERV_CreateRequested();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region Highlighting
|
||||||
|
|
||||||
|
public override void HighlightErrorMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._nameMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.nameGroupBox, HighlightService.HighlightStyle.ERROR, this._nameMessage);
|
||||||
|
if (this._infoMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.infoGroupBox, HighlightService.HighlightStyle.ERROR, this._infoMessage);
|
||||||
|
if (this._servMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.servGroupBox, HighlightService.HighlightStyle.ERROR, this._servMessage);
|
||||||
|
if (this._ladgMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.ladgGroupBox, HighlightService.HighlightStyle.ERROR, this._ladgMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void HighlightViolationMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._nameMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.nameGroupBox, HighlightService.HighlightStyle.VIOLATION, this._nameMessage);
|
||||||
|
if (this._infoMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.infoGroupBox, HighlightService.HighlightStyle.VIOLATION, this._infoMessage);
|
||||||
|
if (this._servMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.servGroupBox, HighlightService.HighlightStyle.VIOLATION, this._servMessage);
|
||||||
|
if (this._ladgMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.ladgGroupBox, HighlightService.HighlightStyle.VIOLATION, this._ladgMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,7 @@
|
|||||||
d:DesignHeight="600" d:DesignWidth="1024">
|
d:DesignHeight="600" d:DesignWidth="1024">
|
||||||
<TabControl Margin="10" Name="mainFrame">
|
<TabControl Margin="10" Name="mainFrame">
|
||||||
<TabItem Header="{x:Static p:Resources.textSecurityNotification}" Name="tabSecurityNotification">
|
<TabItem Header="{x:Static p:Resources.textSecurityNotification}" Name="tabSecurityNotification">
|
||||||
<GroupBox Name="portCallGroupBox" Header="{x:Static p:Resources.textSEC}">
|
<GroupBox Name="secGroupBox" Header="{x:Static p:Resources.textSEC}">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="1*" />
|
<ColumnDefinition Width="1*" />
|
||||||
|
|||||||
@ -5,8 +5,9 @@
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using ENI2.EditControls;
|
using ENI2.EditControls;
|
||||||
|
using ENI2.Util;
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
|
|
||||||
using System.Windows.Data;
|
using System.Windows.Data;
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
@ -65,7 +66,7 @@ namespace ENI2.DetailViewControls
|
|||||||
_secMessage.Elements.Add(sec);
|
_secMessage.Elements.Add(sec);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.portCallGroupBox.DataContext = sec;
|
this.secGroupBox.DataContext = sec;
|
||||||
this._sec = sec;
|
this._sec = sec;
|
||||||
|
|
||||||
this.comboBoxCurrentShipSecurityLevel.ItemsSource = Util.GlobalStructures.ShipSecurityLevels;
|
this.comboBoxCurrentShipSecurityLevel.ItemsSource = Util.GlobalStructures.ShipSecurityLevels;
|
||||||
@ -299,5 +300,22 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Highlighting
|
||||||
|
|
||||||
|
public override void HighlightErrorMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._secMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.secGroupBox, HighlightService.HighlightStyle.ERROR, this._secMessage);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void HighlightViolationMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._secMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.secGroupBox, HighlightService.HighlightStyle.VIOLATION, this._secMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
xmlns:local="clr-namespace:ENI2.DetailViewControls"
|
xmlns:local="clr-namespace:ENI2.DetailViewControls"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DesignHeight="600" d:DesignWidth="800">
|
d:DesignHeight="600" d:DesignWidth="800">
|
||||||
<GroupBox Name="shipDataGroupBox" Header="{x:Static p:Resources.textShipData}">
|
<GroupBox Name="shipDataGroupBox" Header="{x:Static p:Resources.textShipData}" >
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="210" />
|
<RowDefinition Height="210" />
|
||||||
|
|||||||
@ -6,6 +6,8 @@ using System.Windows;
|
|||||||
|
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
using ENI2.EditControls;
|
using ENI2.EditControls;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using ENI2.Util;
|
||||||
|
|
||||||
namespace ENI2.DetailViewControls
|
namespace ENI2.DetailViewControls
|
||||||
{
|
{
|
||||||
@ -84,5 +86,24 @@ namespace ENI2.DetailViewControls
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region Highlighting
|
||||||
|
|
||||||
|
public override void HighlightErrorMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._statMessage.HasErrors)
|
||||||
|
{
|
||||||
|
HighlightService.HighlightControl(this.shipDataGroupBox, HighlightService.HighlightStyle.ERROR, this._statMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void HighlightViolationMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._statMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.shipDataGroupBox, HighlightService.HighlightStyle.VIOLATION, this._statMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,7 @@ using System.Windows;
|
|||||||
|
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
using ENI2.EditControls;
|
using ENI2.EditControls;
|
||||||
|
using ENI2.Util;
|
||||||
|
|
||||||
namespace ENI2.DetailViewControls
|
namespace ENI2.DetailViewControls
|
||||||
{
|
{
|
||||||
@ -216,5 +217,26 @@ namespace ENI2.DetailViewControls
|
|||||||
{
|
{
|
||||||
this.DataGridTowageOnArrival_CreateRequested();
|
this.DataGridTowageOnArrival_CreateRequested();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region Highlighting
|
||||||
|
|
||||||
|
public override void HighlightErrorMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._towaMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.groupBoxTowageOnArrival, HighlightService.HighlightStyle.ERROR, this._towaMessage);
|
||||||
|
if (this._towdMessage.HasErrors)
|
||||||
|
HighlightService.HighlightControl(this.groupBoxTowageOnDeparture, HighlightService.HighlightStyle.ERROR, this._towdMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void HighlightViolationMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._towaMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.groupBoxTowageOnArrival, HighlightService.HighlightStyle.VIOLATION, this._towaMessage);
|
||||||
|
if (this._towdMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.groupBoxTowageOnDeparture, HighlightService.HighlightStyle.VIOLATION, this._towdMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
d:DesignHeight="600" d:DesignWidth="800">
|
d:DesignHeight="600" d:DesignWidth="800">
|
||||||
<GroupBox Name="portCallGroupBox" Header="{x:Static p:Resources.textWaste}">
|
<GroupBox Name="wasGroupBox" Header="{x:Static p:Resources.textWaste}">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="220" />
|
<RowDefinition Height="220" />
|
||||||
|
|||||||
@ -6,7 +6,7 @@ using System.Collections.Generic;
|
|||||||
using System.Windows;
|
using System.Windows;
|
||||||
using System.Windows.Controls;
|
using System.Windows.Controls;
|
||||||
using ENI2.EditControls;
|
using ENI2.EditControls;
|
||||||
|
using ENI2.Util;
|
||||||
using bsmd.database;
|
using bsmd.database;
|
||||||
|
|
||||||
namespace ENI2.DetailViewControls
|
namespace ENI2.DetailViewControls
|
||||||
@ -71,7 +71,7 @@ namespace ENI2.DetailViewControls
|
|||||||
_wasMessage.Elements.Add(was);
|
_wasMessage.Elements.Add(was);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.portCallGroupBox.DataContext = was;
|
this.wasGroupBox.DataContext = was;
|
||||||
this._was = was;
|
this._was = was;
|
||||||
|
|
||||||
this.dataGridWaste.Initialize();
|
this.dataGridWaste.Initialize();
|
||||||
@ -159,5 +159,23 @@ namespace ENI2.DetailViewControls
|
|||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Highlighting
|
||||||
|
|
||||||
|
public override void HighlightErrorMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._wasMessage.HasErrors)
|
||||||
|
{
|
||||||
|
HighlightService.HighlightControl(this.wasGroupBox, HighlightService.HighlightStyle.ERROR, this._wasMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void HighlightViolationMessageContainer()
|
||||||
|
{
|
||||||
|
if (this._wasMessage.HasViolations)
|
||||||
|
HighlightService.HighlightControl(this.wasGroupBox, HighlightService.HighlightStyle.VIOLATION, this._wasMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -35,8 +35,8 @@
|
|||||||
<MinimumRequiredVersion>3.5.1.0</MinimumRequiredVersion>
|
<MinimumRequiredVersion>3.5.1.0</MinimumRequiredVersion>
|
||||||
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
|
||||||
<WebPage>publish.html</WebPage>
|
<WebPage>publish.html</WebPage>
|
||||||
<ApplicationRevision>6</ApplicationRevision>
|
<ApplicationRevision>1</ApplicationRevision>
|
||||||
<ApplicationVersion>3.6.12.%2a</ApplicationVersion>
|
<ApplicationVersion>3.6.13.%2a</ApplicationVersion>
|
||||||
<UseApplicationTrust>false</UseApplicationTrust>
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
||||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||||
@ -168,6 +168,7 @@
|
|||||||
<Compile Include="Controls\ClosableTabItem.cs" />
|
<Compile Include="Controls\ClosableTabItem.cs" />
|
||||||
<Compile Include="Controls\EditWindowBase.cs" />
|
<Compile Include="Controls\EditWindowBase.cs" />
|
||||||
<Compile Include="Controls\ENIDataGrid.cs" />
|
<Compile Include="Controls\ENIDataGrid.cs" />
|
||||||
|
<Compile Include="Controls\IHighlightControlContainer.cs" />
|
||||||
<Compile Include="Controls\LocodeControl.xaml.cs">
|
<Compile Include="Controls\LocodeControl.xaml.cs">
|
||||||
<DependentUpon>LocodeControl.xaml</DependentUpon>
|
<DependentUpon>LocodeControl.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
@ -309,6 +310,7 @@
|
|||||||
<Compile Include="Util\ByteConverter.cs" />
|
<Compile Include="Util\ByteConverter.cs" />
|
||||||
<Compile Include="Util\DatabaseEntityWatchdog.cs" />
|
<Compile Include="Util\DatabaseEntityWatchdog.cs" />
|
||||||
<Compile Include="Util\GlobalStructures.cs" />
|
<Compile Include="Util\GlobalStructures.cs" />
|
||||||
|
<Compile Include="Util\HighlightService.cs" />
|
||||||
<Compile Include="Util\InverseBooleanConverter.cs" />
|
<Compile Include="Util\InverseBooleanConverter.cs" />
|
||||||
<Compile Include="Util\NullImageConverter.cs" />
|
<Compile Include="Util\NullImageConverter.cs" />
|
||||||
<Compile Include="Util\UtcToLocalDateTimeConverter.cs" />
|
<Compile Include="Util\UtcToLocalDateTimeConverter.cs" />
|
||||||
@ -328,6 +330,10 @@
|
|||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
</Page>
|
</Page>
|
||||||
|
<Page Include="ControlTemplates.xaml">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
</Page>
|
||||||
<Page Include="DetailRootControl.xaml">
|
<Page Include="DetailRootControl.xaml">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
|||||||
@ -19,7 +19,14 @@
|
|||||||
CanExecute="CanExecuteClearCommand" />
|
CanExecute="CanExecuteClearCommand" />
|
||||||
</Window.CommandBindings>
|
</Window.CommandBindings>
|
||||||
<Window.Resources>
|
<Window.Resources>
|
||||||
<util:BoolToVisibilityConverter x:Key="BoolToHiddenConverter" TrueValue="Visible" FalseValue="Hidden" />
|
<ResourceDictionary>
|
||||||
|
<ResourceDictionary.MergedDictionaries>
|
||||||
|
<ResourceDictionary
|
||||||
|
Source="ControlTemplates.xaml">
|
||||||
|
</ResourceDictionary>
|
||||||
|
</ResourceDictionary.MergedDictionaries>
|
||||||
|
<util:BoolToVisibilityConverter x:Key="BoolToHiddenConverter" TrueValue="Visible" FalseValue="Hidden" />
|
||||||
|
</ResourceDictionary>
|
||||||
</Window.Resources>
|
</Window.Resources>
|
||||||
|
|
||||||
<xctk:BusyIndicator Name="busyIndicator" IsBusy="True">
|
<xctk:BusyIndicator Name="busyIndicator" IsBusy="True">
|
||||||
|
|||||||
27
ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
generated
27
ENI-2/ENI2/ENI2/Properties/Resources.Designer.cs
generated
@ -2405,6 +2405,24 @@ namespace ENI2.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Message reset at {0}.
|
||||||
|
/// </summary>
|
||||||
|
public static string textMessageResetAt {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("textMessageResetAt", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Message sent at {0}.
|
||||||
|
/// </summary>
|
||||||
|
public static string textMessageSentAt {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("textMessageSentAt", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to MMSI number.
|
/// Looks up a localized string similar to MMSI number.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -3467,6 +3485,15 @@ namespace ENI2.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Status info.
|
||||||
|
/// </summary>
|
||||||
|
public static string textStatusInfo {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("textStatusInfo", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Stern thruster power.
|
/// Looks up a localized string similar to Stern thruster power.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -1417,4 +1417,13 @@
|
|||||||
<data name="textVisitTransitAlreadyInDatabase" xml:space="preserve">
|
<data name="textVisitTransitAlreadyInDatabase" xml:space="preserve">
|
||||||
<value>A data record with this Visit / TransitId is already in the database!</value>
|
<value>A data record with this Visit / TransitId is already in the database!</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="textMessageResetAt" xml:space="preserve">
|
||||||
|
<value>Message reset at {0}</value>
|
||||||
|
</data>
|
||||||
|
<data name="textMessageSentAt" xml:space="preserve">
|
||||||
|
<value>Message sent at {0}</value>
|
||||||
|
</data>
|
||||||
|
<data name="textStatusInfo" xml:space="preserve">
|
||||||
|
<value>Status info</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
134
ENI-2/ENI2/ENI2/Util/HighlightService.cs
Normal file
134
ENI-2/ENI2/ENI2/Util/HighlightService.cs
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
// Copyright (c) 2017 schick Informatik
|
||||||
|
// Description: Diese Klasse steuert zentral hervorgehobene Controls. Diese können auf unterschiedliche(!) Art
|
||||||
|
// hervorgehoben sein: NSW Error / NSW Violation / Rule Fehler / Reminder
|
||||||
|
//
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
|
||||||
|
using bsmd.database;
|
||||||
|
|
||||||
|
namespace ENI2.Util
|
||||||
|
{
|
||||||
|
public class HighlightService
|
||||||
|
{
|
||||||
|
private static ControlTemplate groupBoxDefaultTemplate;
|
||||||
|
|
||||||
|
#region Construction
|
||||||
|
|
||||||
|
public HighlightService()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region enums
|
||||||
|
|
||||||
|
public enum HighlightStyle
|
||||||
|
{
|
||||||
|
NONE,
|
||||||
|
VALIDATION,
|
||||||
|
UPDATE,
|
||||||
|
REMINDER,
|
||||||
|
ERROR,
|
||||||
|
VIOLATION
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region events
|
||||||
|
|
||||||
|
public delegate void HighlightChangeNotificationHandler(Message relevantMessage, DatabaseEntity subElement, string identifier);
|
||||||
|
|
||||||
|
public event HighlightChangeNotificationHandler PropertyHighlightingChanged;
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region public methods
|
||||||
|
|
||||||
|
public ControlTemplate GetStyle(string propertyName, object control)
|
||||||
|
{
|
||||||
|
ControlTemplate resultTemplate = null;
|
||||||
|
|
||||||
|
|
||||||
|
return resultTemplate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool MessageHasViolations(Message theMessage)
|
||||||
|
{
|
||||||
|
return !theMessage.ViolationList.IsNullOrEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool MessageHasErrors(Message theMessage)
|
||||||
|
{
|
||||||
|
return !theMessage.ErrorList.IsNullOrEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region public static methods
|
||||||
|
|
||||||
|
public static void HighlightControl(object control, HighlightStyle highlightStyle, Message theMessage)
|
||||||
|
{
|
||||||
|
if(control is GroupBox)
|
||||||
|
{
|
||||||
|
GroupBox gp = (GroupBox)control;
|
||||||
|
if (groupBoxDefaultTemplate == null) // save for restore
|
||||||
|
groupBoxDefaultTemplate = gp.Template;
|
||||||
|
|
||||||
|
switch (highlightStyle)
|
||||||
|
{
|
||||||
|
case HighlightStyle.ERROR:
|
||||||
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
foreach (MessageError me in theMessage.ErrorList)
|
||||||
|
sb.AppendFormat("{0}: {1}\n", me.ErrorCode, me.ErrorText);
|
||||||
|
gp.ToolTip = sb.ToString();
|
||||||
|
gp.Template = Application.Current.MainWindow.TryFindResource("groupBoxTemplateError") as ControlTemplate;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case HighlightStyle.VIOLATION:
|
||||||
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
foreach (MessageViolation mv in theMessage.ViolationList)
|
||||||
|
sb.AppendFormat("{0}: {1}\n", mv.ViolationCode, mv.ViolationText);
|
||||||
|
gp.ToolTip = sb.ToString();
|
||||||
|
gp.Template = Application.Current.MainWindow.FindResource("groupBoxTemplateViolation") as ControlTemplate;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
gp.Template = groupBoxDefaultTemplate;
|
||||||
|
gp.ToolTip = null;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region internal / private methods
|
||||||
|
|
||||||
|
protected void OnPropertyHighlightingChanged()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
BIN
ENI-2/data/crew_import.xlsx
Normal file
BIN
ENI-2/data/crew_import.xlsx
Normal file
Binary file not shown.
BIN
ENI-2/data/pas_import.xlsx
Normal file
BIN
ENI-2/data/pas_import.xlsx
Normal file
Binary file not shown.
Binary file not shown.
@ -127,6 +127,8 @@ public partial class nsw {
|
|||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
public partial class conveyance {
|
public partial class conveyance {
|
||||||
|
|
||||||
|
private string codeField;
|
||||||
|
|
||||||
private object[] itemsField;
|
private object[] itemsField;
|
||||||
|
|
||||||
private ItemsChoiceType[] itemsElementNameField;
|
private ItemsChoiceType[] itemsElementNameField;
|
||||||
@ -137,6 +139,17 @@ public partial class conveyance {
|
|||||||
|
|
||||||
private Items1ChoiceType[] items1ElementNameField;
|
private Items1ChoiceType[] items1ElementNameField;
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string code {
|
||||||
|
get {
|
||||||
|
return this.codeField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.codeField = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Xml.Serialization.XmlElementAttribute("ENINumber", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("ENINumber", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("ETAPortOfCall", typeof(System.DateTime), Form=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType="date")]
|
[System.Xml.Serialization.XmlElementAttribute("ETAPortOfCall", typeof(System.DateTime), Form=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType="date")]
|
||||||
@ -144,7 +157,6 @@ public partial class conveyance {
|
|||||||
[System.Xml.Serialization.XmlElementAttribute("PortOfCall", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("PortOfCall", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("TransitId", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("TransitId", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("VisitId", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("VisitId", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("code", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute("name", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("name", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
|
[System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
|
||||||
public object[] Items {
|
public object[] Items {
|
||||||
@ -280,9 +292,6 @@ public enum ItemsChoiceType {
|
|||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
VisitId,
|
VisitId,
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
code,
|
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
name,
|
name,
|
||||||
}
|
}
|
||||||
@ -1913,7 +1922,8 @@ public partial class portofcallmdh {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Xml.Serialization.XmlElementAttribute("PortOfCallLast30DaysCrewJoinedShip", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlArrayAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
[System.Xml.Serialization.XmlArrayItemAttribute("PortOfCallLast30DaysCrewJoinedShipName", Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)]
|
||||||
public string[] PortOfCallLast30DaysCrewJoinedShip {
|
public string[] PortOfCallLast30DaysCrewJoinedShip {
|
||||||
get {
|
get {
|
||||||
return this.portOfCallLast30DaysCrewJoinedShipField;
|
return this.portOfCallLast30DaysCrewJoinedShipField;
|
||||||
|
|||||||
@ -36,12 +36,13 @@
|
|||||||
|
|
||||||
<xs:complexType name="conveyance">
|
<xs:complexType name="conveyance">
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
|
<xs:element name="code" type="string1-99-type"/>
|
||||||
|
|
||||||
<xs:choice id="visit">
|
<xs:choice id="visit">
|
||||||
<xs:element name="VisitId" type="visitid-type"/>
|
<xs:element name="VisitId" type="visitid-type"/>
|
||||||
<xs:element name="TransitId" type="transitid-type"/>
|
<xs:element name="TransitId" type="transitid-type"/>
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element name="name" type="referenceid-type" minOccurs="0"/>
|
<xs:element name="name" type="referenceid-type" minOccurs="0"/>
|
||||||
<xs:element name="code" type="string1-99-type"/>
|
|
||||||
<xs:choice id="imo">
|
<xs:choice id="imo">
|
||||||
<xs:element name="IMONumber" type="imonumber-type"/>
|
<xs:element name="IMONumber" type="imonumber-type"/>
|
||||||
<xs:element name="ENINumber" type="eninumber-type"/>
|
<xs:element name="ENINumber" type="eninumber-type"/>
|
||||||
|
|||||||
@ -66,7 +66,13 @@
|
|||||||
<xs:element name="PortOfCallLast30DaysLocode" type="locode-type"/>
|
<xs:element name="PortOfCallLast30DaysLocode" type="locode-type"/>
|
||||||
<xs:element name="PortOfCallLast30DaysDateOfDeparture" type="xs:date"/>
|
<xs:element name="PortOfCallLast30DaysDateOfDeparture" type="xs:date"/>
|
||||||
<xs:element name="PortOfCallLast30DaysCrewMembersJoined" type="yorn-type"/>
|
<xs:element name="PortOfCallLast30DaysCrewMembersJoined" type="yorn-type"/>
|
||||||
<xs:element name="PortOfCallLast30DaysCrewJoinedShip" type="string1-99-type" minOccurs="0" maxOccurs="unbounded"/>
|
<xs:element name="PortOfCallLast30DaysCrewJoinedShip" type="crewjoined" minOccurs="0"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
|
||||||
|
<xs:complexType name="crewjoined">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="PortOfCallLast30DaysCrewJoinedShipName" type="string1-99-type" maxOccurs="unbounded"/>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
</xs:complexType>
|
</xs:complexType>
|
||||||
</xs:schema>
|
</xs:schema>
|
||||||
@ -245,6 +245,11 @@ namespace bsmd.database
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public BSMDStatus InternalStatus { get; set; }
|
public BSMDStatus InternalStatus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Erweiterte Erläuterung für Status(-wechsel) zur Darstellung im ENI
|
||||||
|
/// </summary>
|
||||||
|
public string StatusInfo { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// die zur Kommunikation zu verwendende HIS Schnittstelle
|
/// die zur Kommunikation zu verwendende HIS Schnittstelle
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -362,13 +367,14 @@ namespace bsmd.database
|
|||||||
cmd.Parameters.AddWithValue("@HIS", this.HIS);
|
cmd.Parameters.AddWithValue("@HIS", this.HIS);
|
||||||
cmd.Parameters.AddWithNullableValue("@CREATEDBY", this.CreatedBy);
|
cmd.Parameters.AddWithNullableValue("@CREATEDBY", this.CreatedBy);
|
||||||
cmd.Parameters.AddWithNullableValue("@CHANGEDBY", this.ChangedBy);
|
cmd.Parameters.AddWithNullableValue("@CHANGEDBY", this.ChangedBy);
|
||||||
|
cmd.Parameters.AddWithNullableValue("@STATUSINFO", this.StatusInfo);
|
||||||
|
|
||||||
if (this.IsNew)
|
if (this.IsNew)
|
||||||
{
|
{
|
||||||
this.CreateId();
|
this.CreateId();
|
||||||
cmd.Parameters.AddWithValue("@ID", this.Id);
|
cmd.Parameters.AddWithValue("@ID", this.Id);
|
||||||
string query = string.Format("INSERT INTO {0} (Id, ClientRequestId, MessageCoreId, MessageId, SentAt, ReceivedAt, RequestedAt, NotificationClass, Reset, Cancel, Status, ReportingPartyId, BSMDStatus, HIS, CreatedBy, ChangedBy) " +
|
string query = string.Format("INSERT INTO {0} (Id, ClientRequestId, MessageCoreId, MessageId, SentAt, ReceivedAt, RequestedAt, NotificationClass, Reset, Cancel, Status, ReportingPartyId, BSMDStatus, HIS, CreatedBy, ChangedBy, StatusInfo) " +
|
||||||
"VALUES (@ID, @CLIENTREQUESTID, @MESSAGECOREID, @MESSAGEID, @SENTAT, @RECEIVEDAT, @REQUESTEDAT, @NOTIFICATIONCLASS, @RESET, @CANCEL, @STATUS, @REPORTINGPARTYID, @BSMDSTATUS, @HIS, @CREATEDBY, @CHANGEDBY)",
|
"VALUES (@ID, @CLIENTREQUESTID, @MESSAGECOREID, @MESSAGEID, @SENTAT, @RECEIVEDAT, @REQUESTEDAT, @NOTIFICATIONCLASS, @RESET, @CANCEL, @STATUS, @REPORTINGPARTYID, @BSMDSTATUS, @HIS, @CREATEDBY, @CHANGEDBY, @STATUSINFO)",
|
||||||
this.Tablename);
|
this.Tablename);
|
||||||
cmd.CommandText = query;
|
cmd.CommandText = query;
|
||||||
}
|
}
|
||||||
@ -377,7 +383,7 @@ namespace bsmd.database
|
|||||||
cmd.Parameters.AddWithValue("@ID", this.Id);
|
cmd.Parameters.AddWithValue("@ID", this.Id);
|
||||||
cmd.CommandText = string.Format("UPDATE {0} SET ClientRequestId = @CLIENTREQUESTID, MessageId = @MESSAGEID, SentAt = @SENTAT, ReceivedAt = @RECEIVEDAT, RequestedAt = @REQUESTEDAT, " +
|
cmd.CommandText = string.Format("UPDATE {0} SET ClientRequestId = @CLIENTREQUESTID, MessageId = @MESSAGEID, SentAt = @SENTAT, ReceivedAt = @RECEIVEDAT, RequestedAt = @REQUESTEDAT, " +
|
||||||
"NotificationClass = @NOTIFICATIONCLASS, Reset = @RESET, Cancel = @CANCEL, Status = @STATUS, ReportingPartyId = @REPORTINGPARTYID, BSMDStatus = @BSMDSTATUS, HIS = @HIS, " +
|
"NotificationClass = @NOTIFICATIONCLASS, Reset = @RESET, Cancel = @CANCEL, Status = @STATUS, ReportingPartyId = @REPORTINGPARTYID, BSMDStatus = @BSMDSTATUS, HIS = @HIS, " +
|
||||||
"CreatedBy = @CREATEDBY, ChangedBy = @CHANGEDBY WHERE Id = @ID", this.Tablename);
|
"CreatedBy = @CREATEDBY, ChangedBy = @CHANGEDBY, StatusInfo = @STATUSINFO WHERE Id = @ID", this.Tablename);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -385,7 +391,7 @@ namespace bsmd.database
|
|||||||
public override void PrepareLoadCommand(IDbCommand cmd, LoadFilter filter, params object[] criteria )
|
public override void PrepareLoadCommand(IDbCommand cmd, LoadFilter filter, params object[] criteria )
|
||||||
{
|
{
|
||||||
string query = string.Format("SELECT Id, ClientRequestId, MessageCoreId, MessageId, SentAt, ReceivedAt, RequestedAt, NotificationClass, " +
|
string query = string.Format("SELECT Id, ClientRequestId, MessageCoreId, MessageId, SentAt, ReceivedAt, RequestedAt, NotificationClass, " +
|
||||||
"Reset, Cancel, Status, ReportingPartyId, BSMDStatus, HIS, Created, CreatedBy, ChangedBy, Changed FROM {0} ", this.Tablename);
|
"Reset, Cancel, Status, ReportingPartyId, BSMDStatus, HIS, Created, CreatedBy, ChangedBy, Changed, StatusInfo FROM {0} ", this.Tablename);
|
||||||
|
|
||||||
switch (filter)
|
switch (filter)
|
||||||
{
|
{
|
||||||
@ -463,6 +469,7 @@ namespace bsmd.database
|
|||||||
if (!reader.IsDBNull(15)) msg.CreatedBy = reader.GetString(15);
|
if (!reader.IsDBNull(15)) msg.CreatedBy = reader.GetString(15);
|
||||||
if (!reader.IsDBNull(16)) msg.ChangedBy = reader.GetString(16);
|
if (!reader.IsDBNull(16)) msg.ChangedBy = reader.GetString(16);
|
||||||
if (!reader.IsDBNull(17)) msg.changed = reader.GetDateTime(17);
|
if (!reader.IsDBNull(17)) msg.changed = reader.GetDateTime(17);
|
||||||
|
if (!reader.IsDBNull(18)) msg.StatusInfo = reader.GetString(18);
|
||||||
result.Add(msg);
|
result.Add(msg);
|
||||||
}
|
}
|
||||||
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("3.6.12")]
|
[assembly: AssemblyInformationalVersion("3.6.13")]
|
||||||
[assembly: AssemblyCopyright("Copyright © 2014-2017 Informatikbüro Daniel Schick. All rights reserved.")]
|
[assembly: AssemblyCopyright("Copyright © 2014-2017 Informatikbüro Daniel Schick. All rights reserved.")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
@ -1,4 +1,4 @@
|
|||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
[assembly: AssemblyVersion("3.6.12.*")]
|
[assembly: AssemblyVersion("3.6.13.*")]
|
||||||
|
|
||||||
|
|||||||
@ -42,7 +42,10 @@ namespace bsmd.database
|
|||||||
(message.MessageNotificationClass == Message.NotificationClass.WAS) ||
|
(message.MessageNotificationClass == Message.NotificationClass.WAS) ||
|
||||||
(message.MessageNotificationClass == Message.NotificationClass.TOWD) ||
|
(message.MessageNotificationClass == Message.NotificationClass.TOWD) ||
|
||||||
(message.MessageNotificationClass == Message.NotificationClass.STO))
|
(message.MessageNotificationClass == Message.NotificationClass.STO))
|
||||||
|
{
|
||||||
|
message.StatusInfo = "Meldeklasse bei Transitmeldung nicht versandt";
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wenn kein Gefahrgut gemeldet ist soll die Meldeklasse gar nicht gesendet werden
|
// Wenn kein Gefahrgut gemeldet ist soll die Meldeklasse gar nicht gesendet werden
|
||||||
@ -54,8 +57,11 @@ namespace bsmd.database
|
|||||||
HAZ haz = message.Elements[0] as HAZ;
|
HAZ haz = message.Elements[0] as HAZ;
|
||||||
if (haz != null)
|
if (haz != null)
|
||||||
{
|
{
|
||||||
if (haz.NoDPGOnBoardOnArrival ?? false) return false;
|
if (haz.NoDPGOnBoardOnArrival ?? false)
|
||||||
|
{
|
||||||
|
message.StatusInfo = "Meldeklasse nicht versandt: Kein Gefahrgut deklariert";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
// Diese Einstellung wird im EU-NOAD Tool gemacht, muss bei anderen Quellen überarbeitet werden!
|
// Diese Einstellung wird im EU-NOAD Tool gemacht, muss bei anderen Quellen überarbeitet werden!
|
||||||
// if (haz.TransmissionType != "EU-NOAD") return false;
|
// if (haz.TransmissionType != "EU-NOAD") return false;
|
||||||
|
|
||||||
@ -73,9 +79,23 @@ namespace bsmd.database
|
|||||||
if (message.Elements.Count > 0)
|
if (message.Elements.Count > 0)
|
||||||
{
|
{
|
||||||
bsmd.database.ATD atd = message.Elements[0] as bsmd.database.ATD;
|
bsmd.database.ATD atd = message.Elements[0] as bsmd.database.ATD;
|
||||||
if (!atd.ATDPortOfCall.HasValue) return false;
|
if (!atd.ATDPortOfCall.HasValue)
|
||||||
if ((atd.ATDPortOfCall.Value - DateTime.UtcNow).TotalMinutes > 60) return false;
|
{
|
||||||
if ((DateTime.UtcNow - atd.ATDPortOfCall.Value).TotalDays > 7) return false;
|
message.StatusInfo = "ATD ohne Zeitpunkt wird nicht versandt";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ((atd.ATDPortOfCall.Value - DateTime.UtcNow).TotalMinutes > 60)
|
||||||
|
{
|
||||||
|
message.StatusInfo = "ATD mehr als 60 Minuten in der Zukunft!";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
/* RM Christin entfernt 17.8.17
|
||||||
|
if ((DateTime.UtcNow - atd.ATDPortOfCall.Value).TotalDays > 7)
|
||||||
|
{
|
||||||
|
message.StatusInfo = "ATD älter als eine Woche!";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,8 +105,18 @@ namespace bsmd.database
|
|||||||
if (message.Elements.Count > 0)
|
if (message.Elements.Count > 0)
|
||||||
{
|
{
|
||||||
bsmd.database.ATA ata = message.Elements[0] as bsmd.database.ATA;
|
bsmd.database.ATA ata = message.Elements[0] as bsmd.database.ATA;
|
||||||
if (!ata.ATAPortOfCall.HasValue) return false;
|
if (!ata.ATAPortOfCall.HasValue)
|
||||||
if ((DateTime.UtcNow - ata.ATAPortOfCall.Value).TotalDays > 7) return false;
|
{
|
||||||
|
message.StatusInfo = "ATA ohne Zeitpunkt wird nicht versandt";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
/* RM Christin entfernt 17.8.17
|
||||||
|
if ((DateTime.UtcNow - ata.ATAPortOfCall.Value).TotalDays > 7)
|
||||||
|
{
|
||||||
|
message.StatusInfo = "ATA älter als eine Woche!";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -153,35 +153,34 @@ namespace bsmd.hisnord
|
|||||||
_nsw.conveyance.owner_sender.contact.fax = rp.Fax;
|
_nsw.conveyance.owner_sender.contact.fax = rp.Fax;
|
||||||
|
|
||||||
_nsw.document_reference = core.Id.Value.ToString();
|
_nsw.document_reference = core.Id.Value.ToString();
|
||||||
|
_nsw.conveyance.code = core.Id.ToString();
|
||||||
|
|
||||||
if (!core.VisitId.IsNullOrEmpty())
|
if (!core.VisitId.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
_nsw.conveyance.Items = new string[1];
|
_nsw.conveyance.Items = new string[1];
|
||||||
_nsw.conveyance.ItemsElementName = new ItemsChoiceType[1];
|
_nsw.conveyance.ItemsElementName = new ItemsChoiceType[1];
|
||||||
_nsw.conveyance.Items[0] = core.VisitId;
|
_nsw.conveyance.Items[0] = core.VisitId;
|
||||||
_nsw.conveyance.ItemsElementName[0] = ItemsChoiceType.VisitId;
|
_nsw.conveyance.ItemsElementName[0] = ItemsChoiceType.VisitId;
|
||||||
}
|
}
|
||||||
else if (!core.TransitId.IsNullOrEmpty())
|
else if (!core.TransitId.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
_nsw.conveyance.Items = new string[1];
|
_nsw.conveyance.Items = new string[1];
|
||||||
_nsw.conveyance.ItemsElementName = new ItemsChoiceType[1];
|
_nsw.conveyance.ItemsElementName = new ItemsChoiceType[1];
|
||||||
_nsw.conveyance.Items[0] = core.TransitId;
|
_nsw.conveyance.Items[0] = core.TransitId;
|
||||||
_nsw.conveyance.ItemsElementName[0] = ItemsChoiceType.TransitId;
|
_nsw.conveyance.ItemsElementName[0] = ItemsChoiceType.TransitId;
|
||||||
}
|
}
|
||||||
else // liegt noch nichts vor, Id muss beantragt werden
|
else // liegt noch nichts vor, Id muss beantragt werden
|
||||||
{
|
{
|
||||||
_nsw.conveyance.Items = new object[5];
|
_nsw.conveyance.Items = new object[4];
|
||||||
_nsw.conveyance.ItemsElementName = new ItemsChoiceType[5];
|
_nsw.conveyance.ItemsElementName = new ItemsChoiceType[4];
|
||||||
_nsw.conveyance.Items[0] = core.Shipname;
|
_nsw.conveyance.Items[0] = core.Shipname;
|
||||||
_nsw.conveyance.ItemsElementName[0] = ItemsChoiceType.name;
|
_nsw.conveyance.ItemsElementName[0] = ItemsChoiceType.name;
|
||||||
_nsw.conveyance.Items[1] = core.Id.ToString();
|
_nsw.conveyance.Items[1] = core.IMO.IsNullOrEmpty() ? core.ENI : core.IMO;
|
||||||
_nsw.conveyance.ItemsElementName[1] = ItemsChoiceType.code;
|
_nsw.conveyance.ItemsElementName[1] = core.IMO.IsNullOrEmpty() ? ItemsChoiceType.ENINumber : ItemsChoiceType.IMONumber;
|
||||||
_nsw.conveyance.Items[2] = core.IMO.IsNullOrEmpty() ? core.ENI : core.IMO;
|
_nsw.conveyance.Items[2] = core.PoC;
|
||||||
_nsw.conveyance.ItemsElementName[2] = core.IMO.IsNullOrEmpty() ? ItemsChoiceType.ENINumber : ItemsChoiceType.IMONumber;
|
_nsw.conveyance.ItemsElementName[2] = ItemsChoiceType.PortOfCall;
|
||||||
_nsw.conveyance.Items[3] = core.PoC;
|
_nsw.conveyance.Items[3] = core.IsTransit ? core.ETAKielCanal : core.ETA; // TODO Datum konvertieren?
|
||||||
_nsw.conveyance.ItemsElementName[3] = ItemsChoiceType.PortOfCall;
|
_nsw.conveyance.ItemsElementName[3] = ItemsChoiceType.ETAPortOfCall;
|
||||||
_nsw.conveyance.Items[4] = core.IsTransit ? core.ETAKielCanal : core.ETA; // TODO Datum konvertieren?
|
|
||||||
_nsw.conveyance.ItemsElementName[4] = ItemsChoiceType.ETAPortOfCall;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -1141,18 +1140,14 @@ namespace bsmd.hisnord
|
|||||||
if (mdh.PortOfCallLast30Days[j].PortOfCallLast30DaysDateOfDeparture.HasValue)
|
if (mdh.PortOfCallLast30Days[j].PortOfCallLast30DaysDateOfDeparture.HasValue)
|
||||||
pocs.PortOfCallLast30Days[j].PortOfCallLast30DaysDateOfDeparture = mdh.PortOfCallLast30Days[j].PortOfCallLast30DaysDateOfDeparture.Value;
|
pocs.PortOfCallLast30Days[j].PortOfCallLast30DaysDateOfDeparture = mdh.PortOfCallLast30Days[j].PortOfCallLast30DaysDateOfDeparture.Value;
|
||||||
pocs.PortOfCallLast30Days[j].PortOfCallLast30DaysCrewMembersJoined = (mdh.PortOfCallLast30Days[j].PortOfCallLast30DaysCrewMembersJoined ?? false) ? yorntype.Y : yorntype.N;
|
pocs.PortOfCallLast30Days[j].PortOfCallLast30DaysCrewMembersJoined = (mdh.PortOfCallLast30Days[j].PortOfCallLast30DaysCrewMembersJoined ?? false) ? yorntype.Y : yorntype.N;
|
||||||
if (mdh.PortOfCallLast30Days[j].CrewJoinedShip.Count > 0)
|
|
||||||
|
List<string> crewJoinedShipList = new List<string>();
|
||||||
|
for (int k = 0; k < mdh.PortOfCallLast30Days[j].CrewJoinedShip.Count; k++)
|
||||||
{
|
{
|
||||||
pocs.PortOfCallLast30Days[j].PortOfCallLast30DaysCrewJoinedShip = new poc30CrewJoinedShip();
|
if (!mdh.PortOfCallLast30Days[j].CrewJoinedShip[k].PortOfCallLast30DaysCrewJoinedShipName.IsNullOrEmpty())
|
||||||
List<string> crewJoinedShipList = new List<string>();
|
crewJoinedShipList.Add(mdh.PortOfCallLast30Days[j].CrewJoinedShip[k].PortOfCallLast30DaysCrewJoinedShipName);
|
||||||
|
|
||||||
for (int k = 0; k < mdh.PortOfCallLast30Days[j].CrewJoinedShip.Count; k++)
|
|
||||||
{
|
|
||||||
if (!mdh.PortOfCallLast30Days[j].CrewJoinedShip[k].PortOfCallLast30DaysCrewJoinedShipName.IsNullOrEmpty())
|
|
||||||
crewJoinedShipList.Add(mdh.PortOfCallLast30Days[j].CrewJoinedShip[k].PortOfCallLast30DaysCrewJoinedShipName);
|
|
||||||
}
|
|
||||||
pocs.PortOfCallLast30Days[j].PortOfCallLast30DaysCrewJoinedShip.PortOfCallLast30DaysCrewJoinedShipName = crewJoinedShipList.ToArray();
|
|
||||||
}
|
}
|
||||||
|
pocs.PortOfCallLast30Days[j].PortOfCallLast30DaysCrewJoinedShip = crewJoinedShipList.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
mdh_items.Add(pocs);
|
mdh_items.Add(pocs);
|
||||||
|
|||||||
@ -125,10 +125,24 @@ namespace bsmd.hisnord
|
|||||||
if (nswResponse.Status != null)
|
if (nswResponse.Status != null)
|
||||||
{
|
{
|
||||||
bool isAccepted = (nswResponse.Status == "ACCEPTED");
|
bool isAccepted = (nswResponse.Status == "ACCEPTED");
|
||||||
aMessage.Status = isAccepted ? Message.MessageStatus.ACCEPTED : Message.MessageStatus.REJECTED;
|
|
||||||
aMessage.InternalStatus = isAccepted ? Message.BSMDStatus.CONFIRMED : Message.BSMDStatus.ERROR;
|
|
||||||
if(isAccepted)
|
if(isAccepted)
|
||||||
|
{
|
||||||
|
aMessage.Status = Message.MessageStatus.ACCEPTED;
|
||||||
|
aMessage.InternalStatus = Message.BSMDStatus.CONFIRMED;
|
||||||
|
if (nswResponse.Violations.Count > 0)
|
||||||
|
{
|
||||||
|
aMessage.InternalStatus = Message.BSMDStatus.VIOLATION;
|
||||||
|
aMessage.StatusInfo = "Violations reported";
|
||||||
|
}
|
||||||
aMessage.ReceivedAt = nswResponse.ReceiveAt;
|
aMessage.ReceivedAt = nswResponse.ReceiveAt;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
aMessage.Status = Message.MessageStatus.REJECTED;
|
||||||
|
aMessage.InternalStatus = Message.BSMDStatus.ERROR;
|
||||||
|
aMessage.StatusInfo = "Errors reported";
|
||||||
|
}
|
||||||
|
|
||||||
DBManager.Instance.Save(aMessage);
|
DBManager.Instance.Save(aMessage);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -127,6 +127,8 @@ public partial class nsw {
|
|||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
||||||
public partial class conveyance {
|
public partial class conveyance {
|
||||||
|
|
||||||
|
private string codeField;
|
||||||
|
|
||||||
private object[] itemsField;
|
private object[] itemsField;
|
||||||
|
|
||||||
private ItemsChoiceType[] itemsElementNameField;
|
private ItemsChoiceType[] itemsElementNameField;
|
||||||
@ -137,6 +139,17 @@ public partial class conveyance {
|
|||||||
|
|
||||||
private Items1ChoiceType[] items1ElementNameField;
|
private Items1ChoiceType[] items1ElementNameField;
|
||||||
|
|
||||||
|
/// <remarks/>
|
||||||
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
|
public string code {
|
||||||
|
get {
|
||||||
|
return this.codeField;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this.codeField = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Xml.Serialization.XmlElementAttribute("ENINumber", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("ENINumber", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("ETAPortOfCall", typeof(System.DateTime), Form=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType="date")]
|
[System.Xml.Serialization.XmlElementAttribute("ETAPortOfCall", typeof(System.DateTime), Form=System.Xml.Schema.XmlSchemaForm.Unqualified, DataType="date")]
|
||||||
@ -144,7 +157,6 @@ public partial class conveyance {
|
|||||||
[System.Xml.Serialization.XmlElementAttribute("PortOfCall", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("PortOfCall", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("TransitId", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("TransitId", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("VisitId", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("VisitId", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlElementAttribute("code", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute("name", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute("name", typeof(string), Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
[System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
|
[System.Xml.Serialization.XmlChoiceIdentifierAttribute("ItemsElementName")]
|
||||||
public object[] Items {
|
public object[] Items {
|
||||||
@ -280,9 +292,6 @@ public enum ItemsChoiceType {
|
|||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
VisitId,
|
VisitId,
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
code,
|
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
name,
|
name,
|
||||||
}
|
}
|
||||||
@ -1877,7 +1886,7 @@ public partial class portofcallmdh {
|
|||||||
|
|
||||||
private yorntype portOfCallLast30DaysCrewMembersJoinedField;
|
private yorntype portOfCallLast30DaysCrewMembersJoinedField;
|
||||||
|
|
||||||
private poc30CrewJoinedShip portOfCallLast30DaysCrewJoinedShipField;
|
private string[] portOfCallLast30DaysCrewJoinedShipField;
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlElementAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
@ -1913,8 +1922,9 @@ public partial class portofcallmdh {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.Xml.Serialization.XmlElementAttribute("PortOfCallLast30DaysCrewJoinedShip", Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
[System.Xml.Serialization.XmlArrayAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
||||||
public poc30CrewJoinedShip PortOfCallLast30DaysCrewJoinedShip {
|
[System.Xml.Serialization.XmlArrayItemAttribute("PortOfCallLast30DaysCrewJoinedShipName", Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)]
|
||||||
|
public string[] PortOfCallLast30DaysCrewJoinedShip {
|
||||||
get {
|
get {
|
||||||
return this.portOfCallLast30DaysCrewJoinedShipField;
|
return this.portOfCallLast30DaysCrewJoinedShipField;
|
||||||
}
|
}
|
||||||
@ -1924,33 +1934,6 @@ public partial class portofcallmdh {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
|
|
||||||
[System.SerializableAttribute()]
|
|
||||||
[System.Diagnostics.DebuggerStepThroughAttribute()]
|
|
||||||
[System.ComponentModel.DesignerCategoryAttribute("code")]
|
|
||||||
public partial class poc30CrewJoinedShip
|
|
||||||
{
|
|
||||||
private string[] portOfCallLast30DaysCrewJoinedShipNameField;
|
|
||||||
|
|
||||||
/// <remarks/>
|
|
||||||
[System.Xml.Serialization.XmlElementAttribute("PortOfCallLast30DaysCrewJoinedShipName", Form = System.Xml.Schema.XmlSchemaForm.Unqualified)]
|
|
||||||
public string[] PortOfCallLast30DaysCrewJoinedShipName
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return this.portOfCallLast30DaysCrewJoinedShipNameField;
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
this.portOfCallLast30DaysCrewJoinedShipNameField = value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// <remarks/>
|
/// <remarks/>
|
||||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
|
||||||
[System.SerializableAttribute()]
|
[System.SerializableAttribute()]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user