Compare commits

..

31 Commits

Author SHA1 Message Date
4257fdbea0 Added extra verification to catch a maybe very rare error 2025-11-10 17:00:08 +01:00
a3d6ed337a Improved error handling for message telemetry when sending messages 2025-11-10 16:48:10 +01:00
6375639387 Version bump to 7.2.12.7 2025-11-06 10:18:26 +01:00
9b45b902c7 Updated Gefahrgutliste 2025-11-06 10:09:02 +01:00
4174ea9e65 Net mass is now set to gross mass since the workaround doesn't seem to be necessary any more 2025-11-05 07:57:17 +01:00
b1b01532ca Version bump to 7.2.12.6 2025-10-23 22:00:33 +02:00
5eb181de91 minor fixes 2025-10-23 10:50:08 +02:00
6076b2529e Bumped Version to 7.2.12.5 2025-10-22 15:00:16 +02:00
5ee7cf2f2a Update messages when a id is received to show green line 2025-10-22 14:58:13 +02:00
be78399def Error correction fixes and some xtra functionality for easy peasy 2025-10-22 11:45:54 +02:00
3735735ef7 Error correction fixes 2025-10-22 09:48:29 +02:00
8bbf7e9cc9 Version bump to 7.2.12.4 2025-10-16 14:50:23 +02:00
83edca21de Fixes for comments 2025-10-15 07:08:58 +02:00
933a283a4b Version bump to 7.2.12.3 2025-10-14 09:15:57 +02:00
b6c1de3817 Added lighter green background for updated class in overview 2025-10-14 09:08:43 +02:00
bdc7131a1e Updated NuGet for ENI and NSWSendService 2025-10-14 08:53:41 +02:00
46ca051331 Refined the Easy Peasy Control with feedback from Christin 2025-10-10 09:57:49 +02:00
1d44b156f4 Bumped version and changed sendall button preselection behavior 2025-10-06 09:13:51 +02:00
eae9b42266 Fixed empty string/null comparison for waste disposal change detection 2025-10-06 08:47:59 +02:00
284d669dc7 lighter success background row for overview 2025-10-04 11:17:58 +02:00
731a7eff9c changed some details across various trello cards 2025-10-04 10:59:28 +02:00
4b49c78166 WAS not marked for change if the AGNT template (through WasteServiceProvider) did not change a field 2025-10-04 10:59:27 +02:00
d649c4ac16 Do not change PRE72H on Excel import for transit shipcalls 2025-10-04 10:59:27 +02:00
e3b12ae531 Added parsing from Excel and fixed grid refresh error 2025-10-04 10:59:27 +02:00
a0b72f63a8 Improved window labels and and layout 2025-10-04 10:59:27 +02:00
310819a527 bumped version to 7.2.12.1 2025-10-04 10:59:27 +02:00
012cbc4d6d Fix save and restore state 2025-10-04 10:59:27 +02:00
fa460ec8e4 Version bump 2025-10-04 10:59:11 +02:00
ec81631bd8 Adjusted the exporter to match the imported file better 2025-10-04 10:57:34 +02:00
e7ca08c65d Simpler erster ChatGPT Wurf :-) 2025-10-04 10:57:34 +02:00
680ebcdf84 Added plugin control 2025-10-04 10:57:34 +02:00
57 changed files with 1191 additions and 557 deletions

View File

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- <!--
(c) 2017-present Informatikbüro Daniel Schick (c) 2017-present Informatikbüro Daniel Schick
--> -->
<configuration> <configuration>
<configSections> <configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="ENI2.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/> <section name="ENI2.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup> </sectionGroup>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="ENI2.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/> <section name="ENI2.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup> </sectionGroup>
</configSections> </configSections>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup> </startup>
<applicationSettings> <applicationSettings>
<ENI2.Properties.Settings> <ENI2.Properties.Settings>
@ -26,28 +26,103 @@
<value>1000</value> <value>1000</value>
</setting> </setting>
<setting name="LockingServerAddress" serializeAs="String"> <setting name="LockingServerAddress" serializeAs="String">
<value>http://192.168.2.24/LockingService/LockingService.svc</value> <value>http://192.168.2.24/LockingService/LockingService.svc</value>
</setting>
<setting name="ReportAuthor" serializeAs="String">
<value>BSMD ReportGenerator</value>
</setting> </setting>
<setting name="ConnectionString" serializeAs="String"> <setting name="ConnectionString" serializeAs="String">
<value>Initial Catalog=nsw;Data Source=192.168.2.24\SQLEXPRESS;Uid=dfuser;pwd=dfpasswd;Persist Security Info=False;Connection Reset=false</value> <value>Initial Catalog=nswtest;Data Source=192.168.2.24\SQLEXPRESS;Uid=dfuser;pwd=dfpasswd;Persist Security Info=False;Connection Reset=false</value>
</setting> </setting>
</ENI2.Properties.Settings> </ENI2.Properties.Settings>
</applicationSettings> </applicationSettings>
<userSettings> <userSettings>
<ENI2.Properties.Settings> <ENI2.Properties.Settings>
<setting name="MainWindowPlacement" serializeAs="String"> <setting name="MainWindowPlacement" serializeAs="String">
<value/> <value />
</setting>
<setting name="Width" serializeAs="String">
<value>825</value>
</setting>
<setting name="Height" serializeAs="String">
<value>450</value>
</setting>
<setting name="W1Left" serializeAs="String">
<value>0</value>
</setting>
<setting name="W1Top" serializeAs="String">
<value>0</value>
</setting>
<setting name="W2Left" serializeAs="String">
<value>0</value>
</setting>
<setting name="W2Top" serializeAs="String">
<value>0</value>
</setting>
<setting name="W3Left" serializeAs="String">
<value>0</value>
</setting>
<setting name="W3Top" serializeAs="String">
<value>0</value>
</setting> </setting>
</ENI2.Properties.Settings> </ENI2.Properties.Settings>
</userSettings> </userSettings>
<system.serviceModel> <system.serviceModel>
<bindings> <bindings>
<basicHttpBinding> <basicHttpBinding>
<binding name="BasicHttpBinding_IService" maxReceivedMessageSize="2147483647"/> <binding name="BasicHttpBinding_IService" maxReceivedMessageSize="2147483647" />
</basicHttpBinding> </basicHttpBinding>
</bindings> </bindings>
<client> <client>
<endpoint address="http://localhost:11651/LockingService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService" contract="LockingServiceReference.IService" name="BasicHttpBinding_IService"/> <endpoint address="http://localhost:11651/LockingService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService" contract="LockingServiceReference.IService" name="BasicHttpBinding_IService" />
</client> </client>
</system.serviceModel> </system.serviceModel>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.3" newVersion="9.0.0.3" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.9" newVersion="9.0.0.9" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.3.0" newVersion="6.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.4.0" newVersion="4.2.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.Options" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.1" newVersion="6.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.DependencyInjection" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.2" newVersion="6.0.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.3" newVersion="9.0.0.3" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.Primitives" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.3" newVersion="9.0.0.3" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.9" newVersion="9.0.0.9" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration> </configuration>

View File

@ -56,7 +56,7 @@
</Grid> </Grid>
</ControlTemplate> </ControlTemplate>
<!-- Validation Error Template for a DataGrid Row --> <!-- Validation Error Template for a DataGrid Row -->
@ -80,7 +80,7 @@
</Setter.Value> </Setter.Value>
</Setter> </Setter>
</Style> </Style>
<Style TargetType="{x:Type ToolTip}" > <Style TargetType="{x:Type ToolTip}" >

View File

@ -0,0 +1,113 @@
<UserControl x:Class="ENI2.Controls.EasyPeasyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:ENI2.Controls"
mc:Ignorable="d"
d:DesignHeight="650" d:DesignWidth="1024" Loaded="UserControl_Loaded" Unloaded="UserControl_Unloaded">
<DockPanel>
<!-- Header with logo -->
<Border DockPanel.Dock="Top" Padding="10" Background="#FFFDF6">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" >
<!-- Embed SVG via Image (optional): place your SVG as a DrawingImage in resources, or replace with PNG -->
<TextBlock Text="🍋 easy-peasy" FontSize="20" FontWeight="Bold" Margin="0,0,16,0"/>
<TextBlock Text="Edit • Paste • Export XML" VerticalAlignment="Center"/>
</StackPanel>
</Border>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<StackPanel Margin="12" Orientation="Vertical" >
<!-- Top-level fields -->
<UniformGrid Columns="4" Rows="3" Margin="0,0,0,12" Height="84">
<TextBlock Text="Art der Identification (Vertreter)" Margin="0,0,4,0" VerticalAlignment="Center" TextAlignment="Right"/>
<TextBox Text="{Binding DelegateIdentificationType, UpdateSourceTrigger=PropertyChanged}" Margin="2" VerticalContentAlignment="Center"/>
<TextBlock Text="Art der Identifikation (Kunde)" VerticalAlignment="Center" Margin="0,0,4,0" TextAlignment="Right" />
<TextBox Text="{Binding TraderIdentificationType, UpdateSourceTrigger=PropertyChanged}" Margin="2" VerticalContentAlignment="Center"/>
<TextBlock Text="LRN" TextAlignment="Right" Margin="0,0,4,0" VerticalAlignment="Center"/>
<TextBox Text="{Binding LRN, UpdateSourceTrigger=PropertyChanged}" Margin="2" VerticalContentAlignment="Center"/>
<TextBlock Text="Identifikationsnummer (Kunde)" Margin="0,0,4,0" VerticalAlignment="Center" TextAlignment="Right" />
<TextBox Text="{Binding TraderIdentificationNumber, UpdateSourceTrigger=PropertyChanged}" Margin="2" VerticalContentAlignment="Center"/>
<TextBlock Text="Land" TextAlignment="Right" Margin="0,0,4,0" VerticalAlignment="Center"/>
<TextBox Text="{Binding Country, UpdateSourceTrigger=PropertyChanged}" Margin="2" VerticalContentAlignment="Center"/>
<TextBlock Text="Identifikationsnummer (Vertreter)" Margin="0,0,4,0" VerticalAlignment="Center" TextAlignment="Right"/>
<TextBox Text="{Binding DelegateIdentificationNumber, UpdateSourceTrigger=PropertyChanged}" Margin="2" VerticalContentAlignment="Center"/>
</UniformGrid>
<!-- ProofInformation -->
<GroupBox Header="Kennung des Antrags auf Nachweis TZ2L(F)">
<StackPanel Margin="8">
<UniformGrid Columns="4" Rows="4" Margin="0,0,0,12" >
<TextBlock Text="Zuständige Zollstelle" TextAlignment="Right" VerticalAlignment="Center" Margin="0,0,4,0"/>
<TextBox Text="{Binding ProofInformationT2LT2LF.CompetentCustomsOffice, UpdateSourceTrigger=PropertyChanged}" Margin="2" VerticalContentAlignment="Center"/>
<TextBlock Text="Art der Anmeldung" TextAlignment="Right" VerticalAlignment="Center" Margin="0,0,4,0"/>
<TextBox Text="{Binding ProofInformationT2LT2LF.DeclarationType, UpdateSourceTrigger=PropertyChanged}" Margin="2" VerticalContentAlignment="Center"/>
<TextBlock TextWrapping="Wrap" Text="Datum Anmeldung
(yyyy-MM-ddTHH:mm:ss)" TextAlignment="Right" VerticalAlignment="Center" Margin="0,0,4,0"/>
<TextBox Text="{Binding ProofInformationT2LT2LF.DeclarationDate, StringFormat={}{0:yyyy-MM-ddTHH:mm:ss}, UpdateSourceTrigger=PropertyChanged}" Margin="2" VerticalContentAlignment="Center" />
<TextBlock Text="Gesamtrohmasse (kg)" TextAlignment="Right" VerticalAlignment="Center" Margin="0,0,4,0"/>
<TextBox x:Name="textBoxTotalGrossMass" Text="{Binding ProofInformationT2LT2LF.TotalGrossMassKg, UpdateSourceTrigger=PropertyChanged}" Margin="2" VerticalContentAlignment="Center"/>
<TextBlock TextWrapping="Wrap" Text="Antrag auf Gültigkeitsdauer des Nachweises (in Tagen)" TextAlignment="Right" VerticalAlignment="Center" Margin="0,0,4,0"/>
<TextBox Text="{Binding ProofInformationT2LT2LF.RequestedValidityOfTheProof.NumberOfDays, UpdateSourceTrigger=PropertyChanged}" Margin="2" VerticalContentAlignment="Center"/>
<TextBlock Text="Art des Antrags" TextAlignment="Right" VerticalAlignment="Center" Margin="0,0,4,0"/>
<TextBox Text="{Binding ProofInformationT2LT2LF.RequestType, UpdateSourceTrigger=PropertyChanged}" Margin="2" VerticalContentAlignment="Center"/>
</UniformGrid>
<GroupBox Header="Warenort">
<UniformGrid Columns="6" Margin="8" Height="28">
<TextBlock Text="Art des Ortes" TextAlignment="Right" VerticalAlignment="Center" Margin="0,0,4,0"/>
<TextBox Text="{Binding ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.LocationOfGoods.TypeOfLocation}" Margin="2" VerticalContentAlignment="Center"/>
<TextBlock Text="Art der Ortsbestimmung" TextAlignment="Right" VerticalAlignment="Center" Margin="0,0,4,0"/>
<TextBox Text="{Binding ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.LocationOfGoods.QualifierOfIdentification}" Margin="2" VerticalContentAlignment="Center"/>
<TextBlock Text="UNLocode" TextAlignment="Right" VerticalAlignment="Center" Margin="0,0,4,0"/>
<TextBox Text="{Binding ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.LocationOfGoods.UNLocode}" Margin="2" VerticalContentAlignment="Center"/>
</UniformGrid>
</GroupBox>
<CheckBox Content="In Containern beförderte Waren" Margin="8"
IsChecked="{Binding ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.ContainerIndication}"/>
<!-- Goods Items grid (paste target) -->
<TextBlock Text="Warenpositionen (Paste tab/CSV with columns: HS, Item#, Description, Gross, Net, Pkgs, Type, Marks)" Margin="4,12,0,4"/>
<DataGrid ItemsSource="{Binding ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF}"
AutoGenerateColumns="False" SelectionMode="Extended" x:Name="dataGridGoodsItems" CanUserAddRows="False"
PreviewKeyDown="DataGrid_PreviewKeyDown" Focusable="True" MinHeight="80" IsTabStop="True" MaxHeight="320">
<DataGrid.Columns>
<DataGridTextColumn Header="HS Code" Binding="{Binding Commodity.HarmonizedSystemSubHeadingCode}"/>
<DataGridTextColumn Header="Item #" Binding="{Binding GoodsItemNumber}"/>
<DataGridTextColumn Header="Description" Binding="{Binding DescriptionOfGoods}" Width="2*"/>
<DataGridTextColumn Header="Gross" Binding="{Binding GoodsMeasure.GrossMass}"/>
<DataGridTextColumn Header="Net" Binding="{Binding GoodsMeasure.NetMass}"/>
<DataGridTextColumn Header="Pkgs" Binding="{Binding Packaging.NumberOfPackages}"/>
<DataGridTextColumn Header="Type" Binding="{Binding Packaging.TypeOfPackages}"/>
<DataGridTextColumn Header="Marks" Binding="{Binding Packaging.ShippingMarks}" Width="*"/>
</DataGrid.Columns>
</DataGrid>
<GroupBox Header="Dokumente" Margin="0,12,0,0">
<UniformGrid Columns="4" Margin="8" Height="28">
<TextBlock Text="Art des Dokuments" Margin="0,0,4,0" VerticalAlignment="Center" TextAlignment="Right"/>
<TextBox Text="{Binding ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.TransportDocuments.Type}" Margin="2" VerticalContentAlignment="Center"/>
<TextBlock Text="Referenznummer" Margin="0,0,4,0" VerticalAlignment="Center" TextAlignment="Right"/>
<TextBox Text="{Binding ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.TransportDocuments.ReferenceNumber}" Margin="2" VerticalContentAlignment="Center" />
</UniformGrid>
</GroupBox>
</StackPanel>
</GroupBox>
<!-- Actions -->
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,16,0,0">
<Button x:Name="buttonImport" Content="Import" Width="100" Margin="0,0,8,0" Click="buttonImport_Click" />
<Button x:Name="buttonClear" Content="Clear" Width="100" Margin="0,0,8,0" Click="buttonClear_Click"/>
<Button x:Name="buttonExport" Content="Export" Width="120" Click="buttonExport_Click"/>
</StackPanel>
</StackPanel>
</ScrollViewer>
</DockPanel>
</UserControl>

View File

@ -0,0 +1,506 @@
// Copyright (c) 2017- schick Informatik
// Description: Display dialog for customs XML data upload app
//
using bsmd.database.EasyPeasy;
using ENI2.Util;
using Microsoft.Win32;
using System;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Input;
using System.Windows.Media.Imaging;
using System.Xml;
using System.Xml.Serialization;
namespace ENI2.Controls
{
/// <summary>
/// Interaction logic for EasyPeasyControl.xaml
/// </summary>
public partial class EasyPeasyControl : UserControl
{
private ProofRequest _vm;
#region Construction
public EasyPeasyControl()
{
InitializeComponent();
this.dataGridGoodsItems.ContextMenu = new ContextMenu();
MenuItem addItem = new MenuItem();
addItem.Header = Properties.Resources.textAdd;
addItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/add.png")) };
addItem.Click += AddItem_Click;
this.dataGridGoodsItems.ContextMenu.Items.Add(addItem);
MenuItem deleteItem = new MenuItem();
deleteItem.Header = Properties.Resources.textDelete;
deleteItem.Icon = new Image { Source = new BitmapImage(new Uri("pack://application:,,,/Resources/delete.png")) };
deleteItem.Click += DeleteItem_Click;
this.dataGridGoodsItems.ContextMenu.Items.Add(deleteItem);
// Add separator and paste option
this.dataGridGoodsItems.ContextMenu.Items.Add(new Separator());
MenuItem pasteItem = new MenuItem();
pasteItem.Header = "Paste";
pasteItem.Click += (s, e) => HandlePasteOperation();
this.dataGridGoodsItems.ContextMenu.Items.Add(pasteItem);
// Add command bindings for proper keyboard handling
this.dataGridGoodsItems.CommandBindings.Add(new CommandBinding(
ApplicationCommands.Paste,
(s, e) => HandlePasteOperation(),
(s, e) => e.CanExecute = Clipboard.ContainsText()));
}
#endregion
public void SaveState()
{
try
{
EasyPeasyState.Save(_vm);
}
catch { }
}
#region context menu event handler
private void AddItem_Click(object sender, RoutedEventArgs e)
{
if (_vm?.ProofInformationT2LT2LF?.GoodsShipmentForT2LT2LF?.GoodsItemsForT2LT2LF == null) return;
var list = _vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF;
int nextItemNo = list.Any() ? list.Max(x => x.GoodsItemNumber) + 1 : 1;
var item = new GoodsItemForT2LT2LF
{
GoodsItemNumber = nextItemNo
};
list.Add(item);
}
private void DeleteItem_Click(object sender, RoutedEventArgs e)
{
foreach(GoodsItemForT2LT2LF item in this.dataGridGoodsItems.SelectedItems.Cast<GoodsItemForT2LT2LF>().ToArray())
{
if (_vm?.ProofInformationT2LT2LF?.GoodsShipmentForT2LT2LF?.GoodsItemsForT2LT2LF == null) return;
var list = _vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF;
list.Remove(item);
}
}
#endregion
#region button event handler
private void buttonClear_Click(object sender, RoutedEventArgs e)
{
CleanupAutoCalculation();
this._vm = EasyPeasyState.CreateDefault();
if (_vm.ProofInformationT2LT2LF?.GoodsShipmentForT2LT2LF?.GoodsItemsForT2LT2LF == null)
_vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF = new ObservableCollection<GoodsItemForT2LT2LF>();
_vm.ProofInformationT2LT2LF.DeclarationDate = DateTime.Now; // reset to today
_vm.ProofInformationT2LT2LF.RequestedValidityOfTheProof.NumberOfDays = 90; // default 90 days
this.DataContext = this._vm;
SetupAutoCalculation();
}
private void buttonExport_Click(object sender, RoutedEventArgs e)
{
var dlg = new SaveFileDialog
{
FileName = "proofRequest.xml",
Filter = "XML file|*.xml",
OverwritePrompt = true
};
if (dlg.ShowDialog() == true)
{
try
{
var ser = new XmlSerializer(typeof(ProofRequest));
// Namespaces (if needed)
// var ns = new XmlSerializerNamespaces();
// ns.Add("xsd", "http://www.w3.org/2001/XMLSchema");
// ns.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance");
var settings = new XmlWriterSettings
{
Indent = true,
OmitXmlDeclaration = true
};
using (var fs = File.Create(dlg.FileName))
using (var xw = XmlWriter.Create(fs, settings))
{
ser.Serialize(xw, _vm); //, ns);
}
MessageBox.Show("Exported successfully.", "easy-peasy", MessageBoxButton.OK, MessageBoxImage.Information);
}
catch (Exception ex)
{
MessageBox.Show("Export failed:\n" + ex.Message, "easy-peasy", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
}
private void buttonImport_Click(object sender, RoutedEventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "XML file|*.xml";
ofd.RestoreDirectory = true;
ofd.Multiselect = false;
if (ofd.ShowDialog() == true)
{
using (var fs = File.OpenRead(ofd.FileName))
{
CleanupAutoCalculation();
var ser = new XmlSerializer(typeof(ProofRequest));
_vm = (ProofRequest)ser.Deserialize(fs);
// after loading/creating _vm
if (_vm.ProofInformationT2LT2LF?.GoodsShipmentForT2LT2LF?.GoodsItemsForT2LT2LF == null)
_vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF = new ObservableCollection<GoodsItemForT2LT2LF>();
_vm.ProofInformationT2LT2LF.DeclarationDate = DateTime.Now; // reset to today
if(_vm.ProofInformationT2LT2LF.RequestedValidityOfTheProof.NumberOfDays == 9)
_vm.ProofInformationT2LT2LF.RequestedValidityOfTheProof.NumberOfDays = 90; // default 90 days
this.DataContext = _vm;
SetupAutoCalculation();
}
}
}
#endregion
#region loaded/unloaded event handler
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
_vm = EasyPeasyState.LoadOrCreate();
if (_vm.ProofInformationT2LT2LF == null)
_vm.ProofInformationT2LT2LF = new ProofInformationT2LT2LF();
if (_vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF == null)
_vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF = new GoodsShipmentForT2LT2LF
{
LocationOfGoods = new LocationOfGoods(),
TransportDocuments = new TransportDocuments()
};
_vm.ProofInformationT2LT2LF.DeclarationDate = DateTime.Now; // reset to today
this.DataContext = _vm;
SetupAutoCalculation();
}
private void UserControl_Unloaded(object sender, RoutedEventArgs e)
{
CleanupAutoCalculation();
try
{
EasyPeasyState.Save(_vm);
}
catch { }
}
#endregion
#region auto calculation total gross mass
private void SetupAutoCalculation()
{
if (_vm?.ProofInformationT2LT2LF?.GoodsShipmentForT2LT2LF?.GoodsItemsForT2LT2LF != null)
{
// Subscribe to collection changes (add/remove items)
_vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF.CollectionChanged += GoodsItems_CollectionChanged;
// Subscribe to DataGrid cell changes
dataGridGoodsItems.CellEditEnding += DataGridGoodsItems_CellEditEnding;
// Calculate initial total
CalculateTotalGrossMass();
}
}
private void CleanupAutoCalculation()
{
if (_vm?.ProofInformationT2LT2LF?.GoodsShipmentForT2LT2LF?.GoodsItemsForT2LT2LF != null)
{
// Unsubscribe from collection changes
_vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF.CollectionChanged -= GoodsItems_CollectionChanged;
dataGridGoodsItems.CellEditEnding -= DataGridGoodsItems_CellEditEnding;
}
}
private void DataGridGoodsItems_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
// Check if the edited column is GrossMass
if (e.Column.Header.ToString() == "Gross")
{
// Delay calculation to allow the binding to update
Dispatcher.BeginInvoke(new Action(() => {
CalculateTotalGrossMass();
}), System.Windows.Threading.DispatcherPriority.Background);
}
}
private void GoodsItems_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
// Recalculate total after any collection change
CalculateTotalGrossMass();
}
private void CalculateTotalGrossMass()
{
if (_vm?.ProofInformationT2LT2LF?.GoodsShipmentForT2LT2LF?.GoodsItemsForT2LT2LF != null)
{
var total = _vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF
.Sum(item => item.GoodsMeasure?.GrossMass ?? 0m);
_vm.ProofInformationT2LT2LF.TotalGrossMassKg = total;
// Force UI update by refreshing the binding
var binding = BindingOperations.GetBindingExpression(
FindTotalGrossMassTextBox(), TextBox.TextProperty);
binding?.UpdateTarget();
}
}
// Simple property changed notification helper
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
private TextBox FindTotalGrossMassTextBox()
{
// Find the TextBox that displays TotalGrossMassKg
return this.FindName("textBoxTotalGrossMass") as TextBox ??
this.GetTemplateChild("textBoxTotalGrossMass") as TextBox;
}
#endregion
#region cut & paste logic
private void HandlePasteOperation()
{
if (Clipboard.ContainsText())
{
var text = Clipboard.GetText();
if (!TryPaste_EspHsPkgsGross(text))
PasteGoodsItems(text);
}
}
private void DataGrid_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.V && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
{
if (Clipboard.ContainsText())
{
var text = Clipboard.GetText();
if(!TryPaste_EspHsPkgsGross(text))
PasteGoodsItems(text);
e.Handled = true;
}
}
}
private void PasteGoodsItems(string text)
{
if (_vm?.ProofInformationT2LT2LF?.GoodsShipmentForT2LT2LF == null) return;
var lines = text.Replace("\r\n", "\n").Replace('\r', '\n')
.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
foreach (var line in lines)
{
// Split by tab first; if only one column, try CSV
var cells = line.Split('\t');
if (cells.Length == 1) cells = SplitCsv(line);
// Expected order: HS, Item#, Description, Gross, Net, Pkgs, Type, Marks
var item = new GoodsItemForT2LT2LF();
if (cells.Length > 0) item.Commodity.HarmonizedSystemSubHeadingCode = cells[0].Trim();
if (cells.Length > 1 && int.TryParse(cells[1], out var n)) item.GoodsItemNumber = n;
if (cells.Length > 2) item.DescriptionOfGoods = cells[2].Trim();
if (cells.Length > 3 && decimal.TryParse(cells[3], out var gross)) item.GoodsMeasure.GrossMass = gross;
if (cells.Length > 4 && decimal.TryParse(cells[4], out var net)) item.GoodsMeasure.NetMass = net;
if (cells.Length > 5 && int.TryParse(cells[5], out var pkgs)) item.Packaging.NumberOfPackages = pkgs;
if (cells.Length > 6) item.Packaging.TypeOfPackages = cells[6].Trim();
if (cells.Length > 7) item.Packaging.ShippingMarks = cells[7].Trim();
_vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF.Add(item);
}
}
// Very small CSV splitter (handles quotes)
private static string[] SplitCsv(string line)
{
var res = new System.Collections.Generic.List<string>();
var sb = new StringBuilder();
bool inQuotes = false;
for (int i = 0; i < line.Length; i++)
{
char c = line[i];
if (c == '\"')
{
if (inQuotes && i + 1 < line.Length && line[i + 1] == '\"')
{ sb.Append('\"'); i++; }
else { inQuotes = !inQuotes; }
}
else if (c == ',' && !inQuotes)
{ res.Add(sb.ToString()); sb.Clear(); }
else { sb.Append(c); }
}
res.Add(sb.ToString());
return res.ToArray();
}
private bool TryPaste_EspHsPkgsGross(string text)
{
if (_vm?.ProofInformationT2LT2LF?.GoodsShipmentForT2LT2LF == null) return false;
// Normalize and split lines
var lines = text.Replace("\r\n", "\n").Replace('\r', '\n')
.Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);
if (lines.Length == 0) return false;
// Determine next item number
var list = _vm.ProofInformationT2LT2LF.GoodsShipmentForT2LT2LF.GoodsItemsForT2LT2LF;
int nextItemNo = list.Any() ? list.Max(x => x.GoodsItemNumber) + 1 : 1;
bool anyAdded = false;
bool countrySeen = false;
foreach (var raw in lines)
{
var line = raw; // do not Trim() entirely; keep leading tab as empty first cell
var cells = line.Split('\t'); // keeps empty entries
// Expected:
// - 4 cells: [ESP or ""], [HS], [Pkgs], [Gross]
// - 3 cells: [HS], [Pkgs], [Gross]
string hs = null, pkgs = null, gross = null;
if (cells.Length >= 4)
{
string c0 = cells[0]?.Trim();
// Optionally capture the first token like "ESP" (country tag),
// only once and only if alphabetic (won't throw if numeric)
if (!countrySeen && !string.IsNullOrWhiteSpace(c0) && c0.All(ch => char.IsLetter(ch)))
{
// If you decide later this should set a field, uncomment:
// if (string.IsNullOrWhiteSpace(_vm.Country)) _vm.Country = c0;
countrySeen = true;
}
hs = (cells.Length > 1 ? cells[1] : null);
pkgs = (cells.Length > 2 ? cells[2] : null);
gross = (cells.Length > 3 ? cells[3] : null);
}
else if (cells.Length == 3)
{
hs = cells[0];
pkgs = cells[1];
gross = cells[2];
}
else
{
// Not enough data for this format; skip the row
continue;
}
if (string.IsNullOrWhiteSpace(hs)) continue;
var item = new GoodsItemForT2LT2LF
{
GoodsItemNumber = nextItemNo++,
DescriptionOfGoods = "" // per spec
};
item.Commodity.HarmonizedSystemSubHeadingCode = hs.Trim();
if (TryParseIntFlexible(pkgs, out var pk))
item.Packaging.NumberOfPackages = pk;
if (TryParseDecimalFlexible(gross, out var g))
{
item.GoodsMeasure.GrossMass = g;
var net = g; // - 1m; // now net mass equals gross mass (no deduction)
if (net < 0m) net = 0m;
item.GoodsMeasure.NetMass = net;
}
item.DescriptionOfGoods = "Brand New Vehicles"; // per spec
item.Packaging.TypeOfPackages = "UN"; // per spec
item.Packaging.ShippingMarks = "-"; // per spec
list.Add(item);
anyAdded = true;
}
return anyAdded;
}
#endregion
#region static utils
// this will go somewhere else later
// Try parse decimal with current culture, invariant, and comma/dot flip
private static bool TryParseDecimalFlexible(string s, out decimal value)
{
s = (s ?? "").Trim();
// 1) current culture
if (decimal.TryParse(s, NumberStyles.Number, CultureInfo.CurrentCulture, out value)) return true;
// 2) invariant
if (decimal.TryParse(s, NumberStyles.Number, CultureInfo.InvariantCulture, out value)) return true;
// 3) flip comma/dot and retry (helps when clipboard mixes locales)
string flipped = s.Contains(",") ? s.Replace(",", ".") : s.Replace(".", ",");
if (decimal.TryParse(flipped, NumberStyles.Number, CultureInfo.CurrentCulture, out value)) return true;
if (decimal.TryParse(flipped, NumberStyles.Number, CultureInfo.InvariantCulture, out value)) return true;
value = 0m;
return false;
}
private static bool TryParseIntFlexible(string s, out int value)
{
s = (s ?? "").Trim();
// Extract leading integer if something like "12 pcs"
var digits = new string(s.TakeWhile(ch => char.IsDigit(ch) || ch == '-' || ch == '+').ToArray());
if (string.IsNullOrEmpty(digits)) digits = s;
return int.TryParse(digits, NumberStyles.Integer, CultureInfo.CurrentCulture, out value)
|| int.TryParse(digits, NumberStyles.Integer, CultureInfo.InvariantCulture, out value);
}
#endregion
}
}

