changes for Version 6.6

This commit is contained in:
Daniel Schick 2021-11-10 11:54:13 +01:00
parent 19b89cef6b
commit 5c7c18400e
15 changed files with 129 additions and 39 deletions

View File

@ -27,8 +27,7 @@
</setting>
<setting name="Recipient" serializeAs="Xml">
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>nsw@textbausteine.net</string>
</ArrayOfString>
</value>
@ -50,4 +49,12 @@
</setting>
</bsmd.ReportGenerator.Properties.Settings>
</applicationSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.9.0.0" newVersion="1.9.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@ -43,8 +43,8 @@
<AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="log4net, Version=2.0.12.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.12\lib\net45\log4net.dll</HintPath>
<Reference Include="log4net, Version=2.0.13.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.13\lib\net45\log4net.dll</HintPath>
</Reference>
<Reference Include="MigraDoc.DocumentObjectModel-gdi, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp-MigraDoc-gdi.1.50.5147\lib\net20\MigraDoc.DocumentObjectModel-gdi.dll</HintPath>
@ -65,8 +65,8 @@
<Reference Include="System.Configuration" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Core" />
<Reference Include="System.Data.SQLite, Version=1.0.114.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.114.0\lib\net45\System.Data.SQLite.dll</HintPath>
<Reference Include="System.Data.SQLite, Version=1.0.115.5, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.115.5\lib\net45\System.Data.SQLite.dll</HintPath>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Management" />
@ -79,7 +79,7 @@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\..\ENI-2\ENI2\ENI2\LocalizedLookup.cs">
<Compile Include="..\ENI2\LocalizedLookup.cs">
<Link>LocalizedLookup.cs</Link>
</Compile>
<Compile Include="..\bsmd.database\Properties\AssemblyProductInfo.cs">
@ -161,12 +161,12 @@
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.114.0\build\net45\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.114.0\build\net45\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.115.5\build\net45\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.115.5\build\net45\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<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>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.114.0\build\net45\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.114.0\build\net45\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.115.5\build\net45\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.115.5\build\net45\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
</Target>
<!-- 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.

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="log4net" version="2.0.12" targetFramework="net45" />
<package id="log4net" version="2.0.13" targetFramework="net45" />
<package id="PDFsharp-MigraDoc-gdi" version="1.50.5147" targetFramework="net45" />
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.114.0" targetFramework="net45" />
<package id="System.Data.SQLite.Core" version="1.0.114.3" targetFramework="net45" />
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.115.5" targetFramework="net45" />
<package id="System.Data.SQLite.Core" version="1.0.115.5" targetFramework="net45" />
</packages>

View File