View File

@ -226,6 +226,7 @@ namespace ENI2
public void CoreChanged(MessageCore newCore) public void CoreChanged(MessageCore newCore)
{ {
this.Core = newCore; this.Core = newCore;
this.ReloadCore();
System.Windows.Application.Current.Dispatcher.Invoke(delegate System.Windows.Application.Current.Dispatcher.Invoke(delegate
{ {
if(controlCache.ContainsKey(Properties.Resources.textOverview)) if(controlCache.ContainsKey(Properties.Resources.textOverview))
@ -527,9 +528,14 @@ namespace ENI2
{ {
if ((message.Status == Message.MessageStatus.ACCEPTED) && if ((message.Status == Message.MessageStatus.ACCEPTED) &&
((message.InternalStatus == Message.BSMDStatus.CONFIRMED) || (message.InternalStatus == Message.BSMDStatus.VIOLATION))) ((message.InternalStatus == Message.BSMDStatus.CONFIRMED) || (message.InternalStatus == Message.BSMDStatus.VIOLATION)))
{
message.InternalStatus = Message.BSMDStatus.UPDATED; message.InternalStatus = Message.BSMDStatus.UPDATED;
message.Status = null; // reset send status
}
else else
{
message.InternalStatus = Message.BSMDStatus.SAVED; message.InternalStatus = Message.BSMDStatus.SAVED;
}
string userName = "?"; string userName = "?";
if(App.UserId.HasValue && DBManager.Instance.GetReportingPartyDict().ContainsKey(App.UserId.Value)) if(App.UserId.HasValue && DBManager.Instance.GetReportingPartyDict().ContainsKey(App.UserId.Value))

View File

@ -253,7 +253,16 @@ SelectionMode="Extended" AutoGenerateColumns="False" MouseDoubleClick="dataGrid_
<Setter Property="Background" Value="Yellow" /> <Setter Property="Background" Value="Yellow" />
</MultiDataTrigger> </MultiDataTrigger>
<DataTrigger Binding="{Binding SendSuccess}" Value="True"> <DataTrigger Binding="{Binding SendSuccess}" Value="True">
<Setter Property="Background" Value="LightGreen"></Setter> <Setter Property="Background" Value="#92F592"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding InternalStatus}" Value="UPDATED">
<Setter Property="Background" Value="#DFFDDF"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding InternalStatus}" Value="TOSEND">
<Setter Property="Background" Value="#BFFDBF"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding InternalStatus}" Value="SENT">
<Setter Property="Background" Value="#BFFDBF"></Setter>
</DataTrigger> </DataTrigger>
<DataTrigger Binding="{Binding HasSystemErrors}" Value="True"> <DataTrigger Binding="{Binding HasSystemErrors}" Value="True">
<Setter Property="Background" Value="MistyRose"></Setter> <Setter Property="Background" Value="MistyRose"></Setter>

View File

@ -357,6 +357,9 @@ namespace ENI2.DetailViewControls
this.buttonExcelImport.IsEnabled = !this.Core.DisplayId.IsNullOrEmpty(); this.buttonExcelImport.IsEnabled = !this.Core.DisplayId.IsNullOrEmpty();
this.dataGridMessages.ItemsSource = null;
this.dataGridMessages.ItemsSource = this.Messages;
//MessageBox.Show(string.Format("Visit/Transit ID updated: {0}", this.Core.DisplayId)); //MessageBox.Show(string.Format("Visit/Transit ID updated: {0}", this.Core.DisplayId));
//ShowIdDialog sid = new ShowIdDialog(this.Core) //ShowIdDialog sid = new ShowIdDialog(this.Core)
//{ //{
@ -843,41 +846,31 @@ namespace ENI2.DetailViewControls
{ {
addToSend = true; addToSend = true;
if ((message.ErrorCount ?? 0) > 0) continue; // skip selection if there are any errors left // if ((message.ErrorCount ?? 0) > 0) continue; // skip selection if there are any errors left
switch(message.MessageNotificationClass) switch(message.MessageNotificationClass)
{ {
case NotificationClass.HAZA: case NotificationClass.HAZA:
addToSend = XtraSendLogic.ShouldSendMessage(message) && ((message.ViolationCount ?? 0) == 0); break; addToSend = XtraSendLogic.ShouldSendMessage(message); break;
case NotificationClass.HAZD: case NotificationClass.HAZD:
addToSend = XtraSendLogic.ShouldSendMessage(message) && ((message.ViolationCount ?? 0) == 0); break; addToSend = XtraSendLogic.ShouldSendMessage(message); break;
case NotificationClass.BPOL: 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) addToSend = false; if (bpol.PortOfItineraries.Count == 0) addToSend = false;
} }
if((message.ViolationCount ?? 0) > 0) addToSend = false;
} }
break; break;
case NotificationClass.WAS:
// if ((message.PositionViolationCount ?? 0) > 0) addToSend = false;
break; // WAS will be selected even if there are (any) violations left
case NotificationClass.WAS_RCPT: case NotificationClass.WAS_RCPT:
addToSend = false; addToSend = false;
break; break;
case NotificationClass.NOA_NOD:
if ((message.PositionViolationCount ?? 0) > 0) addToSend = false;
break;
case NotificationClass.INFO: case NotificationClass.INFO:
if (Core.PoC == "DEHAM") addToSend = false; if (Core.PoC == "DEHAM") addToSend = false;
else addToSend = !((message.ViolationCount ?? 0) > 0);
break; break;
default: default:
if((message.ViolationCount ?? 0) > 0) addToSend = false; if(Message.IsListClass(message.MessageNotificationClass) && (message.Elements.Count == 0)) addToSend = false;
if(Message.IsListClass(message.MessageNotificationClass) && (message.Elements.Count == 0)) addToSend = false;
break; break;
} }

View File

@ -69,6 +69,9 @@ namespace ENI2.DetailViewControls
this.RegisterTextboxChange(this.textBox_AgentStreetAndNumber, Message.NotificationClass.AGNT); this.RegisterTextboxChange(this.textBox_AgentStreetAndNumber, Message.NotificationClass.AGNT);
this.RegisterTextboxChange(this.textBox_AgentCountry, Message.NotificationClass.AGNT); this.RegisterTextboxChange(this.textBox_AgentCountry, Message.NotificationClass.AGNT);
// WAS
this.RegisterTextboxChange(this.textBox_WasteDisposalServiceProvider, Message.NotificationClass.WAS);
this.buttonSaveTemplate.IsEnabled = DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].IsEditor; this.buttonSaveTemplate.IsEnabled = DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].IsEditor;
this.buttonDeleteTemplate.IsEnabled = DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].IsEditor; this.buttonDeleteTemplate.IsEnabled = DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].IsEditor;
} }
@ -253,7 +256,7 @@ namespace ENI2.DetailViewControls
} }
} }
#endregion #endregion
#region AGNT templates combo #region AGNT templates combo
@ -281,7 +284,7 @@ namespace ENI2.DetailViewControls
DBManager.Instance.Delete(_currentTemplate); DBManager.Instance.Delete(_currentTemplate);
_agntTemplates.Remove(_currentTemplate); _agntTemplates.Remove(_currentTemplate);
this.textBoxTemplateTitle.Text = null; this.textBoxTemplateTitle.Text = null;
this.buttonDeleteTemplate.IsEnabled = false; this.buttonDeleteTemplate.IsEnabled = false;
this.comboBox_AgentTemplate.ItemsSource = _agntTemplates; this.comboBox_AgentTemplate.ItemsSource = _agntTemplates;
this.buttonSetTemplate.IsEnabled = false; this.buttonSetTemplate.IsEnabled = false;
} }
@ -352,7 +355,6 @@ namespace ENI2.DetailViewControls
this.textBox_AgentStreetAndNumber.GetBindingExpression(TextBox.TextProperty).UpdateSource(); this.textBox_AgentStreetAndNumber.GetBindingExpression(TextBox.TextProperty).UpdateSource();
this.textBox_WasteDisposalServiceProvider.Text = this._undoTemplate.WasteDisposalServiceProviderName; this.textBox_WasteDisposalServiceProvider.Text = this._undoTemplate.WasteDisposalServiceProviderName;
this.textBox_WasteDisposalServiceProvider.GetBindingExpression(TextBox.TextProperty).UpdateSource(); this.textBox_WasteDisposalServiceProvider.GetBindingExpression(TextBox.TextProperty).UpdateSource();
this.SublistElementChanged(Message.NotificationClass.WAS);
this.buttonUndoTemplate.IsEnabled = false; // can't undo after undo this.buttonUndoTemplate.IsEnabled = false; // can't undo after undo
} }
@ -379,7 +381,7 @@ namespace ENI2.DetailViewControls
this.textBox_AgentEMail.Text = this._currentTemplate.AgentEMail; this.textBox_AgentEMail.Text = this._currentTemplate.AgentEMail;
this.textBox_AgentEMail.GetBindingExpression(TextBox.TextProperty).UpdateSource(); this.textBox_AgentEMail.GetBindingExpression(TextBox.TextProperty).UpdateSource();
this.textBox_AgentFax.Text = this._currentTemplate.AgentFax; this.textBox_AgentFax.Text = this._currentTemplate.AgentFax;
this.textBox_AgentFax.GetBindingExpression (TextBox.TextProperty).UpdateSource(); this.textBox_AgentFax.GetBindingExpression (TextBox.TextProperty).UpdateSource();
this.textBox_AgentFirstName.Text = this._currentTemplate.AgentFirstName; this.textBox_AgentFirstName.Text = this._currentTemplate.AgentFirstName;
this.textBox_AgentFirstName.GetBindingExpression(TextBox.TextProperty).UpdateSource(); this.textBox_AgentFirstName.GetBindingExpression(TextBox.TextProperty).UpdateSource();
this.textBox_AgentLastName.Text = this._currentTemplate.AgentLastName; this.textBox_AgentLastName.Text = this._currentTemplate.AgentLastName;
@ -390,9 +392,11 @@ namespace ENI2.DetailViewControls
this.textBox_AgentPostalCode.GetBindingExpression(TextBox.TextProperty).UpdateSource(); this.textBox_AgentPostalCode.GetBindingExpression(TextBox.TextProperty).UpdateSource();
this.textBox_AgentStreetAndNumber.Text = this._currentTemplate.AgentStreetAndNumber; this.textBox_AgentStreetAndNumber.Text = this._currentTemplate.AgentStreetAndNumber;
this.textBox_AgentStreetAndNumber.GetBindingExpression(TextBox.TextProperty).UpdateSource(); this.textBox_AgentStreetAndNumber.GetBindingExpression(TextBox.TextProperty).UpdateSource();
this.textBox_WasteDisposalServiceProvider.Text = this._currentTemplate.WasteDisposalServiceProviderName; if ((this._currentTemplate.WasteDisposalServiceProviderName ?? "").Trim() != (this.textBox_WasteDisposalServiceProvider.Text ?? "").Trim())
this.textBox_WasteDisposalServiceProvider.GetBindingExpression(TextBox.TextProperty).UpdateSource(); {
this.SublistElementChanged(Message.NotificationClass.WAS); this.textBox_WasteDisposalServiceProvider.Text = this._currentTemplate.WasteDisposalServiceProviderName;
this.textBox_WasteDisposalServiceProvider.GetBindingExpression(TextBox.TextProperty).UpdateSource();
}
this.buttonUndoTemplate.IsEnabled = true; this.buttonUndoTemplate.IsEnabled = true;
this.buttonSetTemplate.IsEnabled = false; this.buttonSetTemplate.IsEnabled = false;
@ -406,7 +410,7 @@ namespace ENI2.DetailViewControls
AGNT_Template at = new AGNT_Template(); AGNT_Template at = new AGNT_Template();
if (existingTemplate != null) if (existingTemplate != null)
at = existingTemplate; at = existingTemplate;
at.AgentTitle = title; at.AgentTitle = title;
at.AgentCity = this.textBox_AgentCity.Text; at.AgentCity = this.textBox_AgentCity.Text;
at.AgentCompanyName = this.textBox_AgentCompanyName.Text; at.AgentCompanyName = this.textBox_AgentCompanyName.Text;
@ -424,6 +428,6 @@ namespace ENI2.DetailViewControls
} }
#endregion #endregion
} }
} }

View File

@ -24,7 +24,7 @@
</col:ArrayList> </col:ArrayList>
</UserControl.Resources> </UserControl.Resources>
<GroupBox Name="portNotificationGroupBox" Header="{x:Static p:Resources.textPortNotification}"> <GroupBox Name="portNotificationGroupBox" Header="{x:Static p:Resources.textPortNotification}">
<ScrollViewer PreviewMouseWheel="ScrollViewer_PreviewMouseWheel"> <ScrollViewer>
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="50" /> <RowDefinition Height="50" />

View File

@ -12,7 +12,7 @@
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}" >
<ScrollViewer PreviewMouseWheel="ScrollViewer_PreviewMouseWheel">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="260" /> <RowDefinition Height="260" />
@ -104,6 +104,6 @@
</Grid> </Grid>
</GroupBox> </GroupBox>
</Grid> </Grid>
</ScrollViewer>
</GroupBox> </GroupBox>
</src:DetailBaseControl> </src:DetailBaseControl>

View File

@ -8,7 +8,7 @@
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ENI2</RootNamespace> <RootNamespace>ENI2</RootNamespace>
<AssemblyName>ENI2</AssemblyName> <AssemblyName>ENI2Test</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion> <TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
@ -18,7 +18,7 @@
<NuGetPackageImportStamp> <NuGetPackageImportStamp>
</NuGetPackageImportStamp> </NuGetPackageImportStamp>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
<PublishUrl>ENI2.publish\</PublishUrl> <PublishUrl>eni_test\</PublishUrl>
<Install>true</Install> <Install>true</Install>
<InstallFrom>Web</InstallFrom> <InstallFrom>Web</InstallFrom>
<UpdateEnabled>true</UpdateEnabled> <UpdateEnabled>true</UpdateEnabled>
@ -28,16 +28,16 @@
<UpdatePeriodically>false</UpdatePeriodically> <UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired> <UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions> <MapFileExtensions>true</MapFileExtensions>
<InstallUrl>http://192.168.2.24/eni2.publish/</InstallUrl> <InstallUrl>http://192.168.2.24/eni_test/</InstallUrl>
<SupportUrl>http://www.textbausteine.net/</SupportUrl> <SupportUrl>http://www.textbausteine.net/</SupportUrl>
<ProductName>ENI</ProductName> <ProductName>ENI Testversion</ProductName>
<PublisherName>Informatikbüro Daniel Schick</PublisherName> <PublisherName>Informatikbüro Daniel Schick</PublisherName>
<SuiteName>NSW</SuiteName> <SuiteName>NSW</SuiteName>
<MinimumRequiredVersion>5.4.0.0</MinimumRequiredVersion> <MinimumRequiredVersion>5.4.0.0</MinimumRequiredVersion>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish> <CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.html</WebPage> <WebPage>publish.html</WebPage>
<ApplicationRevision>3</ApplicationRevision> <ApplicationRevision>7</ApplicationRevision>
<ApplicationVersion>7.2.11.3</ApplicationVersion> <ApplicationVersion>7.2.12.7</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust> <UseApplicationTrust>false</UseApplicationTrust>
<CreateDesktopShortcut>true</CreateDesktopShortcut> <CreateDesktopShortcut>true</CreateDesktopShortcut>
<PublishWizardCompleted>true</PublishWizardCompleted> <PublishWizardCompleted>true</PublishWizardCompleted>
@ -134,75 +134,75 @@
<CodeAnalysisRuleSet>..\code.ruleset</CodeAnalysisRuleSet> <CodeAnalysisRuleSet>..\code.ruleset</CodeAnalysisRuleSet>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="ExcelDataReader, Version=3.7.0.0, Culture=neutral, PublicKeyToken=93517dbe6a4012fa, processorArchitecture=MSIL"> <Reference Include="ExcelDataReader, Version=3.8.0.0, Culture=neutral, PublicKeyToken=93517dbe6a4012fa, processorArchitecture=MSIL">
<HintPath>packages\ExcelDataReader.3.7.0\lib\net462\ExcelDataReader.dll</HintPath> <HintPath>packages\ExcelDataReader.3.8.0\lib\net462\ExcelDataReader.dll</HintPath>
</Reference> </Reference>
<Reference Include="log4net, Version=3.2.0.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL"> <Reference Include="log4net, Version=3.2.0.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>packages\log4net.3.2.0\lib\net462\log4net.dll</HintPath> <HintPath>packages\log4net.3.2.0\lib\net462\log4net.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.8, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.9, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Bcl.AsyncInterfaces.9.0.8\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath> <HintPath>packages\Microsoft.Bcl.AsyncInterfaces.9.0.9\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Bcl.Cryptography, Version=9.0.0.8, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="Microsoft.Bcl.Cryptography, Version=9.0.0.9, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Bcl.Cryptography.9.0.8\lib\net462\Microsoft.Bcl.Cryptography.dll</HintPath> <HintPath>packages\Microsoft.Bcl.Cryptography.9.0.9\lib\net462\Microsoft.Bcl.Cryptography.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection, Version=9.0.0.8, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <Reference Include="Microsoft.Extensions.DependencyInjection, Version=9.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Extensions.DependencyInjection.9.0.8\lib\net462\Microsoft.Extensions.DependencyInjection.dll</HintPath> <HintPath>packages\Microsoft.Extensions.DependencyInjection.9.0.9\lib\net462\Microsoft.Extensions.DependencyInjection.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=9.0.0.8, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=9.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.8\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath> <HintPath>packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.9\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Extensions.Logging, Version=9.0.0.8, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <Reference Include="Microsoft.Extensions.Logging, Version=9.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Extensions.Logging.9.0.8\lib\net462\Microsoft.Extensions.Logging.dll</HintPath> <HintPath>packages\Microsoft.Extensions.Logging.9.0.9\lib\net462\Microsoft.Extensions.Logging.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=9.0.0.8, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=9.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Extensions.Logging.Abstractions.9.0.8\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath> <HintPath>packages\Microsoft.Extensions.Logging.Abstractions.9.0.9\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Extensions.Options, Version=9.0.0.8, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <Reference Include="Microsoft.Extensions.Options, Version=9.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Extensions.Options.9.0.8\lib\net462\Microsoft.Extensions.Options.dll</HintPath> <HintPath>packages\Microsoft.Extensions.Options.9.0.9\lib\net462\Microsoft.Extensions.Options.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Extensions.Primitives, Version=9.0.0.8, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL"> <Reference Include="Microsoft.Extensions.Primitives, Version=9.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Extensions.Primitives.9.0.8\lib\net462\Microsoft.Extensions.Primitives.dll</HintPath> <HintPath>packages\Microsoft.Extensions.Primitives.9.0.9\lib\net462\Microsoft.Extensions.Primitives.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL"> <Reference Include="Microsoft.Office.Interop.Excel, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.Office.Interop.Excel.15.0.4795.1001\lib\net20\Microsoft.Office.Interop.Excel.dll</HintPath> <HintPath>packages\Microsoft.Office.Interop.Excel.15.0.4795.1001\lib\net20\Microsoft.Office.Interop.Excel.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes> <EmbedInteropTypes>True</EmbedInteropTypes>
</Reference> </Reference>
<Reference Include="MigraDoc.DocumentObjectModel, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <Reference Include="MigraDoc.DocumentObjectModel, Version=6.2.2.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>packages\PDFsharp-MigraDoc.6.2.1\lib\netstandard2.0\MigraDoc.DocumentObjectModel.dll</HintPath> <HintPath>packages\PDFsharp-MigraDoc.6.2.2\lib\netstandard2.0\MigraDoc.DocumentObjectModel.dll</HintPath>
</Reference> </Reference>
<Reference Include="MigraDoc.Rendering, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <Reference Include="MigraDoc.Rendering, Version=6.2.2.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>packages\PDFsharp-MigraDoc.6.2.1\lib\netstandard2.0\MigraDoc.Rendering.dll</HintPath> <HintPath>packages\PDFsharp-MigraDoc.6.2.2\lib\netstandard2.0\MigraDoc.Rendering.dll</HintPath>
</Reference> </Reference>
<Reference Include="MigraDoc.RtfRendering, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <Reference Include="MigraDoc.RtfRendering, Version=6.2.2.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>packages\PDFsharp-MigraDoc.6.2.1\lib\netstandard2.0\MigraDoc.RtfRendering.dll</HintPath> <HintPath>packages\PDFsharp-MigraDoc.6.2.2\lib\netstandard2.0\MigraDoc.RtfRendering.dll</HintPath>
</Reference> </Reference>
<Reference Include="PdfSharp, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <Reference Include="PdfSharp, Version=6.2.2.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.dll</HintPath> <HintPath>packages\PDFsharp.6.2.2\lib\netstandard2.0\PdfSharp.dll</HintPath>
</Reference> </Reference>
<Reference Include="PdfSharp.BarCodes, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <Reference Include="PdfSharp.BarCodes, Version=6.2.2.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.BarCodes.dll</HintPath> <HintPath>packages\PDFsharp.6.2.2\lib\netstandard2.0\PdfSharp.BarCodes.dll</HintPath>
</Reference> </Reference>
<Reference Include="PdfSharp.Charting, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <Reference Include="PdfSharp.Charting, Version=6.2.2.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.Charting.dll</HintPath> <HintPath>packages\PDFsharp.6.2.2\lib\netstandard2.0\PdfSharp.Charting.dll</HintPath>
</Reference> </Reference>
<Reference Include="PdfSharp.Cryptography, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <Reference Include="PdfSharp.Cryptography, Version=6.2.2.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.Cryptography.dll</HintPath> <HintPath>packages\PDFsharp.6.2.2\lib\netstandard2.0\PdfSharp.Cryptography.dll</HintPath>
</Reference> </Reference>
<Reference Include="PdfSharp.Quality, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <Reference Include="PdfSharp.Quality, Version=6.2.2.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.Quality.dll</HintPath> <HintPath>packages\PDFsharp.6.2.2\lib\netstandard2.0\PdfSharp.Quality.dll</HintPath>
</Reference> </Reference>
<Reference Include="PdfSharp.Shared, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <Reference Include="PdfSharp.Shared, Version=6.2.2.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.Shared.dll</HintPath> <HintPath>packages\PDFsharp.6.2.2\lib\netstandard2.0\PdfSharp.Shared.dll</HintPath>
</Reference> </Reference>
<Reference Include="PdfSharp.Snippets, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <Reference Include="PdfSharp.Snippets, Version=6.2.2.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.Snippets.dll</HintPath> <HintPath>packages\PDFsharp.6.2.2\lib\netstandard2.0\PdfSharp.Snippets.dll</HintPath>
</Reference> </Reference>
<Reference Include="PdfSharp.System, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <Reference Include="PdfSharp.System, Version=6.2.2.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.System.dll</HintPath> <HintPath>packages\PDFsharp.6.2.2\lib\netstandard2.0\PdfSharp.System.dll</HintPath>
</Reference> </Reference>
<Reference Include="PdfSharp.WPFonts, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL"> <Reference Include="PdfSharp.WPFonts, Version=6.2.2.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.WPFonts.dll</HintPath> <HintPath>packages\PDFsharp.6.2.2\lib\netstandard2.0\PdfSharp.WPFonts.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
@ -214,12 +214,12 @@
<Reference Include="System.Data.SQLite, Version=1.0.119.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL"> <Reference Include="System.Data.SQLite, Version=1.0.119.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
<HintPath>packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0\lib\net46\System.Data.SQLite.dll</HintPath> <HintPath>packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0\lib\net46\System.Data.SQLite.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Diagnostics.DiagnosticSource, Version=9.0.0.8, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Diagnostics.DiagnosticSource, Version=9.0.0.9, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>packages\System.Diagnostics.DiagnosticSource.9.0.8\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath> <HintPath>packages\System.Diagnostics.DiagnosticSource.9.0.9\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.Formats.Asn1, Version=9.0.0.8, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Formats.Asn1, Version=9.0.0.9, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>packages\System.Formats.Asn1.9.0.8\lib\net462\System.Formats.Asn1.dll</HintPath> <HintPath>packages\System.Formats.Asn1.9.0.9\lib\net462\System.Formats.Asn1.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.IO.Compression" /> <Reference Include="System.IO.Compression" />
<Reference Include="System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
@ -234,8 +234,8 @@
</Reference> </Reference>
<Reference Include="System.Runtime.Serialization" /> <Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" /> <Reference Include="System.Security" />
<Reference Include="System.Security.Cryptography.Pkcs, Version=9.0.0.8, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Security.Cryptography.Pkcs, Version=9.0.0.9, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>packages\System.Security.Cryptography.Pkcs.9.0.8\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath> <HintPath>packages\System.Security.Cryptography.Pkcs.9.0.9\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.ServiceModel" /> <Reference Include="System.ServiceModel" />
<Reference Include="System.ServiceModel.Web" /> <Reference Include="System.ServiceModel.Web" />
@ -257,20 +257,20 @@
<Reference Include="WindowsBase" /> <Reference Include="WindowsBase" />
<Reference Include="PresentationCore" /> <Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" /> <Reference Include="PresentationFramework" />
<Reference Include="Xceed.Wpf.AvalonDock, Version=4.7.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL"> <Reference Include="Xceed.Wpf.AvalonDock, Version=5.0.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>packages\Extended.Wpf.Toolkit.4.7.25104.5739\lib\net40\Xceed.Wpf.AvalonDock.dll</HintPath> <HintPath>packages\Extended.Wpf.Toolkit.5.0.0\lib\net40\Xceed.Wpf.AvalonDock.dll</HintPath>
</Reference> </Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Aero, Version=4.7.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL"> <Reference Include="Xceed.Wpf.AvalonDock.Themes.Aero, Version=5.0.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>packages\Extended.Wpf.Toolkit.4.7.25104.5739\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll</HintPath> <HintPath>packages\Extended.Wpf.Toolkit.5.0.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Aero.dll</HintPath>
</Reference> </Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.Metro, Version=4.7.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL"> <Reference Include="Xceed.Wpf.AvalonDock.Themes.Metro, Version=5.0.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>packages\Extended.Wpf.Toolkit.4.7.25104.5739\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll</HintPath> <HintPath>packages\Extended.Wpf.Toolkit.5.0.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.Metro.dll</HintPath>
</Reference> </Reference>
<Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2010, Version=4.7.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL"> <Reference Include="Xceed.Wpf.AvalonDock.Themes.VS2010, Version=5.0.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>packages\Extended.Wpf.Toolkit.4.7.25104.5739\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll</HintPath> <HintPath>packages\Extended.Wpf.Toolkit.5.0.0\lib\net40\Xceed.Wpf.AvalonDock.Themes.VS2010.dll</HintPath>
</Reference> </Reference>
<Reference Include="Xceed.Wpf.Toolkit, Version=4.7.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL"> <Reference Include="Xceed.Wpf.Toolkit, Version=5.0.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<HintPath>packages\Extended.Wpf.Toolkit.4.7.25104.5739\lib\net40\Xceed.Wpf.Toolkit.dll</HintPath> <HintPath>packages\Extended.Wpf.Toolkit.5.0.0\lib\net40\Xceed.Wpf.Toolkit.dll</HintPath>
</Reference> </Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -297,6 +297,9 @@
<Compile Include="Controls\ConditionGroupControl.xaml.cs"> <Compile Include="Controls\ConditionGroupControl.xaml.cs">
<DependentUpon>ConditionGroupControl.xaml</DependentUpon> <DependentUpon>ConditionGroupControl.xaml</DependentUpon>
</Compile> </Compile>
<Compile Include="Controls\EasyPeasyControl.xaml.cs">
<DependentUpon>EasyPeasyControl.xaml</DependentUpon>
</Compile>
<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\IHighlightControlContainer.cs" />
@ -558,6 +561,7 @@
<Compile Include="Util\ByteConverter.cs" /> <Compile Include="Util\ByteConverter.cs" />
<Compile Include="Util\CutoffConverter.cs" /> <Compile Include="Util\CutoffConverter.cs" />
<Compile Include="Util\DatabaseEntityWatchdog.cs" /> <Compile Include="Util\DatabaseEntityWatchdog.cs" />
<Compile Include="Util\EasyPeasyState.cs" />
<Compile Include="Util\EnumHelper.cs" /> <Compile Include="Util\EnumHelper.cs" />
<Compile Include="Util\EnumToBooleanConverter.cs" /> <Compile Include="Util\EnumToBooleanConverter.cs" />
<Compile Include="Util\EnumToCollectionConverter.cs" /> <Compile Include="Util\EnumToCollectionConverter.cs" />
@ -587,6 +591,10 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>
</Page> </Page>
<Page Include="Controls\EasyPeasyControl.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Controls\LocodeControl.xaml"> <Page Include="Controls\LocodeControl.xaml">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>

View File

@ -4,11 +4,11 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ENI2.EditControls" xmlns:local="clr-namespace:ENI2.EditControls"
xmlns:enictrl="clr-namespace:ENI2.Controls" xmlns:enictrl="clr-namespace:ENI2.Controls"
xmlns:p="clr-namespace:ENI2.Properties" xmlns:p="clr-namespace:ENI2.Properties"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d" mc:Ignorable="d"
Title="{x:Static p:Resources.textCompareExcel}" Height="260" Width="600" Background="AliceBlue" Icon="/ENI2;component/Resources/bullet_ball_grey.ico"> Title="{x:Static p:Resources.textCompareExcel}" Height="260" Width="600" Background="AliceBlue" Icon="/ENI2Test;component/Resources/bullet_ball_grey.ico">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="32" /> <RowDefinition Height="32" />

View File

@ -4,11 +4,11 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ENI2.EditControls" xmlns:local="clr-namespace:ENI2.EditControls"
xmlns:enictrl="clr-namespace:ENI2.Controls" xmlns:enictrl="clr-namespace:ENI2.Controls"
xmlns:p="clr-namespace:ENI2.Properties" xmlns:p="clr-namespace:ENI2.Properties"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d" mc:Ignorable="d"
Title="{x:Static p:Resources.textCopyDeclaration}" Height="326" Width="440" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="NoResize" Icon="/ENI2;component/Resources/id_cards.ico"> Title="{x:Static p:Resources.textCopyDeclaration}" Height="326" Width="440" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="NoResize" Icon="/ENI2Test;component/Resources/id_cards.ico">
<Grid Margin="5"> <Grid Margin="5">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="28" /> <RowDefinition Height="28" />
@ -34,28 +34,28 @@
<Label Name="labelCopy" Grid.Row="6" Grid.Column="0" Content="Copy" /> <Label Name="labelCopy" Grid.Row="6" Grid.Column="0" Content="Copy" />
<TextBox Name="textBoxVisitTransitId" Margin="2" Grid.Row="0" Grid.Column="1" TextChanged="textBoxVisitTransitId_TextChanged" VerticalContentAlignment="Center"/> <TextBox Name="textBoxVisitTransitId" Margin="2" Grid.Row="0" Grid.Column="1" TextChanged="textBoxVisitTransitId_TextChanged" VerticalContentAlignment="Center"/>
<Image Grid.Row="0" Grid.Column="2" Name="okCheckMark" Source="pack://application:,,,/Resources/check.png" Margin="2" Visibility="Hidden" /> <Image Grid.Row="0" Grid.Column="2" Name="okCheckMark" Source="pack://application:,,,/Resources/check.png" Margin="2" Visibility="Hidden" />
<xctk:DoubleUpDown x:Name="doubleUpDownIMO" Margin="2" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" <xctk:DoubleUpDown x:Name="doubleUpDownIMO" Margin="2" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"
ClipValueToMinMax="True" ClipValueToMinMax="True"
ShowButtonSpinner="False" ShowButtonSpinner="False"
AllowSpin="True" AllowSpin="True"
AllowTextInput="True" AllowTextInput="True"
IsReadOnly="False" IsReadOnly="False"
MouseWheelActiveOnFocus="True" MouseWheelActiveOnFocus="True"
FormatString="G" FormatString="G"
Increment="1" Increment="1"
DisplayDefaultValueOnEmptyText="False" DisplayDefaultValueOnEmptyText="False"
ButtonSpinnerLocation="Right" ButtonSpinnerLocation="Right"
ParsingNumberStyle="Integer" ParsingNumberStyle="Integer"
Watermark="Enter IMO" ValueChanged="doubleUpDownIMO_ValueChanged" TextAlignment="Left"/> Watermark="Enter IMO" ValueChanged="doubleUpDownIMO_ValueChanged" TextAlignment="Left"/>
<xctk:DoubleUpDown x:Name="doubleUpDownENI" Margin="2" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" <xctk:DoubleUpDown x:Name="doubleUpDownENI" Margin="2" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2"
ClipValueToMinMax="True" ClipValueToMinMax="True"
ShowButtonSpinner="False" ShowButtonSpinner="False"
AllowSpin="True" AllowSpin="True"
AllowTextInput="True" AllowTextInput="True"
IsReadOnly="False" IsReadOnly="False"
MouseWheelActiveOnFocus="True" MouseWheelActiveOnFocus="True"
FormatString="00000000" FormatString="00000000"
Increment="1" Increment="1"
DisplayDefaultValueOnEmptyText="False" DisplayDefaultValueOnEmptyText="False"
ButtonSpinnerLocation="Right" ButtonSpinnerLocation="Right"
ParsingNumberStyle="Integer" ParsingNumberStyle="Integer"
@ -78,3 +78,4 @@
</StackPanel> </StackPanel>
</Grid> </Grid>
</enictrl:EditWindowBase> </enictrl:EditWindowBase>

View File

@ -8,7 +8,7 @@
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:p="clr-namespace:ENI2.Properties" xmlns:p="clr-namespace:ENI2.Properties"
mc:Ignorable="d" mc:Ignorable="d"
Title="{x:Static p:Resources.textCoreStatus}" Height="436" Width="600" WindowStyle="SingleBorderWindow" Background="AliceBlue" Icon="/ENI2;component/Resources/bullet_ball_grey.ico" > Title="{x:Static p:Resources.textCoreStatus}" Height="436" Width="600" WindowStyle="SingleBorderWindow" Background="AliceBlue" Icon="/ENI2Test;component/Resources/bullet_ball_grey.ico" >
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="0.3*"/> <ColumnDefinition Width="0.3*"/>
@ -22,7 +22,7 @@
<RowDefinition Height="80" /> <RowDefinition Height="80" />
<RowDefinition Height="28" /> <RowDefinition Height="28" />
<RowDefinition Height="28"> <RowDefinition Height="28">
</RowDefinition> </RowDefinition>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Label Grid.Row="0" Grid.Column="0" Content="{x:Static p:Resources.textCancelled}" /> <Label Grid.Row="0" Grid.Column="0" Content="{x:Static p:Resources.textCancelled}" />

View File

@ -9,7 +9,7 @@
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:p="clr-namespace:ENI2.Properties" xmlns:p="clr-namespace:ENI2.Properties"
mc:Ignorable="d" mc:Ignorable="d"
Title="{x:Static p:Resources.textEditRules}" Height="402" Width="800" WindowStyle="SingleBorderWindow" Background="AliceBlue" Icon="/ENI2;component/Resources/mail_forward.png"> Title="{x:Static p:Resources.textEditRules}" Height="402" Width="800" WindowStyle="SingleBorderWindow" Background="AliceBlue" Icon="/ENI2Test;component/Resources/mail_forward.png">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="32" /> <RowDefinition Height="32" />
@ -76,8 +76,8 @@
<GroupBox Name="groupBoxConditionDetails" Grid.Row="4" Grid.Column="2" Grid.ColumnSpan="2" Margin="0" Header="{x:Static p:Resources.textCondition}"> <GroupBox Name="groupBoxConditionDetails" Grid.Row="4" Grid.Column="2" Grid.ColumnSpan="2" Margin="0" Header="{x:Static p:Resources.textCondition}">
<Grid Name="groupBoxConditionContainer"> <Grid Name="groupBoxConditionContainer">
</Grid> </Grid>
</GroupBox> </GroupBox>
</Grid> </Grid>

View File

@ -8,7 +8,7 @@
xmlns:p="clr-namespace:ENI2.Properties" xmlns:p="clr-namespace:ENI2.Properties"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d" mc:Ignorable="d"
Title="{x:Static p:Resources.textErrors}" Height="300" Width="600" Background="AliceBlue" Icon="/ENI2;component/Resources/bullet_ball_red.ico" Topmost="False"> Title="{x:Static p:Resources.textErrors}" Height="300" Width="600" Background="AliceBlue" Icon="/ENI2Test;component/Resources/bullet_ball_red.ico" Topmost="False">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="*" /> <RowDefinition Height="*" />

View File

@ -7,7 +7,7 @@
xmlns:enictrl="clr-namespace:ENI2.Controls" xmlns:enictrl="clr-namespace:ENI2.Controls"
xmlns:p="clr-namespace:ENI2.Properties" xmlns:p="clr-namespace:ENI2.Properties"
mc:Ignorable="d" mc:Ignorable="d"
Title="{x:Static p:Resources.textMessageHistory}" Height="450" Width="800" Background="AliceBlue" Icon="/ENI2;component/Resources/clock_history.ico"> Title="{x:Static p:Resources.textMessageHistory}" Height="450" Width="800" Background="AliceBlue" Icon="/ENI2Test;component/Resources/clock_history.ico">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="*" /> <RowDefinition Height="*" />
@ -15,8 +15,8 @@
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<enictrl:ENIDataGrid Grid.Row="0" Grid.Column="0" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" <enictrl:ENIDataGrid Grid.Row="0" Grid.Column="0" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
SelectionMode="Single" AutoGenerateColumns="False" Margin="5,5,5,0" x:Name="dataGridMessageHistories" SelectionMode="Single" AutoGenerateColumns="False" Margin="5,5,5,0" x:Name="dataGridMessageHistories"
MouseDoubleClick="DataGridViolations_MouseDoubleClick" CanUserAddRows="False"> MouseDoubleClick="DataGridViolations_MouseDoubleClick" CanUserAddRows="False">
<DataGrid.Columns> <DataGrid.Columns>
<DataGridTextColumn Header="{x:Static p:Resources.textType}" Binding="{Binding EntityName}" IsReadOnly="True" Width="0.05*" > <DataGridTextColumn Header="{x:Static p:Resources.textType}" Binding="{Binding EntityName}" IsReadOnly="True" Width="0.05*" >

View File

@ -4,12 +4,12 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ENI2.EditControls" xmlns:local="clr-namespace:ENI2.EditControls"
xmlns:enictrl="clr-namespace:ENI2.Controls" xmlns:enictrl="clr-namespace:ENI2.Controls"
xmlns:p="clr-namespace:ENI2.Properties" xmlns:p="clr-namespace:ENI2.Properties"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d" mc:Ignorable="d"
Title="{x:Static p:Resources.textNewDGItem}" Height="350" Width="600" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="CanResize" Title="{x:Static p:Resources.textNewDGItem}" Height="350" Width="600" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="CanResize"
Icon="/ENI2;component/Resources/bullet_ball_yellow.ico" Loaded="EditWindowBase_Loaded"> Icon="/ENI2Test;component/Resources/bullet_ball_yellow.ico" Loaded="EditWindowBase_Loaded">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="28" /> <RowDefinition Height="28" />

View File

@ -4,12 +4,12 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ENI2.EditControls" xmlns:local="clr-namespace:ENI2.EditControls"
xmlns:enictrl="clr-namespace:ENI2.Controls" xmlns:enictrl="clr-namespace:ENI2.Controls"
xmlns:p="clr-namespace:ENI2.Properties" xmlns:p="clr-namespace:ENI2.Properties"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d" mc:Ignorable="d"
Title="{x:Static p:Resources.textNewWithId}" Height="220" Width="350" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="NoResize" Icon="/ENI2;component/Resources/id_card_add.ico"> Title="{x:Static p:Resources.textNewWithId}" Height="220" Width="350" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="NoResize" Icon="/ENI2Test;component/Resources/id_card_add.ico">
<Grid Margin="4"> <Grid Margin="4">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="28" /> <RowDefinition Height="28" />
@ -30,29 +30,29 @@
<Label Name="labelENI" Grid.Row="2" Grid.Column="0" Content="{x:Static p:Resources.textENI}" /> <Label Name="labelENI" Grid.Row="2" Grid.Column="0" Content="{x:Static p:Resources.textENI}" />
<Label Name="labelETA" Grid.Row="3" Grid.Column="0" Content="ETA" /> <Label Name="labelETA" Grid.Row="3" Grid.Column="0" Content="ETA" />
<Label Name="labelHIS" Grid.Row="4" Grid.Column="0" Content="HIS" /> <Label Name="labelHIS" Grid.Row="4" Grid.Column="0" Content="HIS" />
<xctk:DoubleUpDown x:Name="doubleUpDownIMO" Margin="2" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" <xctk:DoubleUpDown x:Name="doubleUpDownIMO" Margin="2" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"
ClipValueToMinMax="True" ClipValueToMinMax="True"
ShowButtonSpinner="False" ShowButtonSpinner="False"
AllowSpin="True" AllowSpin="True"
AllowTextInput="True" AllowTextInput="True"
IsReadOnly="False" IsReadOnly="False"
MouseWheelActiveOnFocus="True" MouseWheelActiveOnFocus="True"
FormatString="G" FormatString="G"
Increment="1" Increment="1"
DisplayDefaultValueOnEmptyText="False" DisplayDefaultValueOnEmptyText="False"
ButtonSpinnerLocation="Right" ButtonSpinnerLocation="Right"
ParsingNumberStyle="Integer" ParsingNumberStyle="Integer"
Watermark="Enter IMO" ValueChanged="doubleUpDownIMO_ValueChanged" Watermark="Enter IMO" ValueChanged="doubleUpDownIMO_ValueChanged"
TextAlignment="Left" /> TextAlignment="Left" />
<xctk:DoubleUpDown x:Name="doubleUpDownENI" Margin="2" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" <xctk:DoubleUpDown x:Name="doubleUpDownENI" Margin="2" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2"
ClipValueToMinMax="True" ClipValueToMinMax="True"
ShowButtonSpinner="False" ShowButtonSpinner="False"
AllowSpin="True" AllowSpin="True"
AllowTextInput="True" AllowTextInput="True"
IsReadOnly="False" IsReadOnly="False"
MouseWheelActiveOnFocus="True" MouseWheelActiveOnFocus="True"
FormatString="00000000" FormatString="00000000"
Increment="1" Increment="1"
DisplayDefaultValueOnEmptyText="False" DisplayDefaultValueOnEmptyText="False"
ButtonSpinnerLocation="Right" ButtonSpinnerLocation="Right"
ParsingNumberStyle="Integer" ParsingNumberStyle="Integer"

View File

@ -8,7 +8,7 @@
xmlns:local="clr-namespace:ENI2.EditControls" xmlns:local="clr-namespace:ENI2.EditControls"
xmlns:p="clr-namespace:ENI2.Properties" xmlns:p="clr-namespace:ENI2.Properties"
mc:Ignorable="d" mc:Ignorable="d"
Title="Search port area" Height="400" Width="600" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="CanResize" Icon="/ENI2;component/Resources/bullet_ball_yellow.ico" Loaded="Window_Loaded"> Title="Search port area" Height="400" Width="600" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="CanResize" Icon="/ENI2Test;component/Resources/bullet_ball_yellow.ico" Loaded="Window_Loaded">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="28" /> <RowDefinition Height="28" />
@ -19,7 +19,7 @@
<RowDefinition Height="28" /> <RowDefinition Height="28" />
<RowDefinition Height="90" /> <RowDefinition Height="90" />
<RowDefinition Height="28" /> <RowDefinition Height="28" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="80" /> <ColumnDefinition Width="80" />