@ -23,9 +23,9 @@ namespace bsmd.database
/// </summary>
public static class Extensions
{
private static ILog _log = LogManager.GetLogger(typeof(Extensions));
private static Regex splitRegex = new Regex(@"(""((\\"")|([^""]))*"")|('((\\')|([^']))*')|(\S+)");
private static char[] splitDelimiter = new[] { ',', ';', ' ' };
private static readonly ILog _log = LogManager.GetLogger(typeof(Extensions));
private static readonly Regex splitRegex = new Regex(@"(""((\\"")|([^""]))*"")|('((\\')|([^']))*')|(\S+)");
private static readonly char[] splitDelimiter = new[] { ',', ';', ' ' };
public static bool IsNullOrEmpty(this String str)
{
@ -96,8 +96,7 @@ namespace bsmd.database
public static DateTime? TryParseDateTime(string text)
{
DateTime date;
if(DateTime.TryParse(text, DateTimeFormatInfo.InvariantInfo, DateTimeStyles.AdjustToUniversal, out date))
if (DateTime.TryParse(text, DateTimeFormatInfo.InvariantInfo, DateTimeStyles.AdjustToUniversal, out DateTime date))
{
return date;
}
@ -110,8 +109,7 @@ namespace bsmd.database
public static double? TryParseDouble(string text)
{
double d;
if (Double.TryParse(text, NumberStyles.Any, NumberFormatInfo.InvariantInfo, out d))
if (Double.TryParse(text, NumberStyles.Any, NumberFormatInfo.InvariantInfo, out double d))
{
return d;
}
@ -153,6 +151,29 @@ namespace bsmd.database
return str.Substring(0, maxLen);
}
/// <summary>
/// returns maximum size of following non-whitespace characters (aka size of "longest" word)
/// </summary>
public static int MaxLenNoWS(this string str)
{
int max = 0;
int currentMax = 0;
for(int i = 0; i < str.Length; i++)
{
if(Char.IsWhiteSpace(str[i]))
{
if (currentMax > max) max = currentMax;
currentMax = 0;
}
else
{
currentMax++;
}
}
if (currentMax > max) max = currentMax;
return max;
}
public static void BubbleSort(this IList o)
{
for (int i = o.Count - 1; i >= 0; i--)

View File

@ -68,6 +68,7 @@ namespace bsmd.database
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
[MaxLength(255)]
[MaxWordLength(14)]
[ENI2Validation]
public string ProductName { get; set; }
@ -136,6 +137,7 @@ namespace bsmd.database
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
[MaxLength(24)]
[MaxWordLength(6)]
[ENI2Validation]
public string StowagePosition { get; set; }
@ -157,6 +159,7 @@ namespace bsmd.database
[ShowReport]
[MaxLength(255)]
[MaxWordLength(35)]
[ENI2Validation]
public string Remarks { get; set; }

View File

@ -46,6 +46,7 @@ namespace bsmd.database
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
[MaxLength(255)]
[MaxWordLength(30)]
[ENI2Validation]
public string ProductName { get; set; }
@ -57,6 +58,7 @@ namespace bsmd.database
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
[MaxLength(24)]
[MaxWordLength(20)]
[ENI2Validation]
public string StowagePosition { get; set; }
@ -74,6 +76,7 @@ namespace bsmd.database
[ShowReport]
[MaxLength(255)]
[MaxWordLength(45)]
[ENI2Validation]
public string Remarks { get; set; }

View File

@ -148,11 +148,13 @@ namespace bsmd.database
[ShowReport]
[MaxLength(24)]
[MaxWordLength(15)]
[ENI2Validation]
public string ContainerNumber { get; set; }
[ShowReport]
[MaxLength(24)]
[MaxWordLength(15)]
[ENI2Validation]
public string VehicleLicenseNumber { get; set; }
@ -160,6 +162,7 @@ namespace bsmd.database
[Validation(ValidationCode.NOT_NULL)]
[MaxLength(24)]
[ENI2Validation]
[MaxWordLength(9)]
public string StowagePosition { get; set; }
[ShowReport]
@ -191,6 +194,7 @@ namespace bsmd.database
[ShowReport]
[MaxLength(255)]
[MaxWordLength(50)]
[ENI2Validation]
public string Remarks { get; set; }

View File

@ -43,6 +43,7 @@ namespace bsmd.database
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
[MaxLength(255)]
[MaxWordLength(15)]
[ENI2Validation]
public string BulkCargoShippingName { get; set; }
@ -69,6 +70,7 @@ namespace bsmd.database
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
[MaxLength(24)]
[MaxWordLength(8)]
[ENI2Validation]
public string StowagePosition { get; set; }
@ -86,6 +88,7 @@ namespace bsmd.database
[ShowReport]
[MaxLength(255)]
[MaxWordLength(35)]
[ENI2Validation]
public string Remarks { get; set; }

View File

@ -37,6 +37,7 @@ namespace bsmd.database
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
[MaxLength(255)]
[MaxWordLength(20)]
[ENI2Validation]
public string Name { get; set; }
@ -70,6 +71,7 @@ namespace bsmd.database
[ShowReport]
[Validation(ValidationCode.NOT_NULL)]
[MaxLength(24)]
[MaxWordLength(10)]
[ENI2Validation]
public string StowagePosition { get; set; }
@ -87,6 +89,7 @@ namespace bsmd.database
[ShowReport]
[MaxLength(255)]
[MaxWordLength(40)]
[ENI2Validation]
public string Remarks { get; set; }

View File

@ -212,6 +212,18 @@ namespace bsmd.database
}
}
/// check for max printable word size (report table overflow)
if (Attribute.IsDefined(property, typeof(MaxWordLengthAttribute)))
{
MaxWordLengthAttribute mwla = Attribute.GetCustomAttribute(property, typeof(MaxWordLengthAttribute)) as MaxWordLengthAttribute;
if (value.MaxLenNoWS() > mwla.MaxWordLength)
{
// put out a warning this might be overflowing in the report
violations.Add(RuleEngine.CreateViolation(ValidationCode.WORDOVERFLOW, property.Name, value, entity.Title, identifier, entity.Tablename));
}
}
// check properties
switch (validationCode)

View File

@ -48,6 +48,7 @@ namespace bsmd.database
MMSI = 29,
INVALID_NUMBER_CHARS = 30,
OPTIONAL_FLAG_CODE,
WORDOVERFLOW,
E121 = 121,
E122 = 122,
E123 = 123,
@ -225,4 +226,25 @@ namespace bsmd.database
#endregion
#region Überprüfung der maximalen Wort/Text-Länge innerhalb eines Strings
[AttributeUsage(AttributeTargets.Property)]
public class MaxWordLengthAttribute : Attribute
{
private int maxWordLength;
public MaxWordLengthAttribute(int length)
{
this.maxWordLength = length;
}
public int MaxWordLength
{
get { return this.maxWordLength; }
set { this.maxWordLength = value; }
}
}
#endregion
}

View File

@ -21,6 +21,11 @@ namespace bsmd.email
// cleanup is done somewhere else
}
/// <summary>
/// keine Ahnung was das macht
/// </summary>
public IAuthenticationSecretDetector AuthenticationSecretDetector { get; set; }
public void LogClient(byte[] buffer, int offset, int count)
{
string logString = Encoding.Default.GetString(buffer, offset, count);

View File

@ -30,8 +30,7 @@
</setting>
<setting name="Recipient" serializeAs="Xml">
<value>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>nsw@textbausteine.net</string>
</ArrayOfString>
</value>
@ -59,4 +58,12 @@
</setting>
</bsmd.email.Properties.Settings>
</applicationSettings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.9.0.0" newVersion="1.9.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@ -40,20 +40,20 @@
<AssemblyOriginatorKeyFile>..\bsmdKey.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="BouncyCastle.Crypto, Version=1.8.10.0, Culture=neutral, PublicKeyToken=0e99375e54769942, processorArchitecture=MSIL">
<HintPath>..\packages\Portable.BouncyCastle.1.8.10\lib\net40\BouncyCastle.Crypto.dll</HintPath>
<Reference Include="BouncyCastle.Crypto, Version=1.9.0.0, Culture=neutral, PublicKeyToken=0e99375e54769942, processorArchitecture=MSIL">
<HintPath>..\packages\Portable.BouncyCastle.1.9.0\lib\net40\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="EmailValidation, Version=1.0.0.0, Culture=neutral, PublicKeyToken=60f3df2f38e92638, processorArchitecture=MSIL">
<HintPath>..\packages\EmailValidation.1.0.4\lib\net45\EmailValidation.dll</HintPath>
<HintPath>..\packages\EmailValidation.1.0.6\lib\net45\EmailValidation.dll</HintPath>
</Reference>
<Reference Include="log4net, Version=2.0.12.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.12\lib\net45\log4net.dll</HintPath>
<Reference Include="log4net, Version=2.0.13.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
<HintPath>..\packages\log4net.2.0.13\lib\net45\log4net.dll</HintPath>
</Reference>
<Reference Include="MailKit, Version=2.13.0.0, Culture=neutral, PublicKeyToken=4e064fe7c44a8f1b, processorArchitecture=MSIL">
<HintPath>..\packages\MailKit.2.13.0\lib\net45\MailKit.dll</HintPath>
<Reference Include="MailKit, Version=2.15.0.0, Culture=neutral, PublicKeyToken=4e064fe7c44a8f1b, processorArchitecture=MSIL">
<HintPath>..\packages\MailKit.2.15.0\lib\net45\MailKit.dll</HintPath>
</Reference>
<Reference Include="MimeKit, Version=2.13.0.0, Culture=neutral, PublicKeyToken=bede1c8a46c66814, processorArchitecture=MSIL">
<HintPath>..\packages\MimeKit.2.13.0\lib\net45\MimeKit.dll</HintPath>
<Reference Include="MimeKit, Version=2.15.0.0, Culture=neutral, PublicKeyToken=bede1c8a46c66814, processorArchitecture=MSIL">
<HintPath>..\packages\MimeKit.2.15.1\lib\net45\MimeKit.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EmailValidation" version="1.0.4" targetFramework="net45" />
<package id="log4net" version="2.0.12" targetFramework="net45" />
<package id="MailKit" version="2.13.0" targetFramework="net45" />
<package id="MimeKit" version="2.13.0" targetFramework="net45" />
<package id="Portable.BouncyCastle" version="1.8.10" targetFramework="net45" />
<package id="EmailValidation" version="1.0.6" targetFramework="net45" />
<package id="log4net" version="2.0.13" targetFramework="net45" />
<package id="MailKit" version="2.15.0" targetFramework="net45" />
<package id="MimeKit" version="2.15.1" targetFramework="net45" />
<package id="Portable.BouncyCastle" version="1.9.0" targetFramework="net45" />
<package id="System.Buffers" version="4.5.1" targetFramework="net45" />
</packages>