View File

@ -8,7 +8,7 @@
xmlns:p="clr-namespace:ENI2.Properties" xmlns:p="clr-namespace:ENI2.Properties"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d" mc:Ignorable="d"
Title="{x:Static p:Resources.textViolations}" Height="300" Width="600" Background="AliceBlue" Icon="/ENI2;component/Resources/bullet_ball_yellow.ico" Topmost="False"> Title="{x:Static p:Resources.textViolations}" Height="300" Width="600" Background="AliceBlue" Icon="/ENI2Test;component/Resources/bullet_ball_yellow.ico" Topmost="False">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="*" /> <RowDefinition Height="*" />
@ -16,7 +16,7 @@
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<enictrl:ENIDataGrid Grid.Row="0" Grid.Column="0" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" <enictrl:ENIDataGrid Grid.Row="0" Grid.Column="0" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
SelectionMode="Single" AutoGenerateColumns="False" Margin="5,5,5,0" x:Name="dataGridViolations"> SelectionMode="Single" AutoGenerateColumns="False" Margin="5,5,5,0" x:Name="dataGridViolations">
<DataGrid.Columns> <DataGrid.Columns>
<DataGridTextColumn Header="{x:Static p:Resources.textCode}" Binding="{Binding ViolationCode}" IsReadOnly="True" Width="0.05*" /> <DataGridTextColumn Header="{x:Static p:Resources.textCode}" Binding="{Binding ViolationCode}" IsReadOnly="True" Width="0.05*" />

View File

@ -4,11 +4,11 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ENI2.EditControls" xmlns:local="clr-namespace:ENI2.EditControls"
xmlns:enictrl="clr-namespace:ENI2.Controls" xmlns:enictrl="clr-namespace:ENI2.Controls"
xmlns:p="clr-namespace:ENI2.Properties" xmlns:p="clr-namespace:ENI2.Properties"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
mc:Ignorable="d" mc:Ignorable="d"
Title="{x:Static p:Resources.textNewVisitTransitId}" Height="220" Width="350" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="NoResize" Icon="/ENI2;component/Resources/id_card_new.ico"> Title="{x:Static p:Resources.textNewVisitTransitId}" Height="220" Width="350" WindowStyle="SingleBorderWindow" Background="AliceBlue" ResizeMode="NoResize" Icon="/ENI2Test;component/Resources/id_card_new.ico">
<Grid Margin="4"> <Grid Margin="4">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="28" /> <RowDefinition Height="28" />
@ -26,28 +26,28 @@
<Label Name="labelPoC" Grid.Row="2" Grid.Column="0" Content="{x:Static p:Resources.textPortCall}" /> <Label Name="labelPoC" Grid.Row="2" Grid.Column="0" Content="{x:Static p:Resources.textPortCall}" />
<Label Name="labelETA" Grid.Row="3" Grid.Column="0" Content="ETA" /> <Label Name="labelETA" Grid.Row="3" Grid.Column="0" Content="ETA" />
<Label Name="labelHIS" Grid.Row="4" Grid.Column="0" Content="HIS" /> <Label Name="labelHIS" Grid.Row="4" Grid.Column="0" Content="HIS" />
<xctk:DoubleUpDown x:Name="doubleUpDownIMO" Margin="2" Grid.Row="0" Grid.Column="1" <xctk:DoubleUpDown x:Name="doubleUpDownIMO" Margin="2" Grid.Row="0" Grid.Column="1"
ClipValueToMinMax="True" ClipValueToMinMax="True"
ShowButtonSpinner="False" ShowButtonSpinner="False"
AllowSpin="True" AllowSpin="True"
AllowTextInput="True" AllowTextInput="True"
IsReadOnly="False" IsReadOnly="False"
MouseWheelActiveOnFocus="True" MouseWheelActiveOnFocus="True"
FormatString="G" FormatString="G"
Increment="1" Increment="1"
DisplayDefaultValueOnEmptyText="False" DisplayDefaultValueOnEmptyText="False"
ButtonSpinnerLocation="Right" ButtonSpinnerLocation="Right"
ParsingNumberStyle="Integer" ParsingNumberStyle="Integer"
Watermark="Enter IMO" ValueChanged="doubleUpDownIMO_ValueChanged" TextAlignment="Left"/> Watermark="Enter IMO" ValueChanged="doubleUpDownIMO_ValueChanged" TextAlignment="Left"/>
<xctk:DoubleUpDown x:Name="doubleUpDownENI" Margin="2" Grid.Row="1" Grid.Column="1" <xctk:DoubleUpDown x:Name="doubleUpDownENI" Margin="2" Grid.Row="1" Grid.Column="1"
ClipValueToMinMax="True" ClipValueToMinMax="True"
ShowButtonSpinner="False" ShowButtonSpinner="False"
AllowSpin="True" AllowSpin="True"
AllowTextInput="True" AllowTextInput="True"
IsReadOnly="False" IsReadOnly="False"
MouseWheelActiveOnFocus="True" MouseWheelActiveOnFocus="True"
FormatString="00000000" FormatString="00000000"
Increment="1" Increment="1"
DisplayDefaultValueOnEmptyText="False" DisplayDefaultValueOnEmptyText="False"
ButtonSpinnerLocation="Right" ButtonSpinnerLocation="Right"
ParsingNumberStyle="Integer" ParsingNumberStyle="Integer"

View File

@ -15,6 +15,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace ENI2.Excel namespace ENI2.Excel
@ -1007,15 +1008,18 @@ namespace ENI2.Excel
STAT stat = statMessage.Elements[0] as STAT; STAT stat = statMessage.Elements[0] as STAT;
ScanMessage(stat, reader); ScanMessage(stat, reader);
foreach (Message preMessage in messages) if (!messageCore.IsTransit) // let's not do this for transit messages
{ {
if (preMessage.MessageNotificationClass == Message.NotificationClass.PRE72H) foreach (Message preMessage in messages)
{ {
if (preMessage.Elements.Count > 0) if (preMessage.MessageNotificationClass == Message.NotificationClass.PRE72H)
{ {
PRE72H pre72h = preMessage.Elements[0] as PRE72H; if (preMessage.Elements.Count > 0)
pre72h.Tanker = stat.IsTanker; {
ExcelReader.SaveMessage(preMessage); PRE72H pre72h = preMessage.Elements[0] as PRE72H;
pre72h.Tanker = stat.IsTanker;
ExcelReader.SaveMessage(preMessage);
}
} }
} }
} }
@ -1467,7 +1471,7 @@ namespace ENI2.Excel
bool? PortOfCallLast30DaysCrewMembersJoinedFlag = reader.ReadCellAsBool(sheetTitle, string.Format("H{0}", 82 + i)); bool? PortOfCallLast30DaysCrewMembersJoinedFlag = reader.ReadCellAsBool(sheetTitle, string.Format("H{0}", 82 + i));
string crewNameString = reader.ReadCellAsText(sheetTitle, string.Format("I{0}", 82 + i)); string crewNameString = reader.ReadCellAsText(sheetTitle, string.Format("I{0}", 82 + i));
poc30d.PortOfCallLast30DaysCrewMembersJoined = !crewNameString.IsNullOrEmpty(); poc30d.PortOfCallLast30DaysCrewMembersJoined = !crewNameString.IsNullOrEmpty() && (crewNameString.Length > 1);
// if crew members joined is set explicitly to true and the name is empty, still set the field to true // if crew members joined is set explicitly to true and the name is empty, still set the field to true
if (!(poc30d.PortOfCallLast30DaysCrewMembersJoined ?? false) && (PortOfCallLast30DaysCrewMembersJoinedFlag ?? false)) if (!(poc30d.PortOfCallLast30DaysCrewMembersJoined ?? false) && (PortOfCallLast30DaysCrewMembersJoinedFlag ?? false))
@ -1688,7 +1692,7 @@ namespace ENI2.Excel
l10fc.PortFacilityDateOfArrival = reader.ReadCellAsDateTime(sheetTitle, string.Format("G{0}", 54 + i)); l10fc.PortFacilityDateOfArrival = reader.ReadCellAsDateTime(sheetTitle, string.Format("G{0}", 54 + i));
l10fc.PortFacilityDateOfDeparture = reader.ReadCellAsDateTime(sheetTitle, string.Format("H{0}", 54 + i)); l10fc.PortFacilityDateOfDeparture = reader.ReadCellAsDateTime(sheetTitle, string.Format("H{0}", 54 + i));
string sLevel = reader.ReadCellAsText(sheetTitle, string.Format("I{0}", 54 + i), 1); string sLevel = reader.ReadCellAsText(sheetTitle, string.Format("I{0}", 54 + i));
if (!sLevel.IsNullOrEmpty()) if (!sLevel.IsNullOrEmpty())
{ {
if (sLevel.Contains('1')) l10fc.PortFacilityShipSecurityLevel = 1; if (sLevel.Contains('1')) l10fc.PortFacilityShipSecurityLevel = 1;
@ -1696,14 +1700,9 @@ namespace ENI2.Excel
if (sLevel.Contains('3')) l10fc.PortFacilityShipSecurityLevel = 3; if (sLevel.Contains('3')) l10fc.PortFacilityShipSecurityLevel = 3;
} }
l10fc.PortFacilityGISISCode = reader.ReadCellAsText(sheetTitle, string.Format("J{0}", 54 + i), 4); string s = reader.ReadCellAsText(sheetTitle, string.Format("J{0}", 54 + i));
// All invalid codes become "0000", Oct/25
if (l10fc.PortFacilityGISISCode.IsNullOrEmpty() || l10fc.PortFacilityGISISCode == "0") l10fc.PortFacilityGISISCode = (s != null) && Regex.IsMatch(s.Trim(), @"^\d{4}$") ? s.Trim() : "0000";
l10fc.PortFacilityGISISCode = "0000";
if (l10fc.PortFacilityGISISCode?.Length < 4)
{
while (l10fc.PortFacilityGISISCode.Length < 4) l10fc.PortFacilityGISISCode = "0" + l10fc.PortFacilityGISISCode;
}
l10fc.PortFacilitySecurityMattersToReport = reader.ReadCellAsText(sheetTitle, string.Format("K{0}", 54 + i), 255); l10fc.PortFacilitySecurityMattersToReport = reader.ReadCellAsText(sheetTitle, string.Format("K{0}", 54 + i), 255);

View File

@ -8,11 +8,11 @@
xmlns:ctrl="clr-namespace:ENI2.Controls" xmlns:ctrl="clr-namespace:ENI2.Controls"
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit" xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
xmlns:util="clr-namespace:ENI2.Util" xmlns:util="clr-namespace:ENI2.Util"
xmlns:local="clr-namespace:ENI2" xmlns:local="clr-namespace:ENI2"
mc:Ignorable="d" mc:Ignorable="d"
Title="ENI 2" Title="ENI 2 Testversion"
Height="{util:SettingBinding Height}" Width="{util:SettingBinding Width}" Height="{util:SettingBinding Height}" Width="{util:SettingBinding Width}"
Icon="Resources/logo_schwarz.ico" Loaded="Window_Loaded" Closing="Window_Closing" Icon="Resources/logo_schwarz.ico" Loaded="Window_Loaded" Closing="Window_Closing"
SourceInitialized="Window_SourceInitialized"> SourceInitialized="Window_SourceInitialized">
<Window.CommandBindings> <Window.CommandBindings>
@ -23,7 +23,7 @@
<Window.Resources> <Window.Resources>
<ResourceDictionary> <ResourceDictionary>
<ResourceDictionary.MergedDictionaries> <ResourceDictionary.MergedDictionaries>
<ResourceDictionary <ResourceDictionary
Source="ControlTemplates.xaml"> Source="ControlTemplates.xaml">
</ResourceDictionary> </ResourceDictionary>
</ResourceDictionary.MergedDictionaries> </ResourceDictionary.MergedDictionaries>
@ -95,6 +95,7 @@
<MenuItem x:Name="menuItemUserAdministration" Header="{x:Static p:Resources.textUserAdministration}" Click="radioButton_Click" Visibility="Hidden"/> <MenuItem x:Name="menuItemUserAdministration" Header="{x:Static p:Resources.textUserAdministration}" Click="radioButton_Click" Visibility="Hidden"/>
<MenuItem x:Name="menuItemMaersk" Header="{x:Static p:Resources.textPOLists}" Click="radioButton_Click" Visibility="Hidden" /> <MenuItem x:Name="menuItemMaersk" Header="{x:Static p:Resources.textPOLists}" Click="radioButton_Click" Visibility="Hidden" />
<MenuItem x:Name="menuItemValueMappings" Header="{x:Static p:Resources.textExcelValueMappings}" Click="radioButton_Click" Visibility="Hidden" /> <MenuItem x:Name="menuItemValueMappings" Header="{x:Static p:Resources.textExcelValueMappings}" Click="radioButton_Click" Visibility="Hidden" />
<MenuItem x:Name="menuItemEasyPeasy" Header="{x:Static p:Resources.textEasyPeasy}" Click="radioButton_Click" Visibility="Hidden" />
<MenuItem x:Name="labelStatusId" /> <MenuItem x:Name="labelStatusId" />
<MenuItem Header="Help" HorizontalAlignment="Right"> <MenuItem Header="Help" HorizontalAlignment="Right">
<MenuItem Header="Change Password" Click="buttonChangePassword_Click"> <MenuItem Header="Change Password" Click="buttonChangePassword_Click">

View File

@ -39,6 +39,7 @@ namespace ENI2
private ServerStatusControl statusControl; private ServerStatusControl statusControl;
private readonly SucheControl sucheControl; private readonly SucheControl sucheControl;
private CompareExcelDialog compareExcelDialog; private CompareExcelDialog compareExcelDialog;
private EasyPeasyControl easyPeasyControl;
private bool dbConnected; private bool dbConnected;
private readonly ScaleTransform _transform = new ScaleTransform(1.0, 1.0); private readonly ScaleTransform _transform = new ScaleTransform(1.0, 1.0);
@ -324,6 +325,14 @@ namespace ENI2
} }
this.rootContainer.Children.Add(this.vmControl); this.rootContainer.Children.Add(this.vmControl);
} }
else if(sender == this.menuItemEasyPeasy)
{
if(this.easyPeasyControl == null)
{
this.easyPeasyControl = new EasyPeasyControl();
}
this.rootContainer.Children.Add(this.easyPeasyControl);
}
} }
private void buttonCompareSheets_Click(object sender, RoutedEventArgs ev) private void buttonCompareSheets_Click(object sender, RoutedEventArgs ev)
@ -377,6 +386,8 @@ namespace ENI2
Properties.Settings.Default.MainWindowPlacement = this.GetPlacement(); Properties.Settings.Default.MainWindowPlacement = this.GetPlacement();
Properties.Settings.Default.Save(); Properties.Settings.Default.Save();
Microsoft.Win32.SystemEvents.SessionEnded -= SystemEvents_SessionEnded; Microsoft.Win32.SystemEvents.SessionEnded -= SystemEvents_SessionEnded;
if (easyPeasyControl != null)
easyPeasyControl.SaveState();
} }
private void Window_SourceInitialized(object sender, EventArgs e) private void Window_SourceInitialized(object sender, EventArgs e)
@ -690,6 +701,7 @@ namespace ENI2
ReportingParty.CurrentReportingParty = this.userEntity; ReportingParty.CurrentReportingParty = this.userEntity;
this.menuItemMaersk.Visibility = Visibility.Visible; this.menuItemMaersk.Visibility = Visibility.Visible;
this.menuItemValueMappings.Visibility = Visibility.Visible; this.menuItemValueMappings.Visibility = Visibility.Visible;
this.menuItemEasyPeasy.Visibility = Visibility.Visible;
if (this.userEntity.IsAdmin) if (this.userEntity.IsAdmin)
{ {
this.menuItemUserAdministration.Visibility = Visibility.Visible; this.menuItemUserAdministration.Visibility = Visibility.Visible;
@ -753,5 +765,6 @@ namespace ENI2
#endregion #endregion
} }
} }

View File

@ -2871,6 +2871,15 @@ namespace ENI2.Properties {
} }
} }
/// <summary>
/// Looks up a localized string similar to Easy Peasy 🍋.
/// </summary>
public static string textEasyPeasy {
get {
return ResourceManager.GetString("textEasyPeasy", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to _Edit. /// Looks up a localized string similar to _Edit.
/// </summary> /// </summary>

View File

@ -2265,4 +2265,7 @@ New entry: {1}
Proceed?</value> Proceed?</value>
</data> </data>
<data name="textEasyPeasy" xml:space="preserve">
<value>Easy Peasy 🍋</value>
</data>
</root> </root>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 41 KiB

View File

@ -7,7 +7,6 @@ using ENI2.EditControls;
using ExcelDataReader; using ExcelDataReader;
using Microsoft.Win32; using Microsoft.Win32;
using System; using System;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
@ -34,7 +33,6 @@ namespace ENI2.SheetDisplayControls
private SEC _sec; private SEC _sec;
private WAS _was; private WAS _was;
private Message _stoMessage; private Message _stoMessage;
// private Message _crewMessage;
private Dictionary<string, string> portAreas = null; private Dictionary<string, string> portAreas = null;
@ -45,7 +43,7 @@ namespace ENI2.SheetDisplayControls
private static List<SERV_Template> _servTemplates = null; private static List<SERV_Template> _servTemplates = null;
private SERV_Template _currentSERVTemplate; private SERV_Template _currentSERVTemplate;
private static List<WasteDisposalServiceProvider_Template> _wsdpTemplates = null; private static List<WasteDisposalServiceProvider_Template> _wsdpTemplates = null;
private WasteDisposalServiceProvider_Template _currentWSDPTemplate; private WasteDisposalServiceProvider_Template _currentWSDPTemplate;
private string _undoWSDPTemplate; private string _undoWSDPTemplate;
@ -83,11 +81,11 @@ namespace ENI2.SheetDisplayControls
{ {
base.Initialize(); base.Initialize();
foreach (Message aMessage in this.Messages) foreach (Message aMessage in this.Messages)
{ {
if (aMessage.MessageNotificationClass == Message.NotificationClass.LADG) { this._ladgMessage = aMessage; this.ControlMessages.Add(aMessage); } if (aMessage.MessageNotificationClass == Message.NotificationClass.LADG) { this._ladgMessage = aMessage; this.ControlMessages.Add(aMessage); }
if (aMessage.MessageNotificationClass == Message.NotificationClass.SERV) { this._servMessage = aMessage; this.ControlMessages.Add(aMessage); } if (aMessage.MessageNotificationClass == Message.NotificationClass.SERV) { this._servMessage = aMessage; this.ControlMessages.Add(aMessage); }
if (aMessage.MessageNotificationClass == Message.NotificationClass.NOA_NOD) { this._noa_nod = aMessage.Elements[0] as NOA_NOD; this.ControlMessages.Add(aMessage); } if (aMessage.MessageNotificationClass == Message.NotificationClass.NOA_NOD) { this._noa_nod = aMessage.Elements[0] as NOA_NOD; this.ControlMessages.Add(aMessage); }
if (aMessage.MessageNotificationClass == Message.NotificationClass.SEC) { this._sec = aMessage.Elements[0] as SEC; this.ControlMessages.Add(aMessage); } if (aMessage.MessageNotificationClass == Message.NotificationClass.SEC) { this._sec = aMessage.Elements[0] as SEC; this.ControlMessages.Add(aMessage); }
if (aMessage.MessageNotificationClass == Message.NotificationClass.INFO) { this._info = aMessage.Elements[0] as INFO; this.ControlMessages.Add(aMessage); } if (aMessage.MessageNotificationClass == Message.NotificationClass.INFO) { this._info = aMessage.Elements[0] as INFO; this.ControlMessages.Add(aMessage); }
if (aMessage.MessageNotificationClass == Message.NotificationClass.PRE72H) { this._pre72H = aMessage.Elements[0] as PRE72H; this.ControlMessages.Add(aMessage); } if (aMessage.MessageNotificationClass == Message.NotificationClass.PRE72H) { this._pre72H = aMessage.Elements[0] as PRE72H; this.ControlMessages.Add(aMessage); }
if (aMessage.MessageNotificationClass == Message.NotificationClass.AGNT) { this._agnt = aMessage.Elements[0] as AGNT; this.ControlMessages.Add(aMessage); } if (aMessage.MessageNotificationClass == Message.NotificationClass.AGNT) { this._agnt = aMessage.Elements[0] as AGNT; this.ControlMessages.Add(aMessage); }
@ -107,7 +105,7 @@ namespace ENI2.SheetDisplayControls
this.dataGridCallPurposes.AddingNewItem += DataGridCallPurposes_AddingNewItem; this.dataGridCallPurposes.AddingNewItem += DataGridCallPurposes_AddingNewItem;
this.dataGridCallPurposes.CreateRequested += DataGridCallPurposes_CreateRequested; this.dataGridCallPurposes.CreateRequested += DataGridCallPurposes_CreateRequested;
this.dataGridCallPurposes.DeleteRequested += DataGridCallPurposes_DeleteRequested; this.dataGridCallPurposes.DeleteRequested += DataGridCallPurposes_DeleteRequested;
portAreas = LocalizedLookup.getPortAreasForLocode(this.Core.PoC); portAreas = LocalizedLookup.getPortAreasForLocode(this.Core.PoC);
this.comboBoxPortArea.ItemsSource = portAreas; this.comboBoxPortArea.ItemsSource = portAreas;
this.comboBoxPortArea.DataContext = this._info; this.comboBoxPortArea.DataContext = this._info;
@ -266,6 +264,7 @@ namespace ENI2.SheetDisplayControls
this.RegisterTextboxChange(this.textBox_AgentPostalCode, Message.NotificationClass.AGNT); this.RegisterTextboxChange(this.textBox_AgentPostalCode, Message.NotificationClass.AGNT);
this.RegisterTextboxChange(this.textBox_AgentStreetAndNumber, Message.NotificationClass.AGNT); this.RegisterTextboxChange(this.textBox_AgentStreetAndNumber, Message.NotificationClass.AGNT);
this.RegisterTextboxChange(this.textBox_AgentCountry, Message.NotificationClass.AGNT); this.RegisterTextboxChange(this.textBox_AgentCountry, Message.NotificationClass.AGNT);
this.RegisterTextboxChange(this.textBox_WasteDisposalServiceProvider, Message.NotificationClass.WAS);
this.buttonSaveTemplate.IsEnabled = DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].IsEditor; this.buttonSaveTemplate.IsEnabled = DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].IsEditor;
this.buttonDeleteTemplate.IsEnabled = DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].IsEditor; this.buttonDeleteTemplate.IsEnabled = DBManager.Instance.GetReportingPartyDict()[App.UserId.Value].IsEditor;
@ -285,7 +284,7 @@ namespace ENI2.SheetDisplayControls
this.RegisterLocodeChange(this.locodeCtrlNextWastePort, Message.NotificationClass.WAS); this.RegisterLocodeChange(this.locodeCtrlNextWastePort, Message.NotificationClass.WAS);
this.RegisterTextboxChange(this.textBoxWasteDisposalServiceProviders, Message.NotificationClass.WAS); this.RegisterTextboxChange(this.textBoxWasteDisposalServiceProviders, Message.NotificationClass.WAS);
this.RegisterDatePickerChange(this.datePickerDateLastDisposal, Message.NotificationClass.WAS); this.RegisterDatePickerChange(this.datePickerDateLastDisposal, Message.NotificationClass.WAS);
} }
private void CheckBoxValidExemption_Checked(object sender, RoutedEventArgs e) private void CheckBoxValidExemption_Checked(object sender, RoutedEventArgs e)
@ -369,9 +368,11 @@ namespace ENI2.SheetDisplayControls
this.textBox_AgentPostalCode.GetBindingExpression(TextBox.TextProperty).UpdateSource(); this.textBox_AgentPostalCode.GetBindingExpression(TextBox.TextProperty).UpdateSource();
this.textBox_AgentStreetAndNumber.Text = this._currentTemplate.AgentStreetAndNumber; this.textBox_AgentStreetAndNumber.Text = this._currentTemplate.AgentStreetAndNumber;
this.textBox_AgentStreetAndNumber.GetBindingExpression(TextBox.TextProperty).UpdateSource(); this.textBox_AgentStreetAndNumber.GetBindingExpression(TextBox.TextProperty).UpdateSource();
this.textBox_WasteDisposalServiceProvider.Text = this._currentTemplate.WasteDisposalServiceProviderName; if ((this._currentTemplate.WasteDisposalServiceProviderName ?? "").Trim() != (this.textBox_WasteDisposalServiceProvider.Text ?? "").Trim())
this.textBox_WasteDisposalServiceProvider.GetBindingExpression(TextBox.TextProperty).UpdateSource(); {
this.SublistElementChanged(Message.NotificationClass.WAS); this.textBox_WasteDisposalServiceProvider.Text = this._currentTemplate.WasteDisposalServiceProviderName;
this.textBox_WasteDisposalServiceProvider.GetBindingExpression(TextBox.TextProperty).UpdateSource();
}
this.buttonUndoTemplate.IsEnabled = true; this.buttonUndoTemplate.IsEnabled = true;
this.buttonSetTemplate.IsEnabled = false; this.buttonSetTemplate.IsEnabled = false;
@ -461,7 +462,6 @@ namespace ENI2.SheetDisplayControls
this.textBox_AgentStreetAndNumber.GetBindingExpression(TextBox.TextProperty).UpdateSource(); this.textBox_AgentStreetAndNumber.GetBindingExpression(TextBox.TextProperty).UpdateSource();
this.textBox_WasteDisposalServiceProvider.Text = this._undoTemplate.WasteDisposalServiceProviderName; this.textBox_WasteDisposalServiceProvider.Text = this._undoTemplate.WasteDisposalServiceProviderName;
this.textBox_WasteDisposalServiceProvider.GetBindingExpression(TextBox.TextProperty).UpdateSource(); this.textBox_WasteDisposalServiceProvider.GetBindingExpression(TextBox.TextProperty).UpdateSource();
this.SublistElementChanged(Message.NotificationClass.WAS);
this.buttonUndoTemplate.IsEnabled = false; // can't undo after undo this.buttonUndoTemplate.IsEnabled = false; // can't undo after undo
} }
@ -612,7 +612,7 @@ namespace ENI2.SheetDisplayControls
stream.Close(); stream.Close();
} }
} }
#endregion #endregion
@ -731,7 +731,7 @@ namespace ENI2.SheetDisplayControls
this.dataGridSERV.Items.Refresh(); this.dataGridSERV.Items.Refresh();
this.SublistElementChanged(Message.NotificationClass.SERV); this.SublistElementChanged(Message.NotificationClass.SERV);
} }
} }
#endregion #endregion

View File

@ -102,7 +102,8 @@ namespace ENI2
private void ContextMenu_ContextMenuOpening(object sender, ContextMenuEventArgs e) private void ContextMenu_ContextMenuOpening(object sender, ContextMenuEventArgs e)
{ {
MessageCore selectedCore = this.dataGrid.SelectedItem as MessageCore; MessageCore selectedCore = this.dataGrid.SelectedItem as MessageCore;
cancelItem.Visibility = (this.AdminMode && (selectedCore.Cancelled ?? false)) ? Visibility.Visible : Visibility.Collapsed; if(selectedCore != null)
cancelItem.Visibility = (this.AdminMode && (selectedCore.Cancelled ?? false)) ? Visibility.Visible : Visibility.Collapsed;
} }
private void CancelItem_Click(object sender, RoutedEventArgs e) private void CancelItem_Click(object sender, RoutedEventArgs e)

View File

@ -0,0 +1,63 @@
// Copyright (c) 2017- schick Informatik
// Description: Helper class for customs data serialization
//
using bsmd.database.EasyPeasy;
using System;
using System.IO;
using System.Xml.Serialization;
namespace ENI2.Util
{
public static class EasyPeasyState
{
private static readonly string Root = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
"EasyPeasy");
private static readonly string StatePath = Path.Combine(Root, "state.xml");
public static ProofRequest LoadOrCreate()
{
try
{
if (File.Exists(StatePath))
{
using (var fs = File.OpenRead(StatePath))
{
var ser = new XmlSerializer(typeof(ProofRequest));
return (ProofRequest)ser.Deserialize(fs);
}
}
}
catch { /* swallow & create new */ }
return CreateDefault();
}
public static void Save(ProofRequest data)
{
Directory.CreateDirectory(Root);
using (var fs = File.Create(StatePath))
{
var ser = new XmlSerializer(typeof(ProofRequest));
ser.Serialize(fs, data);
}
}
public static ProofRequest CreateDefault()
{
return new ProofRequest
{
ProofInformationT2LT2LF = new ProofInformationT2LT2LF
{
RequestedValidityOfTheProof = new RequestedValidityOfTheProof(),
GoodsShipmentForT2LT2LF = new GoodsShipmentForT2LT2LF
{
LocationOfGoods = new LocationOfGoods(),
TransportDocuments = new TransportDocuments()
}
}
};
}
}
}

View File

@ -1,28 +1,28 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="ExcelDataReader" version="3.7.0" targetFramework="net48" /> <package id="ExcelDataReader" version="3.8.0" targetFramework="net48" />
<package id="Extended.Wpf.Toolkit" version="4.7.25104.5739" targetFramework="net48" /> <package id="Extended.Wpf.Toolkit" version="5.0.0" targetFramework="net48" />
<package id="log4net" version="3.2.0" targetFramework="net48" /> <package id="log4net" version="3.2.0" targetFramework="net48" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.8" targetFramework="net48" /> <package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.9" targetFramework="net48" />
<package id="Microsoft.Bcl.Cryptography" version="9.0.8" targetFramework="net48" /> <package id="Microsoft.Bcl.Cryptography" version="9.0.9" targetFramework="net48" />
<package id="Microsoft.Extensions.DependencyInjection" version="9.0.8" targetFramework="net48" /> <package id="Microsoft.Extensions.DependencyInjection" version="9.0.9" targetFramework="net48" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="9.0.8" targetFramework="net48" /> <package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="9.0.9" targetFramework="net48" />
<package id="Microsoft.Extensions.Logging" version="9.0.8" targetFramework="net48" /> <package id="Microsoft.Extensions.Logging" version="9.0.9" targetFramework="net48" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="9.0.8" targetFramework="net48" /> <package id="Microsoft.Extensions.Logging.Abstractions" version="9.0.9" targetFramework="net48" />
<package id="Microsoft.Extensions.Options" version="9.0.8" targetFramework="net48" /> <package id="Microsoft.Extensions.Options" version="9.0.9" targetFramework="net48" />
<package id="Microsoft.Extensions.Primitives" version="9.0.8" targetFramework="net48" /> <package id="Microsoft.Extensions.Primitives" version="9.0.9" targetFramework="net48" />
<package id="Microsoft.Office.Interop.Excel" version="15.0.4795.1001" targetFramework="net48" /> <package id="Microsoft.Office.Interop.Excel" version="15.0.4795.1001" targetFramework="net48" />
<package id="PDFsharp" version="6.2.1" targetFramework="net48" /> <package id="PDFsharp" version="6.2.2" targetFramework="net48" />
<package id="PDFsharp-MigraDoc" version="6.2.1" targetFramework="net48" /> <package id="PDFsharp-MigraDoc" version="6.2.2" targetFramework="net48" />
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.119.0" targetFramework="net48" /> <package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.119.0" targetFramework="net48" />
<package id="System.Buffers" version="4.6.1" targetFramework="net48" /> <package id="System.Buffers" version="4.6.1" targetFramework="net48" />
<package id="System.Data.SQLite.Core" version="1.0.119.0" targetFramework="net48" /> <package id="System.Data.SQLite.Core" version="1.0.119.0" targetFramework="net48" />
<package id="System.Diagnostics.DiagnosticSource" version="9.0.8" targetFramework="net48" /> <package id="System.Diagnostics.DiagnosticSource" version="9.0.9" targetFramework="net48" />
<package id="System.Formats.Asn1" version="9.0.8" targetFramework="net48" /> <package id="System.Formats.Asn1" version="9.0.9" targetFramework="net48" />
<package id="System.Memory" version="4.6.3" targetFramework="net48" /> <package id="System.Memory" version="4.6.3" targetFramework="net48" />
<package id="System.Numerics.Vectors" version="4.6.1" targetFramework="net48" /> <package id="System.Numerics.Vectors" version="4.6.1" targetFramework="net48" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.2" targetFramework="net48" /> <package id="System.Runtime.CompilerServices.Unsafe" version="6.1.2" targetFramework="net48" />
<package id="System.Security.Cryptography.Pkcs" version="9.0.8" targetFramework="net48" /> <package id="System.Security.Cryptography.Pkcs" version="9.0.9" targetFramework="net48" />
<package id="System.Threading.Tasks.Extensions" version="4.6.3" targetFramework="net48" /> <package id="System.Threading.Tasks.Extensions" version="4.6.3" targetFramework="net48" />
<package id="System.ValueTuple" version="4.6.1" targetFramework="net48" /> <package id="System.ValueTuple" version="4.6.1" targetFramework="net48" />
</packages> </packages>

View File

@ -23,9 +23,7 @@ namespace SendNSWMessageService
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory); Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
InitializeComponent(); InitializeComponent();
System.Net.ServicePointManager.ServerCertificateValidationCallback += (object _, System.Security.Cryptography.X509Certificates.X509Certificate ____, System.Net.ServicePointManager.ServerCertificateValidationCallback += (_, ____, __, ___) =>
System.Security.Cryptography.X509Certificates.X509Chain __,
System.Net.Security.SslPolicyErrors ___) =>
{ {
return true; // **** Immer OK weil wir nur mit einem dedizierten Endpoint reden.. return true; // **** Immer OK weil wir nur mit einem dedizierten Endpoint reden..
}; };

View File

@ -40,8 +40,8 @@
<AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile> <AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="log4net, Version=3.0.3.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL"> <Reference Include="log4net, Version=3.2.0.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.3.0.3\lib\net462\log4net.dll</HintPath> <HintPath>..\packages\log4net.3.2.0\lib\net462\log4net.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Configuration" /> <Reference Include="System.Configuration" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="log4net" version="3.0.3" targetFramework="net48" /> <package id="log4net" version="3.2.0" targetFramework="net48" />
</packages> </packages>

View File

@ -40,8 +40,8 @@
<AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile> <AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="log4net, Version=3.0.3.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL"> <Reference Include="log4net, Version=3.2.0.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.3.0.3\lib\net462\log4net.dll</HintPath> <HintPath>..\packages\log4net.3.2.0\lib\net462\log4net.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Configuration" /> <Reference Include="System.Configuration" />
@ -52,8 +52,8 @@
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Xml" /> <Reference Include="System.Xml" />
<Reference Include="WinSCPnet, Version=1.15.0.15073, Culture=neutral, PublicKeyToken=2271ec4a3c56d0bf, processorArchitecture=MSIL"> <Reference Include="WinSCPnet, Version=1.16.0.16364, Culture=neutral, PublicKeyToken=2271ec4a3c56d0bf, processorArchitecture=MSIL">
<HintPath>..\packages\WinSCP.6.3.6\lib\net40\WinSCPnet.dll</HintPath> <HintPath>..\packages\WinSCP.6.5.3\lib\net40\WinSCPnet.dll</HintPath>
</Reference> </Reference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -93,12 +93,12 @@
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\WinSCP.6.3.6\build\WinSCP.targets" Condition="Exists('..\packages\WinSCP.6.3.6\build\WinSCP.targets')" /> <Import Project="..\packages\WinSCP.6.5.3\build\WinSCP.targets" Condition="Exists('..\packages\WinSCP.6.5.3\build\WinSCP.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup> <PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup> </PropertyGroup>
<Error Condition="!Exists('..\packages\WinSCP.6.3.6\build\WinSCP.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\WinSCP.6.3.6\build\WinSCP.targets'))" /> <Error Condition="!Exists('..\packages\WinSCP.6.5.3\build\WinSCP.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\WinSCP.6.5.3\build\WinSCP.targets'))" />
</Target> </Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="log4net" version="3.0.3" targetFramework="net48" /> <package id="log4net" version="3.2.0" targetFramework="net48" />
<package id="WinSCP" version="6.3.6" targetFramework="net48" /> <package id="WinSCP" version="6.5.3" targetFramework="net48" />
</packages> </packages>

View File

@ -0,0 +1,92 @@
// Copyright (c) 2024-present schick Informatik
// Description: Collection of classes for the customs XML upload app
using System;
using System.Collections.ObjectModel;
using System.Xml.Serialization;
namespace bsmd.database.EasyPeasy
{
// Root: <proofRequest>
[XmlRoot("proofRequest")]
public class ProofRequest
{
public string DelegateIdentificationType { get; set; }
public string TraderIdentificationType { get; set; }
public string LRN { get; set; }
public string TraderIdentificationNumber { get; set; }
public string Country { get; set; }
public ProofInformationT2LT2LF ProofInformationT2LT2LF { get; set; }
public string DelegateIdentificationNumber { get; set; }
}
public class ProofInformationT2LT2LF
{
public string CompetentCustomsOffice { get; set; }
public string DeclarationType { get; set; }
public DateTime DeclarationDate { get; set; }
public decimal TotalGrossMassKg { get; set; }
public RequestedValidityOfTheProof RequestedValidityOfTheProof { get; set; }
public GoodsShipmentForT2LT2LF GoodsShipmentForT2LT2LF { get; set; }
public string RequestType { get; set; }
}
public class RequestedValidityOfTheProof
{
public int NumberOfDays { get; set; }
}
public class GoodsShipmentForT2LT2LF
{
public bool ContainerIndication { get; set; }
public LocationOfGoods LocationOfGoods { get; set; }
[XmlElement("GoodsItemsForT2LT2LF")]
public ObservableCollection<GoodsItemForT2LT2LF> GoodsItemsForT2LT2LF { get; set; } = new ObservableCollection<GoodsItemForT2LT2LF>();
public TransportDocuments TransportDocuments { get; set; }
}
public class LocationOfGoods
{
public string TypeOfLocation { get; set; }
public string QualifierOfIdentification { get; set; }
public string UNLocode { get; set; }
}
public class GoodsItemForT2LT2LF
{
public Commodity Commodity { get; set; } = new Commodity();
public int GoodsItemNumber { get; set; }
public string DescriptionOfGoods { get; set; }
public GoodsMeasure GoodsMeasure { get; set; } = new GoodsMeasure();
public Packaging Packaging { get; set; } = new Packaging();
}
public class Commodity
{
public string HarmonizedSystemSubHeadingCode { get; set; }
}
public class GoodsMeasure
{
public decimal GrossMass { get; set; }
public decimal NetMass { get; set; }
}
public class Packaging
{
public string ShippingMarks { get; set; }
public int NumberOfPackages { get; set; }
public string TypeOfPackages { get; set; }
}
public class TransportDocuments
{
public string Type { get; set; }
public string ReferenceNumber { get; set; }
}
}

View File

@ -6,9 +6,6 @@ using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
using System.Data.SqlClient; using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace bsmd.database namespace bsmd.database
{ {

View File

@ -34,37 +34,64 @@ namespace bsmd.database
public static void Enqueue(Message.NSWProvider provider, Message message) public static void Enqueue(Message.NSWProvider provider, Message message)
{ {
// Validate inputs
if (message == null)
{
_log.ErrorFormat("Enqueue called with null message for provider {0}", provider);
return;
}
if (!message.Id.HasValue)
{
_log.ErrorFormat("Enqueue called with message that has no Id assigned for provider {0}", provider);
return;
}
if (!_telemetry.ContainsKey(provider)) if (!_telemetry.ContainsKey(provider))
_telemetry.Add(provider, new Dictionary<Guid, MessageTelemetry>()); _telemetry.Add(provider, new Dictionary<Guid, MessageTelemetry>());
if (_telemetry[provider].ContainsKey(message.Id.Value)) Guid messageId = message.Id.Value;
if (_telemetry[provider].ContainsKey(messageId))
{ {
_telemetry[provider][message.Id.Value].NumTries++; _telemetry[provider][messageId].NumTries++;
} }
else else
{ {
MessageTelemetry mt = new MessageTelemetry(); MessageTelemetry mt = new MessageTelemetry();
mt.SendDate = DateTime.Now; mt.SendDate = DateTime.Now;
mt.NumTries = 1; mt.NumTries = 1;
_telemetry[provider][message.Id.Value] = mt; _telemetry[provider][messageId] = mt;
} }
} }
public static void Dequeue(Message.NSWProvider provider, Message message) public static void Dequeue(Message.NSWProvider provider, Message message)
{ {
if (message == null)
{
_log.ErrorFormat("Dequeue called with null message for provider {0}", provider);
return;
}
if (!message.Id.HasValue)
{
_log.ErrorFormat("Dequeue called with message that has no Id assigned for provider {0}", provider);
return;
}
if (_telemetry.ContainsKey(provider)) if (_telemetry.ContainsKey(provider))
{ {
if (_telemetry[provider].ContainsKey(message.Id.Value)) Guid messageId = message.Id.Value;
if (_telemetry[provider].ContainsKey(messageId))
{ {
MessageTelemetry mt = _telemetry[provider][message.Id.Value]; MessageTelemetry mt = _telemetry[provider][messageId];
_log.InfoFormat("[{0,10}][{1,8}][{2:00000}][{3:00}] ",provider, message.MessageNotificationClassDisplay, (DateTime.Now - mt.SendDate).TotalSeconds, mt.NumTries); _log.InfoFormat("[{0,10}][{1,8}][{2:00000}][{3:00}] ", provider, message.MessageNotificationClassDisplay, (DateTime.Now - mt.SendDate).TotalSeconds, mt.NumTries);
_telemetry[provider].Remove(message.Id.Value); _telemetry[provider].Remove(messageId);
} }
else else
{ {
// this can happen if the service gets re-started and not all sent messages have yet been received
_log.WarnFormat("trying to deque a message from telemetry that we don't know about. Provider: {0} MessageId: {1}", _log.WarnFormat("trying to deque a message from telemetry that we don't know about. Provider: {0} MessageId: {1}",
provider.ToString(), message.Id.Value); provider.ToString(), messageId);
} }
} }
} }

View File

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

View File

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

View File

@ -98,7 +98,7 @@ namespace bsmd.database
public int CompareTo(object obj) public int CompareTo(object obj)
{ {
if (obj is WasteDisposalServiceProvider_Template template) if (obj is WasteDisposalServiceProvider_Template template)
this.Remark?.CompareTo(template.Remark ?? ""); return this.Remark?.CompareTo(template.Remark ?? "") ?? 0;
return 0; return 0;
} }

View File

@ -93,7 +93,7 @@
<HintPath>..\ENI2\packages\log4net.3.2.0\lib\net462\log4net.dll</HintPath> <HintPath>..\ENI2\packages\log4net.3.2.0\lib\net462\log4net.dll</HintPath>
</Reference> </Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\ENI2\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> <HintPath>..\packages\Newtonsoft.Json.13.0.4\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference> </Reference>
<Reference Include="PresentationCore" /> <Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" /> <Reference Include="PresentationFramework" />
@ -119,6 +119,7 @@
<Compile Include="Customer.cs" /> <Compile Include="Customer.cs" />
<Compile Include="DatabaseEntityAsync.cs" /> <Compile Include="DatabaseEntityAsync.cs" />
<Compile Include="DBManagerAsync.cs" /> <Compile Include="DBManagerAsync.cs" />
<Compile Include="EasyPeasy.cs" />
<Compile Include="Extensions.cs" /> <Compile Include="Extensions.cs" />
<Compile Include="HAZ.cs" /> <Compile Include="HAZ.cs" />
<Compile Include="HAZPosTemplate.cs" /> <Compile Include="HAZPosTemplate.cs" />

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="log4net" version="3.2.0" targetFramework="net48" /> <package id="log4net" version="3.2.0" targetFramework="net48" />
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" /> <package id="Newtonsoft.Json" version="13.0.4" targetFramework="net48" />
</packages> </packages>

View File

@ -38,8 +38,8 @@
<AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile> <AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="log4net, Version=3.0.3.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL"> <Reference Include="log4net, Version=3.2.0.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.3.0.3\lib\net462\log4net.dll</HintPath> <HintPath>..\packages\log4net.3.2.0\lib\net462\log4net.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Configuration" /> <Reference Include="System.Configuration" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="log4net" version="3.0.3" targetFramework="net48" /> <package id="log4net" version="3.2.0" targetFramework="net48" />
</packages> </packages>

View File

@ -85,6 +85,18 @@ namespace bsmd.hisnord
bool? retval; bool? retval;
try try
{ {
if (core == null)
{
_log.ErrorFormat("CreateSendFile called with null core");
return false;
}
if (!core.Id.HasValue)
{
_log.ErrorFormat("CreateSendFile called with core that has no Id assigned");
return false;
}
nsw _nsw = new nsw(); nsw _nsw = new nsw();
_nsw.conveyance = new conveyance(); _nsw.conveyance = new conveyance();
@ -121,8 +133,9 @@ namespace bsmd.hisnord
_nsw.conveyance.owner_sender.contact.phone = rp.Phone; _nsw.conveyance.owner_sender.contact.phone = rp.Phone;
_nsw.conveyance.owner_sender.contact.fax = rp.Fax; _nsw.conveyance.owner_sender.contact.fax = rp.Fax;
_nsw.document_reference = core.Id.Value.ToString(); Guid coreId = core.Id.Value;
_nsw.conveyance.code = core.Id.ToString(); _nsw.document_reference = coreId.ToString();
_nsw.conveyance.code = coreId.ToString();
if (!core.VisitId.IsNullOrEmpty()) if (!core.VisitId.IsNullOrEmpty())
{ {

View File

@ -38,8 +38,8 @@
<AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile> <AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="log4net, Version=3.0.3.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL"> <Reference Include="log4net, Version=3.2.0.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.3.0.3\lib\net462\log4net.dll</HintPath> <HintPath>..\packages\log4net.3.2.0\lib\net462\log4net.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Configuration" /> <Reference Include="System.Configuration" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="log4net" version="3.0.3" targetFramework="net48" /> <package id="log4net" version="3.2.0" targetFramework="net48" />
</packages> </packages>

View File

@ -38,8 +38,8 @@
<AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile> <AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="log4net, Version=3.0.3.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL"> <Reference Include="log4net, Version=3.2.0.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.3.0.3\lib\net462\log4net.dll</HintPath> <HintPath>..\packages\log4net.3.2.0\lib\net462\log4net.dll</HintPath>
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Configuration" /> <Reference Include="System.Configuration" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="log4net" version="3.0.3" targetFramework="net48" /> <package id="log4net" version="3.2.0" targetFramework="net48" />
</packages> </packages>

View File

@ -7,6 +7,7 @@ Acrylonitrile (ACN) ;S/P;2;<60°C;2;Ja;IBC;;;;;;;;x (Y);1;;;;
Alcoholic beverages, n.o.s. (Wine);;;;; ;IBC;;;;;;;;x (Z);2;;;; Alcoholic beverages, n.o.s. (Wine);;;;; ;IBC;;;;;;;;x (Z);2;;;;
Alkanes (C6-C9);S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (X);0;;;; Alkanes (C6-C9);S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (X);0;;;;
n-Alkanens (C10+) ;;;>60°C;1;Ja;IBC;;;;;;;;x (Y);1;;;; n-Alkanens (C10+) ;;;>60°C;1;Ja;IBC;;;;;;;;x (Y);1;;;;
Alumina (( = Aluminiumoxid) => ist nicht anzumelden als DG));;;;;;;;;;;;;;;;;;;
Alkylate;;;<60°C;2; ;MARPOL;;;;;;;;;;x;;6; Alkylate;;;<60°C;2; ;MARPOL;;;;;;;;;;x;;6;
Alumina hydrate / Aluminiumhydroxid;;;;;;IMSBC;x;y;;A/B;;;;;;;;; Alumina hydrate / Aluminiumhydroxid;;;;;;IMSBC;x;y;;A/B;;;;;;;;;
alpha-Methylstyrene ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;; alpha-Methylstyrene ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
@ -75,7 +76,7 @@ Dolomitic quicklime;;;;; ;IMSBC;x;y;;B;1;;;;;;;;
Eisen II Sulphat;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C Eisen II Sulphat;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
Eisensilikat granulat / Iron Silicate Granules;;;;;;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C Eisensilikat granulat / Iron Silicate Granules;;;;;;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
Energy Rich Fuel / Neste Renewable Diesel / NExBTL / HVO / Hydrotreated Vegetable Oils;;;>60°C;1;;;;;;;;;;;;;;;siehe Bemerkung NExBTL - Renewable Diesel Energy Rich Fuel / Neste Renewable Diesel / NExBTL / HVO / Hydrotreated Vegetable Oils;;;>60°C;1;;;;;;;;;;;;;;;siehe Bemerkung NExBTL - Renewable Diesel
Ethyl acetate ;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;; Ethyl acetate ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;;
Ethanol / Ethyl alcohol / Grain alcohol / Drinking alcohol;;;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;; Ethanol / Ethyl alcohol / Grain alcohol / Drinking alcohol;;;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;;
Ethylene glycol / (Mono-)Ethylenglycol / MEG / Glycol;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Z);2;;;; Ethylene glycol / (Mono-)Ethylenglycol / MEG / Glycol;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Z);2;;;;
Ethyl tert-butyl ether / ETBE ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;; Ethyl tert-butyl ether / ETBE ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
@ -91,7 +92,7 @@ Ferrochrom;;;;;;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
Ferrosilicochrom 40 / Ferrosilicon;;;;; ;IMSBC;x;;;B;1;1408;4.3;;;;;; Ferrosilicochrom 40 / Ferrosilicon;;;;; ;IMSBC;x;;;B;1;1408;4.3;;;;;;
FERROUS METAL / BORINGS / SHAVINGS / TURNINGS / CUTTINGS;;;;; ;IMSBC;x;;;B;1;2793;4.2;;;;;; FERROUS METAL / BORINGS / SHAVINGS / TURNINGS / CUTTINGS;;;;; ;IMSBC;x;;;B;1;2793;4.2;;;;;;
FERTILIZER POTASH (PINK GRANULATED MURIATE OF POTASH);;;;;;IMSBC;x;;;;;;;;;;;; FERTILIZER POTASH (PINK GRANULATED MURIATE OF POTASH);;;;;;IMSBC;x;;;;;;;;;;;;
Fish Meal treated with Antioxidant;;;;; ;IMSBC;x;;;B;1;2216;9;;;;;;wenn Ladehafen Bremen dann Gruppe C und nicht anzumelden Fish Meal - self-heating ;;;;; ;IMSBC;x;n;;B;1; ; ;;;;;;Dieses Gefahrgut wird OHNE MHB und OHNE IMO/UN Nummer abgesendet. Wenn Ladehafen Bremen dann Gruppe C und nicht anzumelden. (Stand 29.10.2025)
Fishoil;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y) ;;;;; Fishoil;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y) ;;;;;
Fish Silage Protein Concentrate (containing 4% or less formic acid);P;0;NF;0;Nein;IBC;;;;;;;;x (Y) ;;;;; Fish Silage Protein Concentrate (containing 4% or less formic acid);P;0;NF;0;Nein;IBC;;;;;;;;x (Y) ;;;;;
Fish protein concentrate (containing 4% or less formic acid);P;0;NF;0;Nein;IBC;;;;;;;;x (Z);2;;;; Fish protein concentrate (containing 4% or less formic acid);P;0;NF;0;Nein;IBC;;;;;;;;x (Z);2;;;;
@ -110,6 +111,7 @@ Ground Colemanite;;;;; ;;;;;;;;;;;;;;Keine Anmeldung
Gypsum / Gips;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C Gypsum / Gips;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
HCGO / Heavy Cycle Gas Oil;;;;; ;MARPOL;;;;;;;;;;x;;; HCGO / Heavy Cycle Gas Oil;;;;; ;MARPOL;;;;;;;;;;x;;;
HFO ;;;;;;MARPOL;;;;;;;;;;x;;; HFO ;;;;;;MARPOL;;;;;;;;;;x;;;
Hot roiled coils (HRC);;;;;;;;;;;;;;;;;;;Keine Anmeldung
Holzstämme / Wooden Poles;;;;; ;IMSBC;x;y;;B;1;;;;;;;;Nur wenn unter Deck, nur wenn in Loser Schüttung! Holzstämme / Wooden Poles;;;;; ;IMSBC;x;y;;B;1;;;;;;;;Nur wenn unter Deck, nur wenn in Loser Schüttung!
Hydrochloric Acid;S/P;2;NF;0;Nein;IBC;;;;;;;;x (Z);2;;;NF; Hydrochloric Acid;S/P;2;NF;0;Nein;IBC;;;;;;;;x (Z);2;;;NF;
Hydrocarbon Wax / PROWAX 312;S/P;2;>60°C;1;Ja;IBC;;;;;;;;x (X);0;;;; Hydrocarbon Wax / PROWAX 312;S/P;2;>60°C;1;Ja;IBC;;;;;;;;x (X);0;;;;
@ -295,5 +297,4 @@ Wooden poles / Holzstämme;;;;; ;IMSBC;x;y;;B;1;;;;;;;;NUR UNTER DECK (in Luken)
Xylenes / Ortho-Xylene / Para Xylene;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y);1; ;;; Xylenes / Ortho-Xylene / Para Xylene;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y);1; ;;;
Zellulose / Cellulose / Wood pulp;;;;; ;;;;;;;;;;;;;;"Keine Anmeldung, Zellulose / Cellulose / Wood pulp;;;;; ;;;;;;;;;;;;;;"Keine Anmeldung,
Nur falls Bulk-Ladung" Nur falls Bulk-Ladung"
Zinc Concentrates / MRM BULK CONCENTRATES / Mineral Concentrates;;;;; ;IMSBC;x;;;A;0;3077;9;;;;;;"Nachfragen ob als Mineral Concentrates (3077/9) oder METAL SULPHIDE CONCENTRATES (MHB) (""Shippers declaration for solid bulk cargos"" anfordern oder auch ""Cargo information for solid bulk cargos""" Zinc Concentrates / MRM BULK CONCENTRATES / Mineral Concentrates / METAL SULPHIDE CONCENTRATES;;;;; ;IMSBC;x;;;A;0;;;;;;;;Dieses Gefahrgut wird OHNE MHB und OHNE IMO/UN Nummer abgesendet. Eine gelbe Violation-Meldung aus dem NSW ist zu ignorieren
Zinc Concentrates / MRM BULK CONCENTRATES / METAL SULPHIDE CONCENTRATES;;;;; ;IMSBC;x;y;;A/B;2;;;;;;;;"Nachfragen ob als Mineral Concentrates (3077/9) oder METAL SULPHIDE CONCENTRATES (MHB) (""Shippers declaration for solid bulk cargos"" anfordern oder auch ""Cargo information for solid bulk cargos"""

1 Beschreibung Gefahr HAZARD_ENUM FP FP_ENUM 15.19? Typ IMSBC MHB IMSBC_MHB Group IMSBC_HAZ UN-Nr. IMO-Cl. IBC POLLUTION_CATEGORY_ENUM MARPOL IGC FP_IBC Bemerkung
7 Alcoholic beverages, n.o.s. (Wine) IBC x (Z) 2
8 Alkanes (C6-C9) S/P 2 <60°C 2 Nein IBC x (X) 0
9 n-Alkanens (C10+) >60°C 1 Ja IBC x (Y) 1
10 Alumina (( = Aluminiumoxid) => ist nicht anzumelden als DG))
11 Alkylate <60°C 2 MARPOL x 6
12 Alumina hydrate / Aluminiumhydroxid IMSBC x y A/B
13 alpha-Methylstyrene S/P 2 <60°C 2 Nein IBC x (Y) 1
76 Eisensilikat granulat / Iron Silicate Granules Keine Anmeldung, IMSBC Gruppe C
77 Energy Rich Fuel / Neste Renewable Diesel / NExBTL / HVO / Hydrotreated Vegetable Oils >60°C 1 siehe Bemerkung NExBTL - Renewable Diesel
78 Ethyl acetate P S/P 0 2 <60°C 2 Nein IBC x (Z) 2
79 Ethanol / Ethyl alcohol / Grain alcohol / Drinking alcohol <60°C 2 Nein IBC x (Z) 2
80 Ethylene glycol / (Mono-)Ethylenglycol / MEG / Glycol S/P 2 >60°C 1 Nein IBC x (Z) 2
81 Ethyl tert-butyl ether / ETBE S/P 2 <60°C 2 Nein IBC x (Y) 1
82 Ethylene IGC 1038 2.1 X
92 FERROUS METAL / BORINGS / SHAVINGS / TURNINGS / CUTTINGS IMSBC x B 1 2793 4.2
93 FERTILIZER POTASH (PINK GRANULATED MURIATE OF POTASH) IMSBC x
94 Fish Meal treated with Antioxidant Fish Meal - self-heating IMSBC x n B 1 2216 9 wenn Ladehafen Bremen dann Gruppe C und nicht anzumelden Dieses Gefahrgut wird OHNE MHB und OHNE IMO/UN Nummer abgesendet. Wenn Ladehafen Bremen dann Gruppe C und nicht anzumelden. (Stand 29.10.2025)
95 Fishoil S/P 2 >60°C 1 Nein IBC x (Y)
96 Fish Silage Protein Concentrate (containing 4% or less formic acid) P 0 NF 0 Nein IBC x (Y)
97 Fish protein concentrate (containing 4% or less formic acid) P 0 NF 0 Nein IBC x (Z) 2
98 FLUORSPAR / Flussspat IMSBC x y B 1
111 HCGO / Heavy Cycle Gas Oil MARPOL x
112 HFO MARPOL x
113 Holzstämme / Wooden Poles Hot roiled coils (HRC) IMSBC x y B 1 Nur wenn unter Deck, nur wenn in Loser Schüttung! Keine Anmeldung
114 Holzstämme / Wooden Poles IMSBC x y B 1 Nur wenn unter Deck, nur wenn in Loser Schüttung!
115 Hydrochloric Acid S/P 2 NF 0 Nein IBC x (Z) 2 NF
116 Hydrocarbon Wax / PROWAX 312 S/P 2 >60°C 1 Ja IBC x (X) 0
117 Hydro Cracker Bottoms MARPOL x
297
298
299
300

Binary file not shown.

View File

@ -1,299 +0,0 @@
Beschreibung;Gefahr;HAZARD_ENUM;FP;FP_ENUM;15.19?;Typ;IMSBC;MHB;IMSBC_MHB;Group;IMSBC_HAZ;UN-Nr.;IMO-Cl.;IBC;POLLUTION_CATEGORY_ENUM;MARPOL;IGC;FP_IBC;Bemerkung
1,3 Pentadiene / Piperylene;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Acetic acid ;S/P;2;<60°C;2;Ja;IBC;;;;;;;;x (Z);2;;;;
Acetic acid glacial;S/P;2;<60°C;2;Ja;IBC;;;;;;;;x (Z);2;;;;
Acetone ;;;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;;
Acrylonitrile (ACN) ;S/P;2;<60°C;2;Ja;IBC;;;;;;;;x (Y);1;;;;
Alcoholic beverages, n.o.s. (Wine);;;;; ;IBC;;;;;;;;x (Z);2;;;;
Alkanes (C6-C9);S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (X);0;;;;
n-Alkanens (C10+) ;;;>60°C;1;Ja;IBC;;;;;;;;x (Y);1;;;;
Alkylate;;;<60°C;2; ;MARPOL;;;;;;;;;;x;;6;
Alumina hydrate / Aluminiumhydroxid;;;;;;IMSBC;x;y;;A/B;;;;;;;;;
alpha-Methylstyrene ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Ammonia aqueous (28% or less);S/P;2;NF;0;Ja;IBC;;;;;;;;x (Y);1;;;NF;
Ammonia / Anhydrous / Ammoniak;;;;; ;IGC;;;;;;1005;2.3;;;;x;;
Ammoniak Liquid 24,5% ;S/P;2;;;Ja;IBC;;;;;;;;x (Y);1;;;;
Ammonium Nitrate Fertilizer ;;;;; ;IMSBC;x;;;B;1;2067;5.1;;;;;;
Ammonium Nitrate with not more than 0,2% total;;;;; ;IMSBC;x;;;B;1;1942;5.1;;;;;;
Ammonium Polyphosphate Solution (APP) ;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Z);2;;;;
Ammonium Sulphate;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
Ammonium nitrate solution (93% or less) ;S/P;2;NF;0;Nein;IBC;;;;;;;;x (Y);1;;;;
Ammonium thiosulphate solution (60% or less);S/P;2;NF;0;Nein;IBC;;;;;;;;x (Z);2;;;;
Aniline ;S/P;2;>60°C;1;Ja;IBC;;;;;;;;x (Y);1;;;;
Anthracene Oil;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (X);0;;;;
Anthracite / Coal / Kohle;;;;; ;IMSBC;x;y;;A/B;2;;;;;;;;Gruppe: B (und A)
ATRES / RAT / Atmospheric Residues / Residues (petroleum) atmospheric (APS Bottoms Resid A);;;>60°C;1;;MARPOL;;;;;;;;;;x;;;
AVGAS / Aviation Gasoline / Flugbenzin;;;;;;MARPOL;;;;;;;;;;x;;;
BALED RDF;;;;;;IMSBC;x ;y;;B;1;;;;;;;;
Base Oil / Lubricating oil / SN150/ SN500 / SN900 / BS20 / NYTEX 4700 / T9 / T600 / T150 ANR / VISOM 4 / Ultra S4 / Bright Stock / QHVI4 / QHVI8 / VHVI-4 = DISTILLATES (PETROLEUM) / HYDROTREATED HEAVY PARAFFINIC,;;;>60°C;1; ;MARPOL;;;;;;;;;;x;;;
Benzene / Benzol;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;-11;
Biodiesel / FAME - Fatty acid methyl esters;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y) ;;;;;
Bitumen ;;;>60°C;1;;MARPOL;;;;;;;;;;x;;;
Blei in Blöcken / Lead Ingots;;;;;;;;;;;;;;;;;;; kein Gefahrgut! Aussage Herr Jnassen Rhenus Midgard Nordenham (tel. 21.07.2021)
Butan;;;;;;IGC;;;;;;1011;2.1;;;;x;;
Butene / Buthylen;;;;;;IGC;;;;;;1012;2.1;;;;x;;
Butyl acrylate (all isomers);S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Calcined clay / Kalzinierter Ton;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
C9 Petroleum Resin;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Calcium Ammonium Nitrate 27% N / CAN (in Big BAG);;;;; ;;;;;;;;;;;;;;Keine Anmeldung lt. Aussage von Wasserschutzpolizeit Hamburg
Calcium Ammonium Nitrate 27% N / CAN (in BULK);;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
Calcium Chloride Solution;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Z);2;;;;
CARBON BLACK FEEDSTOCK / D8 / ANTHRACENE OIL;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (X);0;x;;;nach Sicherheitsdatenblatt fragen kann IBC oder Marpol sein
Carbon Black Oil Propylene Oxide;;;;;;MARPOL;;;;;;;;;;x;;;
Carbon Dioxide;;;;; ;IGC;;;;;;1013;2.2;;;;x;;
Caromax 28 ;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (X);0;;;;
Caustic potash / Potassium hydroxide solution / Kalilauge ;S/P;2;NF;0;Ja;IBC;;;;;;;;x (Y);1;;;;
Caustic soda / Sodium hydroxide solution / Natronlauge;S/P;2;NF;0; Ja;IBC;;;;;;;;x (Y);1;;;;
China Clay;;;;; ;;;;;;;;;;;;;;Keine Anmeldung lt. Aussage von Herrn Schlicht (S+B) in Absprache mit Wasserschutz
Clay / TON;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
Coal / Kohle / Anthracite;;;;;;IMSBC;x;y;;A/B;2;;;;;;;;Gruppe: B (und A)
Coal Tar ,;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (X);0;;;;
Coal Tar Pitch (Flüssig);S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (X);0;;;;
Coal Tar Pitch / Steinkohlenteerpech (FEST);;;;;;IMSBC;x;y;;B;1;;;;;;;;
Coconut oil ;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
COKE BREEZE / Koksgrus;;;;; ;IMSBC;x;;;A;0;;;;;;;;
Used cooking oil (mit Triglycerides, C16-C18 and C18 unsaturated) ;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Used cooking oil (wenn Triglycerides nicht ausdrücklich ausgewiesen) ;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (X);0;;;;
Copper concentrates ;;;;; ;IMSBC;x;;;A;0;3077;9;;;;;;
Copper concentrates (Metal Sulphide Concentrates);;;;; ;IMSBC;x;y;;A/B;2;;;;;;;;
Corn Oil , ;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Creosete Oil ;S/P;2;>60°C;1;Ja;IBC;;;;;;;;x (X);0;;;;
Crude Benzene and mixtures having 10% benzene or more ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Cumene / Isopropylbenzene ;P;0;<60°C;2;Nein;IBC;;;;;;;;x (y);1;;;;
Cutterstock / Cutter;;;;; ;MARPOL;;;;;;;;;;x;;;
Cyclohexane;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
DDGS Pellets / Dried Distiller Grains with solubles;;;;;;;;;;;;;;;;;;;Keine Anmeldung
DINP DIALKYL / Diisononylphthalat;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (X);0;;;;
Distillate Hydrocrackers / DHC;;;;; ;MARPOL;;;;;;;;;;x;;;Bottoms Raw marterial for chemical industry Feedingstock for mineral oil industry
DIAMMONIUM PHOSPHATE / DAP;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
1,1- Dichloroethane;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;;
DIRECT REDUCED IRON;;;;; ;IMSBC;x;y;;B;1;;;;;;;;
"Distillate / D10V / LVG / D8C / D10C / D10JUB / D 600 / D 700 / D 2000
";;;;; ;MARPOL;;;;;;;;;;x;;;
DOLOMITE;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C, evtl. Ist auch Dolomitic quicklime gemeint, Nachfragen
Dolomitic quicklime;;;;; ;IMSBC;x;y;;B;1;;;;;;;;
Eisen II Sulphat;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
Eisensilikat granulat / Iron Silicate Granules;;;;;;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
Energy Rich Fuel / Neste Renewable Diesel / NExBTL / HVO / Hydrotreated Vegetable Oils;;;>60°C;1;;;;;;;;;;;;;;;siehe Bemerkung NExBTL - Renewable Diesel
Ethyl acetate ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;;
Ethanol / Ethyl alcohol / Grain alcohol / Drinking alcohol;;;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;;
Ethylene glycol / (Mono-)Ethylenglycol / MEG / Glycol;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Z);2;;;;
Ethyl tert-butyl ether / ETBE ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Ethylene;;;;; ;IGC;;;;;;1038;2.1;;;;X;;
ETHYLENE DICHLORIDE (ETD oder EDC) ;S/P;2;<60°C;2;Ja;IBC;;;;;;1184;;x (Y) ;;;;;
Etibor / BORAX / PENTAHYDRATE CRUDE;;;;; ;;;;;;;;;;;;;;Keine Anmeldung
EXTRAIT / Vacuum gas oil;;;;;;MARPOL;;;;;;;;;;x;;;
Fatty acids, (C16+);P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y) ;;;;;
FAME / Fatty acid methyl esters / Biodiesel ,;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y) ;;;;;
Feed Phosphate / Monocalcium Phosphate;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
Ferroalloys / Ferro Silico Mangan / Ferrolegierung (unter 20 %);;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
Ferrochrom;;;;;;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
Ferrosilicochrom 40 / Ferrosilicon;;;;; ;IMSBC;x;;;B;1;1408;4.3;;;;;;
FERROUS METAL / BORINGS / SHAVINGS / TURNINGS / CUTTINGS;;;;; ;IMSBC;x;;;B;1;2793;4.2;;;;;;
FERTILIZER POTASH (PINK GRANULATED MURIATE OF POTASH);;;;;;IMSBC;x;;;;;;;;;;;;
Fish Meal treated with Antioxidant;;;;; ;IMSBC;x;;;B;1;2216;9;;;;;;wenn Ladehafen Bremen dann Gruppe C und nicht anzumelden
Fishoil;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y) ;;;;;
Fish Silage Protein Concentrate (containing 4% or less formic acid);P;0;NF;0;Nein;IBC;;;;;;;;x (Y) ;;;;;
Fish protein concentrate (containing 4% or less formic acid);P;0;NF;0;Nein;IBC;;;;;;;;x (Z);2;;;;
FLUORSPAR / Flussspat;;;;; ;IMSBC;x;y;;B;1;;;;;;;;
Fly Ash;;;;; ;;;;;;;;;;;;;;Keine Anmeldung
Formaldehyde solutions / Formalin ;S/P;2;>60°C;1;Ja;IBC;;;;;;;;x (Y);1;;;;
FORMIC ACID (85% or less acid) , ;S/P;2;>60°C;1;Ja;IBC;;;;;;;;x (Y);1;;;;
FORMIC ACID (over 85% acid) , ;S/P;2;<60°C;2;Ja;IBC;;;;;;;;x (Y);1;;;;
Foundry Coke / Gießereikoks /COKE;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
Fraction C6 (containing benzene);S/P;2;>60°C;1;;IBC;;;;;;;;x (Y);1;;;;
Gas Condensate;;;<60°C;2; ;MARPOL;;;;;;;;;;x;;;
GAS OIL / Light Cycle Oil;;;>60°C;1; ;MARPOL;;;;;;;;;;x;;;
Gasoline blending stocks / Reformates / Gasoline blending stocks / polymer-fuel /Gasoline blending stocks / alkylates-fuel;;;;; ;MARPOL;;;;;;;;;;x;;;
Glycerine;S;1;>60°C;1;Nein;IBC;;;;;;;;x (Z);2;;;;
Ground Colemanite;;;;; ;;;;;;;;;;;;;;Keine Anmeldung
Gypsum / Gips;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
HCGO / Heavy Cycle Gas Oil;;;;; ;MARPOL;;;;;;;;;;x;;;
HFO ;;;;;;MARPOL;;;;;;;;;;x;;;
Hot roiled coils (HRC);;;;;;;;;;;;;;;;;;;Keine Anmeldung
Holzstämme / Wooden Poles;;;;; ;IMSBC;x;y;;B;1;;;;;;;;Nur wenn unter Deck, nur wenn in Loser Schüttung!
Hydrochloric Acid;S/P;2;NF;0;Nein;IBC;;;;;;;;x (Z);2;;;NF;
Hydrocarbon Wax / PROWAX 312;S/P;2;>60°C;1;Ja;IBC;;;;;;;;x (X);0;;;;
Hydro Cracker Bottoms ;;;;;;MARPOL;;;;;;;;;;x;;;
Hydrotreated Renewable Oil ;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
IFO380 ;;;>60°C;1; ;MARPOL;;;;;;;;;;x;;;
ILMENITE CLAY / Ilmenit-Ton;;;;; ;IMSBC;x;;;;;;;;;;;;Anmerkung: Ilmenite für Nordenham= Ilmenit Sand - keine Anmeldung als GG
ILMENITE Concentrate;;;;;;IMSBC;x;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
IRON ORE / Eisenerz;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
IRON ORE / Eisenerz (FINES);;;;;;IMSBC;x;;;A;0;;;;;;;;x Kein MHB, ohne UN-/IMO-Nr. senden = geht nur im ENI (JGegis will eine Auswahl)
Iso- and cyclo-alkanes (C12+) / LIAV270 ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Iso- and cyclo-alkanes (C10-C11+) ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Isomerate ;;;<60°C;2;;MARPOL;;;;;;;;;;x ;;;
Isopentane / Pentane ;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Isoprene ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
JET A1 / Normal Russian TS-1 / Kerosin / Kerosene;;;<60°C;2; ;MARPOL;;;;;;;;;;X;;;
Kalk ungeschlöscht / LIME UNSLAKED;;;;; ;IMSBC;x;y;;B;1;;;;;;;;
Odourless Kerosene;;;>60°C;1;;MARPOL;;;;;;;;;;x;;;
Kokospalmenschalen;;;;;;IMSBC;x;;;;;;;;;;;;Keine Anmeldung
Lard / Schmalz;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
LCCS / Light Catalytically Cracked Spirit / Light Catalytically Cracked Naphtha;;;;; ;MARPOL;;;;;;;;;;x;;;
Lecithin ;;;;;;IBC;;;;;;;;x (OS);3;;;;
Lead Concentrate ;;;;; ;IMSBC;x;;;A;0;3077;9;;;;;;"Nachfragen ob als Mineral Concentrates (3077/9) oder METAL SULPHIDE CONCENTRATES (MHB) (""Shippers declaration for solid bulk cargos"" anfordern oder auch ""Cargo information for solid bulk cargos"""
Lead Concentrate (Metal Sulphide Concentrates);;;;; ;IMSBC;x;y;;A/B;2;;;;;;;;"Nachfragen ob als Mineral Concentrates (3077/9) oder METAL SULPHIDE CONCENTRATES (MHB) (""Shippers declaration for solid bulk cargos"" anfordern oder auch ""Cargo information for solid bulk cargos"""
Lead Ingots;;;;;;IBC;;;;;;;; ;;;;;Keine Anmeldung lt. Aussage Herr Jnassen Rhenus Midgard Nordenham (tel. 21.07.2021)
Light Vacuum Gas Oil / Petroleum / Petroleum Hydrocarbons;;;;;;MARPOL;;;;;;;;;;x;;;
Ligninsulphonic Acid / Sodium Salt Solution;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Z);2;;;;
Ligno Sulphonate Sodium / Sulphite Lie (Lye) ;P;0;>60°C;1; ;IBC;;;;;;;;x (Z);2;;;;
Lime ;;;;;;IMSBC;x;y;;B;1;;;;;;;;
Limestone / Kalkstein;;;;; ;;;;;;;;;;;;;;Keine Anmeldung
Liquid petroleum paraffin, fraction of C14-C17 <2% aromatics);P;0;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Lukoil / Crude Oil;;;;; ;MARPOL;;;;;;;;;;x;;;
Magnesium Chloride Solution;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Z);2;;;;
Metal Sulphide Concentrates / Zink / Blei / Silber;;;;; ;IMSBC;x;y;;A/B;2;;;;;;;;
Methanol / Methyl Alcohol ;S/P;2;<60°C;2;Ja;IBC;;;;;;;;x (Y) ;;;;;
Methyl Acrylate ;S/P;2;<60°C;2;Ja;IBC;;;;;;;;x (Y);1;;;;
Methyl Alcohol / Methanol ;S/P;2;<60°C;2;Ja;IBC;;;;;;;;x (Y) ;;;;;
Methyl Isobutyl Ketone ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;;
Methylendiphenylisocyanate / MDI / Polymethylene polyphenyl isocyanate ;S/P;2;>60°C;1;Ja;IBC;;;;;;;;x (Y) ;;;;;
Methyl Methacrylate Monomer / MMM ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y) ;;;;;
Methyl Tert-Butyl Ether / MTBE ;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;;
Mixed Fatty acid / MFA;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y) ;;;;;
Mixed Xylene ;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Molasses;;;NF;0; ;IBC;;;;;;;;x (OS);3;;;;Nicht anmeldepflichtig - Ausnahme: BREMEN (lt Auskunft von Herrn Kraft 09.01.2018)//FÜR BREMEN ANMELDEN ÜBER J GEGIS - an DBH - ohne Visit ID
Monoammonium Phosphate / MAP;;;;; ;;;;;;;;;;;;;;Keine Anmeldung
Monocalcium Phosphate / MCP / Futtermittel;;;;; ;IMSBC;x;y;;A/B;2;;;;;;;;Verpackt (IMDG) nicht anmeldepflichtig
Monoethylen Glycol / MEG;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Z);2;;;;
Muriate of potash / Kaliumchlorid;;;;; ;;;;;;;;;;;;;;Keine Anmeldung
n-Alkanes (C10+) / N-Paraffine / Paraffine Normal;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
N-Butanol / N-BUTYL ALCOHOL;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;;
N-paraffines / N-ALKANES (C10+);P;0;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Naphtha ;;;<60°C;2;;MARPOL;;;;;;;;;;x;;;
Naphthalene / Molten;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (X);0;;;;
Nepherlin Matrix 350 / Sand / Glas / Porzellan;;;;; ;;;;;;;;;;;;;;
NESSOL 40 (Noxious liquid, F, (6) n.o.s White Spirit);P;0;<60°C;2;Ja;IBC;;;;;;;;x (Y);1;;;;
Nessol D40 (Noxious liquid, F, (8) n.o.s. (siehe Noxious liquid…);P;0;<60°C;2;ja;IBC;;;;;;;; ;;;;;
Nessol D60 ( (contains Iso- und Cycloalkanes (C10-C11) (siehe Noxious liquid...);S/P;2;<60°C;2;Nein;IBC;;;;;;;; ;;;;;
Nessol D100 (contains Iso- und Cycloalkanes (C12+) ;S/P;2;<60°C;2;Nein;IBC;;;;;;;; ;;;;;
NExBTL / Renewable Diesel;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;>60;Risks: nicht zu finden in IBC-Code
Refinery NexTAME / Noxious liquid, F, (4) n.o.s. (trade name ...., contains ....) ;;;<60°C;2;Ja;IBC;;;;;;;;x (X);0;;;;
Nickelconzentrat ;;;;;;IMSBC;x;;;A;0;;;;;;;;
Nitric acid (70% and over) ;S/P;2;NF;0;Ja;IBC;;;;;;;;x (Y);1;;;;
Nitric acid (less than 70%) ;S/P;2;NF;0;Ja;IBC;;;;;;;;x (Y);1;;;;
Nonene / All Isomers;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;siehe auch Propylene Trimer
NON OXY EBOB / Gasoline;;;;;;MARPOL;;;;;;;;;;x;;;
Normal Russian TS-1 Kerosene;;;;;;MARPOL;;;;;;;;;;x;;>23;
"Noxious liquid, NF, (5) n.o.s. / Trade Name (Nexbase 3050;3020;3030,3043) / Containscontains Iso- and cyclo-alkanes ";P;0;>60°C;1;Ja;IBC;;;;;;;;x (Y);1;;;;
Noxious liquid, NF(5) n.o.s. LI 220 HF contains White Spirit, low ;P;0;<60°C;2;Ja;IBC;;;;;;;;x (Y);1;;;;
Noxious liquid, NF(5) n.o.s.(Solvesso 100, contains Alkyl (C3-C4) benzenes) ;P;0;<60°C;2;Ja;IBC;;;;;;;;x (Y);1;;;;
Noxious liquid, NF, (7) n.o.s. (Exxsol D80 , contains iso-and cycloalkanes(C12+));P;0;>60°C;1;Ja;IBC;;;;;;;;x (Y);1;;;;
Noxious liquid, NF, (7) n.o.s. ((EXXSOL D60 und auch Nessol D60, contains iso-and cycloalkanes (C10-C11));P;0;>60°C;1;Ja;IBC;;;;;;;;x (Y);1;;;;
Noxious liquid, F, (8) n.o.s. (NESSOL D40 contains Iso- and cycloalkanes (C10-C11)) ;P;0;<60°C;2;ja;IBC;;;;;;;;x (Y);1;;;;
Noxious liquid, F, (11?) n.o.s. (ETHYLOL 95, contains Ethyl alcohol)) ;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;;
NPK Fertilizer / Ammonium Nitrate Based Fertilizer (Non Hazardous);;;;; ;;;;;;;;;;;;;;Keine Anmeldung
Nynas VR5000 / Bitumen;;;>60°C;1;;MARPOL;;;;;;;;;;x;;;
NYTRO TAURUS / Insulating Oil;;;;;;MARPOL;;;;;;;;;;x;;;
Octene;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Odourless Kerosene D70 ;;;;;;MARPOL;;;;;;;;;;x;;;
Olivines / Mineralgemisch gehört Mineralklasse der „Silikate und Germanate“ ;;;;;;;;;;;;;;;;;;;Keine Anmeldung
Olive Stones (crushed) / Seed Cake / Oil Cake;;;;; ;IMSBC;x;;;B;1;1386;4.2;;;;;;
ORTHO-XYLENE ;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Palm fatty acid distillate / PFAD;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Palmkernexpellers / pulverisierte Kernschalen;;;;;;;;;;;;;;;;;;;Keine Anmeldung lt. J.Müller Brake - siehe aber auch SEED CAKE
PALM KERNEL OIL / CPKO / Crude Palm Kernel Oil;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
PALM KERNEL STEARIN ;P;0;>60°C;1;Nein;;;;;;;;;;;;;;
PALM MID-FRACTION ;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
PALM OIL ;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
PALM OLEINE ;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Palm stearin ;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Palmitic Acid ;;;;; ;IBC;;;;;;;;x (Y);1;;;;
n-Paraffins (C10-C20) / N-ALKANES (C10+);P;0;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Paraffin wax, highly-refined ;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Paraffin wax, semi-refined ;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (X);0;;;;
PARA XYLENE ;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Pea Coke;;;;; ;;;;;;;;;;;;;;Keine Anmeldung
PEAT MOSS / Torf;;;;; ;IMSBC;x;y;;A/B;2;;;;;;;;Für den Kielkanal nicht anmelden lt. Rücksprache UCA+Herrn Langbein/01.02.2016 => gültig für UCA/S+B
Peat (milled);;;;; ;;;;;;;;;;;;;;Keine Anmeldung lt. Herrn Schütte für NOK nicht anmelden/09.02.2021
Pentadiene / 1,3-Pentadiene;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Perchloroethylene ;S/P;2;NF;0;Nein;IBC;;;;;;;;x (Y);1;;;;
PETROLEUM COKE / calcined or uncalcined oder Calcined Coke / Petcoke;;;;; ;IMSBC;x;y;;B;1;;;;;;;;
PGI / Propylene Glycol Industrial;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Z);2;;;;
Phenol;S/P;2;>60°C;1;Ja;IBC;;;;;;;;x (Y);1;;;;
Phosphoric Acid ;S/P;2;NF;0;Ja;IBC;;;;;;;;x (Z);2;;;;
PITCH / Pech;;;;; ;IMSBC;x;y;;B;1;;;;;;;;In Bulk/Pitch Verpackt (MSDS = Material Safetey Data Sheet anfordern)
PME / Biodiesel;;;;; ;IBC;;;;;;;;x (Y);1;;;;
Polymethylene Polyphenyl Isocyanate ;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y) ;;;;;
Polyolefin (molecular weight 300+) ;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Potash / Pottasche;;;;; ;;;;;;;;;;;;;;Keine Anmeldung
Potassium Hydroxide Solution / Caustic Potash / Kaliumhydroxidlösung;S/P;2;NF;0;Ja;IBC;;;;;;;;x (Y);1;;;;
Propylbenzene / all isomers;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Propylene;;;;; ;IGC;;;;;;1077;2.2;;;;x;;
Propylene Dichloride / 1,2-DICHLOROPROPANE;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y) ;;;;;
Propylene Glycol Monoalkyl Ether / DOWANOL PM;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;;
Propylene Oxide; ;; ;; ;IGC;;;;;;1280;3;;;;x;;
Propylene Oxide;S/P;2;<60°C;2;Ja;IBC;;;;;;;;x (Y);1;;;;
Propylene Tetramer ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (X);0;;;;
Propylene Trimer ;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Pyrolysis Fuel Oil;;;;; ;IBC;;;;;;;;?;;?;;;
Pyrolysis Gasoline containing benzene / Pygas /Aromatic hydrocarbons / C6-8 / Naphtha-Raffinate Pyrolyzate-derived ;S/P;2;<60°C;2;Nein;IBC;;;;;;;; x (Y) ;;;;;
Pyrite;;;;;;;;;;;;;;;;;;;"Achtung! Kann ""IMSBC: Gruppe C"" (also nicht anmeldepflichig sein) oder auch ""Gruppe: A"" bzw. ""Gruppe: A/B"" (somit Anmeldepflichtig)- beim Kunden nachfragen und ""Shippers declaration for solid bulk cargos"" oder es nennt sich auch ""Cargo information for solid bulk cargos"" anfordern"
Quicklime / Kalk ungelöscht / Lime / Burnt Lime / Un-slaked Lime / Building Lime / Calcia / Fat Lime / Chemical Lime / Fluxing Lime / Hard Burnt Lime / Soft Burnt Lime / Pebble Lime / Calcium Oxide / Calcium Monoxide / Calcined Limestone / Calcium oxide / CaO;;;;;;IMSBC;x;Y;;B;1;;;;;;;;
Rapeseed oil / Rapsöl;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Rape seed oil fatty acid methyl esters ;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
BALED RDF;;;;;;IMSBC;x;y;;B;1;;;;;;;;beim KD/Schiff nach Blatt „Shipper's Declaration for Solid Bulk Cargos“ oder „Cargo Information for solid bulk cargos“„ fragen - 13.12.2021
Refinery NexTAME / Noxious liquid, F, (4) n.o.s. (trade name ...., contains ....);P;0;<60°C;2;Ja;IBC;;;;;;;;x (y);1;;;;
Reformate / Naphtha / Gas Oil / UMS / Unleaded mo gas / Motor Gas;;;;;;MARPOL;;;;;;;;;;x;;;
RDF pellets / Refuse Derived Fuel;;;;; ;;;;;;;;;;;;;;Keine Anmeldung
Resin Oil / Distilled ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
RME 0,4MG/11 / FAME;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Sawn Timber / Schnittholz / Sägeholz;;;;; ;IMSBC;x;;;;;;;;;;;;nur wenn als Bulk (also keine Verpackung jeglicher Art (Drahtseile, Kunststoffbänder) und unter Deck
SEED Cake mit einem Ölgehalt von höchstens 1,5% und einem Feuchtigkeitsgehalt von höchstens 11% ///with not more than 1.5% oil and not more than 11% moisture.;;;;;;IMSBC;x;;;B;1;2217;4.2;;;;;;
SEED Cake containing vegetable oil a) durch mechanisches Pressen gewonnene Ölsaatenrückstände, die mehr als 10% Öl oder mehr als 20% Öl und Feuchtigkeit zusammen enthalten / (a) mechanically expelled seeds, containing more than 10% of oil or more than 20% of oil and moisture combined.);;;;;;IMSBC;x;;;B;1;1386;4.2;;;;;;
Shale Oil;;;;; ;MARPOL;;;;;;;;;;x;;;
Slack Wax / Petroleum / Hydrocarbon Wax;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (X);0;;;;
Slop Water;;;;; ;;;;;;;;;;;;;;Keine Anmeldung lt. Johann/16.12.12
Slops;;;;; ;;;;;;;;;;;;;;
Slurry / Residues / Petroleum;;;;; ;MARPOL;;;;;;;;;;x ;;;
Small Arms = Waffen zur Schiffsausrüstung gehörig;;;;; ;;;;;;;;;;;;;;Keine Anmeldung lt. Aussage von Fr. Kauschmann/16.05.2013 (09:50 Uhr)
Solvent ;;;;;;;;;;;;;;;;;;;Sicherheitsdatenblatt anfordern!!!
Sodium hydroxide solution / Caustic soda / Natronlauge;S/P;2;NF;0;Ja;IBC;;;;;;;;x (Y);;;;;
Sodium Sulphate in Bulk;;;;; ;;;;;;;;;;;;;;Keine Anmeldung lt. Aussage von Herrn Illing Gefahrgutauskunfststelle Hamburg/14.02.14-10.25 Uhr
Soyabean meal / SBM / Sojabohnenmehl;;;;; ;IMSBC;x;y;;;;;;;;;;;"Kann Cat. A, B oder C sein (abhängig von der Zusammensetzung),
wenn keine genaue Angabe => Anfragen, ob anmledepflichtig oder nicht,
Wenn Port of Loading = Brake oder Hamburg => Cat. C und damit nicht anmeldepflichtig"
Soyabean Oil ,;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Soja protein concentrat / SPC;;;;;;;;;;;;;;;;;;;Keine Anmeldung
Steel Turnings;;;;; ;IMSBC;x;;;B;1;2793;4.2;;;;;;
Styrene Monomer ,;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Sulphur (molten) ;S;1;>60°C;1;Nein;IMSBC; ;;;;;;;x (Z);2;;;;
Sulphuric Acid;S/P;2;NF;0;Ja;IBC;;;;;;;;x (Y);1;;;;
Sunflower Husk Pellets in bulk;;;;;;;;;;;;;;;;;;;Keine Anmeldung, Gruppe C - tel Aussage Hr. Meiners (J.Müller)
Sunflower Seed Oil ;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y) ;;;;;
Tall oil fatty acid / TOFA (resin acids less than 20%) ;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Tall oil pitch ;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Y);1;;;;
Tallow fatty acid;P;0;>60°C;1;Nein;IMSBC; ;;;;;;;x (Y);1;;;;
tert-Amyl ethyl ether / TAEE ;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Z);2;;;;
tert-Amyl methyl ether / TAME;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (X);0;;;;
Toasted meals / geröstete Mehle;;;;; ;IMSBC;x;;;;;;;;;;;;Group: B oder C - beim KD nach Blatt „Shipper's Declaration for Solid Bulk Cargos“ oder „Cargo Information for solid bulk cargos“„ fragen
Toluene ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Transformer oil / Insulating oil (z.B. NS8);;;;; ;MARPOL;;;;;;;;;;x;;;
Turpentine (z. B. LI200) ;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (X);0;;;;
UMS / Gasoline;;;;;;MARPOL;;;;;;;;;;x;;;
Nynas Naphthenic / Tyre Oils;;;;; ;MARPOL;;;;;;;;;;x;;;
Ultra-Low Sulphur Fuel Oil / ULSFO;;;;;;MARPOL;;;;;;;;;;x;;;
Urea Grain in bulk ;;;;; ;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
Urea Ammonium Nitrate solution / UAN (containing less than 1% free ammonia) ;S/P;2;NF;0;Nein;IBC;;;;;;;;x (Y);1;;;;
Urea solution ;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Z);2;;;;
Urea Grain in bulk;;;;;;;;;;;;;;;;;;;Keine Anmeldung, IMSBC Gruppe C
VGO / Vakuum Gas Öl / Schweres Vakuumgasöl / HVGO;;;<60°C;2; ;MARPOL;;;;;;3082;9;;;x;;;
Vegetable acid oils;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (Y) ;;;;;
Versene 100 / ETHYLENEDIAMINETETRAACETIC ACID NA4-SALT;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y);1;;;;
Versenex 80 / Diethylenetriaminepentaacetic acid / pentasodium salt solution;P;0;>60°C;1;Nein;IBC;;;;;;;;x (Z);2;;;;
Vinyl Acetate monomer;S/P;2;<60°C;2;Nein;IBC;;;;;;;;x (Y) ;;;;;
VISTAR HS / Distillates Petroleum;;;;;;MARPOL;;;;;;;;;;x;;;
Wash Oil / Creosote oil / METHYLNAPHTHALENE acenaphthene fraction;S/P;2;>60°C;1;Nein;IBC;;;;;;;;x (X);0;;;;
Washed Waelz Oxide / Zink / zinkhaltiger Staub;;;;;;IMSBC;x;;;A;0;;;;;;;;lt. Rhenus Midgard/Hr. Janssen
Wilfarin PA1698 RSPO (siehe Fatty acids, (C16+) );P;0;>60°C;1;Nein;;;;;;;;;;;;;;
WOOD PELLETS ;;;;; ;IMSBC;x;y;;B;1;;;;;;;;
Wood pulp;;;;;;;;;;;;;;;;;;;nicht anmelden = Aussage J.Müller, kein DG
Wood pulp pellets ;;;;; ;IMSBC;x;y;;B;1;;;;;;;;
WOODCHIPS ;;;;; ;IMSBC;x;y;;B;1;;;;;;;;
Wooden poles / Holzstämme;;;;; ;IMSBC;x;y;;B;1;;;;;;;;NUR UNTER DECK (in Luken) anzumeldem - DECKSLADUNG NICHT! (außer für Baltic Lloyd, Rostock - ALLES anmelden!) lt. Herrn Ronneberger
Xylenes / Ortho-Xylene / Para Xylene;P;0;<60°C;2;Nein;IBC;;;;;;;;x (Y);1; ;;;
Zellulose / Cellulose / Wood pulp;;;;; ;;;;;;;;;;;;;;"Keine Anmeldung,
Nur falls Bulk-Ladung"
Zinc Concentrates / MRM BULK CONCENTRATES / Mineral Concentrates / METAL SULPHIDE CONCENTRATES;;;;; ;IMSBC;x;;;A;0;;;;;;;;Dieses Gefahrgut wird OHNE MHB und OHNE IMO/UN Nummer abgesendet. Eine gelbe Violation-Meldung aus dem NSW ist zu ignorieren
1 Beschreibung Gefahr HAZARD_ENUM FP FP_ENUM 15.19? Typ IMSBC MHB IMSBC_MHB Group IMSBC_HAZ UN-Nr. IMO-Cl. IBC POLLUTION_CATEGORY_ENUM MARPOL IGC FP_IBC Bemerkung
2 1,3 Pentadiene / Piperylene P 0 <60°C 2 Nein IBC x (Y) 1
3 Acetic acid S/P 2 <60°C 2 Ja IBC x (Z) 2
4 Acetic acid glacial S/P 2 <60°C 2 Ja IBC x (Z) 2
5 Acetone <60°C 2 Nein IBC x (Z) 2
6 Acrylonitrile (ACN) S/P 2 <60°C 2 Ja IBC x (Y) 1
7 Alcoholic beverages, n.o.s. (Wine) IBC x (Z) 2
8 Alkanes (C6-C9) S/P 2 <60°C 2 Nein IBC x (X) 0
9 n-Alkanens (C10+) >60°C 1 Ja IBC x (Y) 1
10 Alkylate <60°C 2 MARPOL x 6
11 Alumina hydrate / Aluminiumhydroxid IMSBC x y A/B
12 alpha-Methylstyrene S/P 2 <60°C 2 Nein IBC x (Y) 1
13 Ammonia aqueous (28% or less) S/P 2 NF 0 Ja IBC x (Y) 1 NF
14 Ammonia / Anhydrous / Ammoniak IGC 1005 2.3 x
15 Ammoniak Liquid 24,5% S/P 2 Ja IBC x (Y) 1
16 Ammonium Nitrate Fertilizer IMSBC x B 1 2067 5.1
17 Ammonium Nitrate with not more than 0,2% total IMSBC x B 1 1942 5.1
18 Ammonium Polyphosphate Solution (APP) P 0 >60°C 1 Nein IBC x (Z) 2
19 Ammonium Sulphate Keine Anmeldung, IMSBC Gruppe C
20 Ammonium nitrate solution (93% or less) S/P 2 NF 0 Nein IBC x (Y) 1
21 Ammonium thiosulphate solution (60% or less) S/P 2 NF 0 Nein IBC x (Z) 2
22 Aniline S/P 2 >60°C 1 Ja IBC x (Y) 1
23 Anthracene Oil S/P 2 >60°C 1 Nein IBC x (X) 0
24 Anthracite / Coal / Kohle IMSBC x y A/B 2 Gruppe: B (und A)
25 ATRES / RAT / Atmospheric Residues / Residues (petroleum) atmospheric (APS Bottoms Resid A) >60°C 1 MARPOL x
26 AVGAS / Aviation Gasoline / Flugbenzin MARPOL x
27 BALED RDF IMSBC x y B 1
28 Base Oil / Lubricating oil / SN150/ SN500 / SN900 / BS20 / NYTEX 4700 / T9 / T600 / T150 ANR / VISOM 4 / Ultra S4 / Bright Stock / QHVI4 / QHVI8 / VHVI-4 = DISTILLATES (PETROLEUM) / HYDROTREATED HEAVY PARAFFINIC, >60°C 1 MARPOL x
29 Benzene / Benzol S/P 2 <60°C 2 Nein IBC x (Y) 1 -11
30 Biodiesel / FAME - Fatty acid methyl esters S/P 2 >60°C 1 Nein IBC x (Y)
31 Bitumen >60°C 1 MARPOL x
32 Blei in Blöcken / Lead Ingots kein Gefahrgut! Aussage Herr Jnassen Rhenus Midgard Nordenham (tel. 21.07.2021)
33 Butan IGC 1011 2.1 x
34 Butene / Buthylen IGC 1012 2.1 x
35 Butyl acrylate (all isomers) S/P 2 <60°C 2 Nein IBC x (Y) 1
36 Calcined clay / Kalzinierter Ton Keine Anmeldung, IMSBC Gruppe C
37 C9 Petroleum Resin S/P 2 <60°C 2 Nein IBC x (Y) 1
38 Calcium Ammonium Nitrate 27% N / CAN (in Big BAG) Keine Anmeldung lt. Aussage von Wasserschutzpolizeit Hamburg
39 Calcium Ammonium Nitrate 27% N / CAN (in BULK) Keine Anmeldung, IMSBC Gruppe C
40 Calcium Chloride Solution P 0 >60°C 1 Nein IBC x (Z) 2
41 CARBON BLACK FEEDSTOCK / D8 / ANTHRACENE OIL S/P 2 >60°C 1 Nein IBC x (X) 0 x nach Sicherheitsdatenblatt fragen kann IBC oder Marpol sein
42 Carbon Black Oil Propylene Oxide MARPOL x
43 Carbon Dioxide IGC 1013 2.2 x
44 Caromax 28 S/P 2 >60°C 1 Nein IBC x (X) 0
45 Caustic potash / Potassium hydroxide solution / Kalilauge S/P 2 NF 0 Ja IBC x (Y) 1
46 Caustic soda / Sodium hydroxide solution / Natronlauge S/P 2 NF 0 Ja IBC x (Y) 1
47 China Clay Keine Anmeldung lt. Aussage von Herrn Schlicht (S+B) in Absprache mit Wasserschutz
48 Clay / TON Keine Anmeldung, IMSBC Gruppe C
49 Coal / Kohle / Anthracite IMSBC x y A/B 2 Gruppe: B (und A)
50 Coal Tar , S/P 2 >60°C 1 Nein IBC x (X) 0
51 Coal Tar Pitch (Flüssig) S/P 2 >60°C 1 Nein IBC x (X) 0
52 Coal Tar Pitch / Steinkohlenteerpech (FEST) IMSBC x y B 1
53 Coconut oil S/P 2 >60°C 1 Nein IBC x (Y) 1
54 COKE BREEZE / Koksgrus IMSBC x A 0
55 Used cooking oil (mit Triglycerides, C16-C18 and C18 unsaturated) S/P 2 >60°C 1 Nein IBC x (Y) 1
56 Used cooking oil (wenn Triglycerides nicht ausdrücklich ausgewiesen) S/P 2 >60°C 1 Nein IBC x (X) 0
57 Copper concentrates IMSBC x A 0 3077 9
58 Copper concentrates (Metal Sulphide Concentrates) IMSBC x y A/B 2
59 Corn Oil , S/P 2 >60°C 1 Nein IBC x (Y) 1
60 Creosete Oil S/P 2 >60°C 1 Ja IBC x (X) 0
61 Crude Benzene and mixtures having 10% benzene or more S/P 2 <60°C 2 Nein IBC x (Y) 1
62 Cumene / Isopropylbenzene P 0 <60°C 2 Nein IBC x (y) 1
63 Cutterstock / Cutter MARPOL x
64 Cyclohexane S/P 2 <60°C 2 Nein IBC x (Y) 1
65 DDGS Pellets / Dried Distiller Grains with solubles Keine Anmeldung
66 DINP DIALKYL / Diisononylphthalat S/P 2 >60°C 1 Nein IBC x (X) 0
67 Distillate Hydrocrackers / DHC MARPOL x Bottoms Raw marterial for chemical industry Feedingstock for mineral oil industry
68 DIAMMONIUM PHOSPHATE / DAP Keine Anmeldung, IMSBC Gruppe C
69 1,1- Dichloroethane S/P 2 <60°C 2 Nein IBC x (Z) 2
70 DIRECT REDUCED IRON IMSBC x y B 1
71 Distillate / D10V / LVG / D8C / D10C / D10JUB / D 600 / D 700 / D 2000 MARPOL x
72 DOLOMITE Keine Anmeldung, IMSBC Gruppe C, evtl. Ist auch Dolomitic quicklime gemeint, Nachfragen
73 Dolomitic quicklime IMSBC x y B 1
74 Eisen II Sulphat Keine Anmeldung, IMSBC Gruppe C
75 Eisensilikat granulat / Iron Silicate Granules Keine Anmeldung, IMSBC Gruppe C
76 Energy Rich Fuel / Neste Renewable Diesel / NExBTL / HVO / Hydrotreated Vegetable Oils >60°C 1 siehe Bemerkung NExBTL - Renewable Diesel
77 Ethyl acetate S/P 2 <60°C 2 Nein IBC x (Z) 2
78 Ethanol / Ethyl alcohol / Grain alcohol / Drinking alcohol <60°C 2 Nein IBC x (Z) 2
79 Ethylene glycol / (Mono-)Ethylenglycol / MEG / Glycol S/P 2 >60°C 1 Nein IBC x (Z) 2
80 Ethyl tert-butyl ether / ETBE S/P 2 <60°C 2 Nein IBC x (Y) 1
81 Ethylene IGC 1038 2.1 X
82 ETHYLENE DICHLORIDE (ETD oder EDC) S/P 2 <60°C 2 Ja IBC 1184 x (Y)
83 Etibor / BORAX / PENTAHYDRATE CRUDE Keine Anmeldung
84 EXTRAIT / Vacuum gas oil MARPOL x
85 Fatty acids, (C16+) P 0 <60°C 2 Nein IBC x (Y)
86 FAME / Fatty acid methyl esters / Biodiesel , S/P 2 >60°C 1 Nein IBC x (Y)
87 Feed Phosphate / Monocalcium Phosphate Keine Anmeldung, IMSBC Gruppe C
88 Ferroalloys / Ferro Silico Mangan / Ferrolegierung (unter 20 %) Keine Anmeldung, IMSBC Gruppe C
89 Ferrochrom Keine Anmeldung, IMSBC Gruppe C
90 Ferrosilicochrom 40 / Ferrosilicon IMSBC x B 1 1408 4.3
91 FERROUS METAL / BORINGS / SHAVINGS / TURNINGS / CUTTINGS IMSBC x B 1 2793 4.2
92 FERTILIZER POTASH (PINK GRANULATED MURIATE OF POTASH) IMSBC x
93 Fish Meal treated with Antioxidant IMSBC x B 1 2216 9 wenn Ladehafen Bremen dann Gruppe C und nicht anzumelden
94 Fishoil S/P 2 >60°C 1 Nein IBC x (Y)
95 Fish Silage Protein Concentrate (containing 4% or less formic acid) P 0 NF 0 Nein IBC x (Y)
96 Fish protein concentrate (containing 4% or less formic acid) P 0 NF 0 Nein IBC x (Z) 2
97 FLUORSPAR / Flussspat IMSBC x y B 1
98 Fly Ash Keine Anmeldung
99 Formaldehyde solutions / Formalin S/P 2 >60°C 1 Ja IBC x (Y) 1
100 FORMIC ACID (85% or less acid) , S/P 2 >60°C 1 Ja IBC x (Y) 1
101 FORMIC ACID (over 85% acid) , S/P 2 <60°C 2 Ja IBC x (Y) 1
102 Foundry Coke / Gießereikoks /COKE Keine Anmeldung, IMSBC Gruppe C
103 Fraction C6 (containing benzene) S/P 2 >60°C 1 IBC x (Y) 1
104 Gas Condensate <60°C 2 MARPOL x
105 GAS OIL / Light Cycle Oil >60°C 1 MARPOL x
106 Gasoline blending stocks / Reformates / Gasoline blending stocks / polymer-fuel /Gasoline blending stocks / alkylates-fuel MARPOL x
107 Glycerine S 1 >60°C 1 Nein IBC x (Z) 2
108 Ground Colemanite Keine Anmeldung
109 Gypsum / Gips Keine Anmeldung, IMSBC Gruppe C
110 HCGO / Heavy Cycle Gas Oil MARPOL x
111 HFO MARPOL x
112 Hot roiled coils (HRC) Keine Anmeldung
113 Holzstämme / Wooden Poles IMSBC x y B 1 Nur wenn unter Deck, nur wenn in Loser Schüttung!
114 Hydrochloric Acid S/P 2 NF 0 Nein IBC x (Z) 2 NF
115 Hydrocarbon Wax / PROWAX 312 S/P 2 >60°C 1 Ja IBC x (X) 0
116 Hydro Cracker Bottoms MARPOL x
117 Hydrotreated Renewable Oil S/P 2 >60°C 1 Nein IBC x (Y) 1
118 IFO380 >60°C 1 MARPOL x
119 ILMENITE CLAY / Ilmenit-Ton IMSBC x Anmerkung: Ilmenite für Nordenham= Ilmenit Sand - keine Anmeldung als GG
120 ILMENITE Concentrate IMSBC x Keine Anmeldung, IMSBC Gruppe C
121 IRON ORE / Eisenerz Keine Anmeldung, IMSBC Gruppe C
122 IRON ORE / Eisenerz (FINES) IMSBC x A 0 x Kein MHB, ohne UN-/IMO-Nr. senden = geht nur im ENI (JGegis will eine Auswahl)
123 Iso- and cyclo-alkanes (C12+) / LIAV270 S/P 2 <60°C 2 Nein IBC x (Y) 1
124 Iso- and cyclo-alkanes (C10-C11+) S/P 2 <60°C 2 Nein IBC x (Y) 1
125 Isomerate <60°C 2 MARPOL x
126 Isopentane / Pentane P 0 <60°C 2 Nein IBC x (Y) 1
127 Isoprene S/P 2 <60°C 2 Nein IBC x (Y) 1
128 JET A1 / Normal Russian TS-1 / Kerosin / Kerosene <60°C 2 MARPOL X
129 Kalk ungeschlöscht / LIME UNSLAKED IMSBC x y B 1
130 Odourless Kerosene >60°C 1 MARPOL x
131 Kokospalmenschalen IMSBC x Keine Anmeldung
132 Lard / Schmalz S/P 2 >60°C 1 Nein IBC x (Y) 1
133 LCCS / Light Catalytically Cracked Spirit / Light Catalytically Cracked Naphtha MARPOL x
134 Lecithin IBC x (OS) 3
135 Lead Concentrate IMSBC x A 0 3077 9 Nachfragen ob als Mineral Concentrates (3077/9) oder METAL SULPHIDE CONCENTRATES (MHB) ("Shippers declaration for solid bulk cargos" anfordern oder auch "Cargo information for solid bulk cargos"
136 Lead Concentrate (Metal Sulphide Concentrates) IMSBC x y A/B 2 Nachfragen ob als Mineral Concentrates (3077/9) oder METAL SULPHIDE CONCENTRATES (MHB) ("Shippers declaration for solid bulk cargos" anfordern oder auch "Cargo information for solid bulk cargos"
137 Lead Ingots IBC Keine Anmeldung lt. Aussage Herr Jnassen Rhenus Midgard Nordenham (tel. 21.07.2021)
138 Light Vacuum Gas Oil / Petroleum / Petroleum Hydrocarbons MARPOL x
139 Ligninsulphonic Acid / Sodium Salt Solution P 0 >60°C 1 Nein IBC x (Z) 2
140 Ligno Sulphonate Sodium / Sulphite Lie (Lye) P 0 >60°C 1 IBC x (Z) 2
141 Lime IMSBC x y B 1
142 Limestone / Kalkstein Keine Anmeldung
143 Liquid petroleum paraffin, fraction of C14-C17 <2% aromatics) P 0 >60°C 1 Nein IBC x (Y) 1
144 Lukoil / Crude Oil MARPOL x
145 Magnesium Chloride Solution P 0 >60°C 1 Nein IBC x (Z) 2
146 Metal Sulphide Concentrates / Zink / Blei / Silber IMSBC x y A/B 2
147 Methanol / Methyl Alcohol S/P 2 <60°C 2 Ja IBC x (Y)
148 Methyl Acrylate S/P 2 <60°C 2 Ja IBC x (Y) 1
149 Methyl Alcohol / Methanol S/P 2 <60°C 2 Ja IBC x (Y)
150 Methyl Isobutyl Ketone S/P 2 <60°C 2 Nein IBC x (Z) 2
151 Methylendiphenylisocyanate / MDI / Polymethylene polyphenyl isocyanate S/P 2 >60°C 1 Ja IBC x (Y)
152 Methyl Methacrylate Monomer / MMM S/P 2 <60°C 2 Nein IBC x (Y)
153 Methyl Tert-Butyl Ether / MTBE P 0 <60°C 2 Nein IBC x (Z) 2
154 Mixed Fatty acid / MFA S/P 2 >60°C 1 Nein IBC x (Y)
155 Mixed Xylene P 0 <60°C 2 Nein IBC x (Y) 1
156 Molasses NF 0 IBC x (OS) 3 Nicht anmeldepflichtig - Ausnahme: BREMEN (lt Auskunft von Herrn Kraft 09.01.2018)//FÜR BREMEN ANMELDEN ÜBER J GEGIS - an DBH - ohne Visit ID
157 Monoammonium Phosphate / MAP Keine Anmeldung
158 Monocalcium Phosphate / MCP / Futtermittel IMSBC x y A/B 2 Verpackt (IMDG) nicht anmeldepflichtig
159 Monoethylen Glycol / MEG S/P 2 >60°C 1 Nein IBC x (Z) 2
160 Muriate of potash / Kaliumchlorid Keine Anmeldung
161 n-Alkanes (C10+) / N-Paraffine / Paraffine Normal P 0 >60°C 1 Nein IBC x (Y) 1
162 N-Butanol / N-BUTYL ALCOHOL P 0 <60°C 2 Nein IBC x (Z) 2
163 N-paraffines / N-ALKANES (C10+) P 0 >60°C 1 Nein IBC x (Y) 1
164 Naphtha <60°C 2 MARPOL x
165 Naphthalene / Molten S/P 2 >60°C 1 Nein IBC x (X) 0
166 Nepherlin Matrix 350 / Sand / Glas / Porzellan
167 NESSOL 40 (Noxious liquid, F, (6) n.o.s White Spirit) P 0 <60°C 2 Ja IBC x (Y) 1
168 Nessol D40 (Noxious liquid, F, (8) n.o.s. (siehe Noxious liquid…) P 0 <60°C 2 ja IBC
169 Nessol D60 ( (contains Iso- und Cycloalkanes (C10-C11) (siehe Noxious liquid...) S/P 2 <60°C 2 Nein IBC
170 Nessol D100 (contains Iso- und Cycloalkanes (C12+) S/P 2 <60°C 2 Nein IBC
171 NExBTL / Renewable Diesel S/P 2 >60°C 1 Nein IBC x (Y) 1 >60 Risks: nicht zu finden in IBC-Code
172 Refinery NexTAME / Noxious liquid, F, (4) n.o.s. (trade name ...., contains ....) <60°C 2 Ja IBC x (X) 0
173 Nickelconzentrat IMSBC x A 0
174 Nitric acid (70% and over) S/P 2 NF 0 Ja IBC x (Y) 1
175 Nitric acid (less than 70%) S/P 2 NF 0 Ja IBC x (Y) 1
176 Nonene / All Isomers P 0 <60°C 2 Nein IBC x (Y) 1 siehe auch Propylene Trimer
177 NON OXY EBOB / Gasoline MARPOL x
178 Normal Russian TS-1 Kerosene MARPOL x >23
179 Noxious liquid, NF, (5) n.o.s. / Trade Name (Nexbase 3050;3020;3030,3043) / Containscontains Iso- and cyclo-alkanes P 0 >60°C 1 Ja IBC x (Y) 1
180 Noxious liquid, NF(5) n.o.s. LI 220 HF contains White Spirit, low P 0 <60°C 2 Ja IBC x (Y) 1
181 Noxious liquid, NF(5) n.o.s.(Solvesso 100, contains Alkyl (C3-C4) benzenes) P 0 <60°C 2 Ja IBC x (Y) 1
182 Noxious liquid, NF, (7) n.o.s. (Exxsol D80 , contains iso-and cycloalkanes(C12+)) P 0 >60°C 1 Ja IBC x (Y) 1
183 Noxious liquid, NF, (7) n.o.s. ((EXXSOL D60 und auch Nessol D60, contains iso-and cycloalkanes (C10-C11)) P 0 >60°C 1 Ja IBC x (Y) 1
184 Noxious liquid, F, (8) n.o.s. (NESSOL D40 contains Iso- and cycloalkanes (C10-C11)) P 0 <60°C 2 ja IBC x (Y) 1
185 Noxious liquid, F, (11?) n.o.s. (ETHYLOL 95, contains Ethyl alcohol)) P 0 <60°C 2 Nein IBC x (Z) 2
186 NPK Fertilizer / Ammonium Nitrate Based Fertilizer (Non Hazardous) Keine Anmeldung
187 Nynas VR5000 / Bitumen >60°C 1 MARPOL x
188 NYTRO TAURUS / Insulating Oil MARPOL x
189 Octene P 0 <60°C 2 Nein IBC x (Y) 1
190 Odourless Kerosene D70 MARPOL x
191 Olivines / Mineralgemisch gehört Mineralklasse der „Silikate und Germanate“ Keine Anmeldung
192 Olive Stones (crushed) / Seed Cake / Oil Cake IMSBC x B 1 1386 4.2
193 ORTHO-XYLENE P 0 <60°C 2 Nein IBC x (Y) 1
194 Palm fatty acid distillate / PFAD S/P 2 >60°C 1 Nein IBC x (Y) 1
195 Palmkernexpellers / pulverisierte Kernschalen Keine Anmeldung lt. J.Müller Brake - siehe aber auch SEED CAKE
196 PALM KERNEL OIL / CPKO / Crude Palm Kernel Oil S/P 2 >60°C 1 Nein IBC x (Y) 1
197 PALM KERNEL STEARIN P 0 >60°C 1 Nein
198 PALM MID-FRACTION P 0 >60°C 1 Nein IBC x (Y) 1
199 PALM OIL P 0 >60°C 1 Nein IBC x (Y) 1
200 PALM OLEINE P 0 >60°C 1 Nein IBC x (Y) 1
201 Palm stearin P 0 >60°C 1 Nein IBC x (Y) 1
202 Palmitic Acid IBC x (Y) 1
203 n-Paraffins (C10-C20) / N-ALKANES (C10+) P 0 >60°C 1 Nein IBC x (Y) 1
204 Paraffin wax, highly-refined P 0 >60°C 1 Nein IBC x (Y) 1
205 Paraffin wax, semi-refined S/P 2 >60°C 1 Nein IBC x (X) 0
206 PARA XYLENE P 0 <60°C 2 Nein IBC x (Y) 1
207 Pea Coke Keine Anmeldung
208 PEAT MOSS / Torf IMSBC x y A/B 2 Für den Kielkanal nicht anmelden lt. Rücksprache UCA+Herrn Langbein/01.02.2016 => gültig für UCA/S+B
209 Peat (milled) Keine Anmeldung lt. Herrn Schütte für NOK nicht anmelden/09.02.2021
210 Pentadiene / 1,3-Pentadiene P 0 <60°C 2 Nein IBC x (Y) 1
211 Perchloroethylene S/P 2 NF 0 Nein IBC x (Y) 1
212 PETROLEUM COKE / calcined or uncalcined oder Calcined Coke / Petcoke IMSBC x y B 1
213 PGI / Propylene Glycol Industrial S/P 2 >60°C 1 Nein IBC x (Z) 2
214 Phenol S/P 2 >60°C 1 Ja IBC x (Y) 1
215 Phosphoric Acid S/P 2 NF 0 Ja IBC x (Z) 2
216 PITCH / Pech IMSBC x y B 1 In Bulk/Pitch Verpackt (MSDS = Material Safetey Data Sheet anfordern)
217 PME / Biodiesel IBC x (Y) 1
218 Polymethylene Polyphenyl Isocyanate S/P 2 >60°C 1 Nein IBC x (Y)
219 Polyolefin (molecular weight 300+) P 0 >60°C 1 Nein IBC x (Y) 1
220 Potash / Pottasche Keine Anmeldung
221 Potassium Hydroxide Solution / Caustic Potash / Kaliumhydroxidlösung S/P 2 NF 0 Ja IBC x (Y) 1
222 Propylbenzene / all isomers P 0 <60°C 2 Nein IBC x (Y) 1
223 Propylene IGC 1077 2.2 x
224 Propylene Dichloride / 1,2-DICHLOROPROPANE S/P 2 <60°C 2 Nein IBC x (Y)
225 Propylene Glycol Monoalkyl Ether / DOWANOL PM S/P 2 <60°C 2 Nein IBC x (Z) 2
226 Propylene Oxide IGC 1280 3 x
227 Propylene Oxide S/P 2 <60°C 2 Ja IBC x (Y) 1
228 Propylene Tetramer S/P 2 <60°C 2 Nein IBC x (X) 0
229 Propylene Trimer P 0 <60°C 2 Nein IBC x (Y) 1
230 Pyrolysis Fuel Oil IBC ? ?
231 Pyrolysis Gasoline containing benzene / Pygas /Aromatic hydrocarbons / C6-8 / Naphtha-Raffinate Pyrolyzate-derived S/P 2 <60°C 2 Nein IBC x (Y)
232 Pyrite Achtung! Kann "IMSBC: Gruppe C" (also nicht anmeldepflichig sein) oder auch "Gruppe: A" bzw. "Gruppe: A/B" (somit Anmeldepflichtig)- beim Kunden nachfragen und "Shippers declaration for solid bulk cargos" oder es nennt sich auch "Cargo information for solid bulk cargos" anfordern
233 Quicklime / Kalk ungelöscht / Lime / Burnt Lime / Un-slaked Lime / Building Lime / Calcia / Fat Lime / Chemical Lime / Fluxing Lime / Hard Burnt Lime / Soft Burnt Lime / Pebble Lime / Calcium Oxide / Calcium Monoxide / Calcined Limestone / Calcium oxide / CaO IMSBC x Y B 1
234 Rapeseed oil / Rapsöl P 0 >60°C 1 Nein IBC x (Y) 1
235 Rape seed oil fatty acid methyl esters S/P 2 >60°C 1 Nein IBC x (Y) 1
236 BALED RDF IMSBC x y B 1 beim KD/Schiff nach Blatt „Shipper's Declaration for Solid Bulk Cargos“ oder „Cargo Information for solid bulk cargos“„ fragen - 13.12.2021
237 Refinery NexTAME / Noxious liquid, F, (4) n.o.s. (trade name ...., contains ....) P 0 <60°C 2 Ja IBC x (y) 1
238 Reformate / Naphtha / Gas Oil / UMS / Unleaded mo gas / Motor Gas MARPOL x
239 RDF pellets / Refuse Derived Fuel Keine Anmeldung
240 Resin Oil / Distilled S/P 2 <60°C 2 Nein IBC x (Y) 1
241 RME 0,4MG/11 / FAME S/P 2 >60°C 1 Nein IBC x (Y) 1
242 Sawn Timber / Schnittholz / Sägeholz IMSBC x nur wenn als Bulk (also keine Verpackung jeglicher Art (Drahtseile, Kunststoffbänder) und unter Deck
243 SEED Cake mit einem Ölgehalt von höchstens 1,5% und einem Feuchtigkeitsgehalt von höchstens 11% ///with not more than 1.5% oil and not more than 11% moisture. IMSBC x B 1 2217 4.2
244 SEED Cake containing vegetable oil a) durch mechanisches Pressen gewonnene Ölsaatenrückstände, die mehr als 10% Öl oder mehr als 20% Öl und Feuchtigkeit zusammen enthalten / (a) mechanically expelled seeds, containing more than 10% of oil or more than 20% of oil and moisture combined.) IMSBC x B 1 1386 4.2
245 Shale Oil MARPOL x
246 Slack Wax / Petroleum / Hydrocarbon Wax S/P 2 >60°C 1 Nein IBC x (X) 0
247 Slop Water Keine Anmeldung lt. Johann/16.12.12
248 Slops
249 Slurry / Residues / Petroleum MARPOL x
250 Small Arms = Waffen zur Schiffsausrüstung gehörig Keine Anmeldung lt. Aussage von Fr. Kauschmann/16.05.2013 (09:50 Uhr)
251 Solvent Sicherheitsdatenblatt anfordern!!!
252 Sodium hydroxide solution / Caustic soda / Natronlauge S/P 2 NF 0 Ja IBC x (Y)
253 Sodium Sulphate in Bulk Keine Anmeldung lt. Aussage von Herrn Illing Gefahrgutauskunfststelle Hamburg/14.02.14-10.25 Uhr
254 Soyabean meal / SBM / Sojabohnenmehl IMSBC x y Kann Cat. A, B oder C sein (abhängig von der Zusammensetzung), wenn keine genaue Angabe => Anfragen, ob anmledepflichtig oder nicht, Wenn Port of Loading = Brake oder Hamburg => Cat. C und damit nicht anmeldepflichtig
255 Soyabean Oil , S/P 2 >60°C 1 Nein IBC x (Y) 1
256 Soja protein concentrat / SPC Keine Anmeldung
257 Steel Turnings IMSBC x B 1 2793 4.2
258 Styrene Monomer , S/P 2 <60°C 2 Nein IBC x (Y) 1
259 Sulphur (molten) S 1 >60°C 1 Nein IMSBC x (Z) 2
260 Sulphuric Acid S/P 2 NF 0 Ja IBC x (Y) 1
261 Sunflower Husk Pellets in bulk Keine Anmeldung, Gruppe C - tel Aussage Hr. Meiners (J.Müller)
262 Sunflower Seed Oil S/P 2 >60°C 1 Nein IBC x (Y)
263 Tall oil fatty acid / TOFA (resin acids less than 20%) S/P 2 >60°C 1 Nein IBC x (Y) 1
264 Tall oil pitch P 0 >60°C 1 Nein IBC x (Y) 1
265 Tallow fatty acid P 0 >60°C 1 Nein IMSBC x (Y) 1
266 tert-Amyl ethyl ether / TAEE P 0 <60°C 2 Nein IBC x (Z) 2
267 tert-Amyl methyl ether / TAME S/P 2 <60°C 2 Nein IBC x (X) 0
268 Toasted meals / geröstete Mehle IMSBC x Group: B oder C - beim KD nach Blatt „Shipper's Declaration for Solid Bulk Cargos“ oder „Cargo Information for solid bulk cargos“„ fragen
269 Toluene S/P 2 <60°C 2 Nein IBC x (Y) 1
270 Transformer oil / Insulating oil (z.B. NS8) MARPOL x
271 Turpentine (z. B. LI200) S/P 2 <60°C 2 Nein IBC x (X) 0
272 UMS / Gasoline MARPOL x
273 Nynas Naphthenic / Tyre Oils MARPOL x
274 Ultra-Low Sulphur Fuel Oil / ULSFO MARPOL x
275 Urea Grain in bulk Keine Anmeldung, IMSBC Gruppe C
276 Urea Ammonium Nitrate solution / UAN (containing less than 1% free ammonia) S/P 2 NF 0 Nein IBC x (Y) 1
277 Urea solution S/P 2 >60°C 1 Nein IBC x (Z) 2
278 Urea Grain in bulk Keine Anmeldung, IMSBC Gruppe C
279 VGO / Vakuum Gas Öl / Schweres Vakuumgasöl / HVGO <60°C 2 MARPOL 3082 9 x
280 Vegetable acid oils S/P 2 >60°C 1 Nein IBC x (Y)
281 Versene 100 / ETHYLENEDIAMINETETRAACETIC ACID NA4-SALT S/P 2 <60°C 2 Nein IBC x (Y) 1
282 Versenex 80 / Diethylenetriaminepentaacetic acid / pentasodium salt solution P 0 >60°C 1 Nein IBC x (Z) 2
283 Vinyl Acetate monomer S/P 2 <60°C 2 Nein IBC x (Y)
284 VISTAR HS / Distillates Petroleum MARPOL x
285 Wash Oil / Creosote oil / METHYLNAPHTHALENE acenaphthene fraction S/P 2 >60°C 1 Nein IBC x (X) 0
286 Washed Waelz Oxide / Zink / zinkhaltiger Staub IMSBC x A 0 lt. Rhenus Midgard/Hr. Janssen
287 Wilfarin PA1698 RSPO (siehe Fatty acids, (C16+) ) P 0 >60°C 1 Nein
288 WOOD PELLETS IMSBC x y B 1
289 Wood pulp nicht anmelden = Aussage J.Müller, kein DG
290 Wood pulp pellets IMSBC x y B 1
291 WOODCHIPS IMSBC x y B 1
292 Wooden poles / Holzstämme IMSBC x y B 1 NUR UNTER DECK (in Luken) anzumeldem - DECKSLADUNG NICHT! (außer für Baltic Lloyd, Rostock - ALLES anmelden!) lt. Herrn Ronneberger
293 Xylenes / Ortho-Xylene / Para Xylene P 0 <60°C 2 Nein IBC x (Y) 1
294 Zellulose / Cellulose / Wood pulp Keine Anmeldung, Nur falls Bulk-Ladung
295 Zinc Concentrates / MRM BULK CONCENTRATES / Mineral Concentrates / METAL SULPHIDE CONCENTRATES IMSBC x A 0 Dieses Gefahrgut wird OHNE MHB und OHNE IMO/UN Nummer abgesendet. Eine gelbe Violation-Meldung aus dem NSW ist zu ignorieren

Binary file not shown.