Stundenabrechnung Oktober 2018
This commit is contained in:
parent
d0c42ca6d9
commit
e3888e1105
Binary file not shown.
@ -1,17 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
|
||||
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
|
||||
<section name="bsmd.ExcelReadService.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||
<section name="bsmd.email.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<log4net>
|
||||
<root>
|
||||
<level value="DEBUG" />
|
||||
<appender-ref ref="LogFileAppender" />
|
||||
<appender-ref ref="TraceAppender" />
|
||||
</root>
|
||||
<appender name="TraceAppender" type="log4net.Appender.TraceAppender">
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<conversionPattern value="%date [%thread] %level %logger - %message%newline%exception"/>
|
||||
</layout>
|
||||
</appender>
|
||||
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
|
||||
<param name="File" value="log-ExcelReadService.txt" />
|
||||
<param name="AppendToFile" value="true" />
|
||||
<rollingStyle value="Size" />
|
||||
<maxSizeRollBackups value="10" />
|
||||
<maximumFileSize value="10MB" />
|
||||
<staticLogFileName value="true" />
|
||||
<layout type="log4net.Layout.PatternLayout">
|
||||
<param name="ConversionPattern" value="%date [%thread] %-5level [%logger] - %message%newline" />
|
||||
</layout>
|
||||
</appender>
|
||||
</log4net>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
||||
</startup>
|
||||
<applicationSettings>
|
||||
<bsmd.ExcelReadService.Properties.Settings>
|
||||
<setting name="ConnectionString" serializeAs="String">
|
||||
<value>replace me!</value>
|
||||
<value>Data Source=(localdb)\Projects;Initial Catalog=nsw;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False</value>
|
||||
</setting>
|
||||
<setting name="SleepSeconds" serializeAs="String">
|
||||
<value>300</value>
|
||||
@ -55,5 +80,49 @@
|
||||
</value>
|
||||
</setting>
|
||||
</bsmd.ExcelReadService.Properties.Settings>
|
||||
<bsmd.email.Properties.Settings>
|
||||
<setting name="POP3User" serializeAs="String">
|
||||
<value>excel@textbausteine.net</value>
|
||||
</setting>
|
||||
<setting name="POP3Password" serializeAs="String">
|
||||
<value>3kjasWss.;.</value>
|
||||
</setting>
|
||||
<setting name="POP3Server" serializeAs="String">
|
||||
<value>pop3.strato.de</value>
|
||||
</setting>
|
||||
<setting name="POP3Port" serializeAs="String">
|
||||
<value>995</value>
|
||||
</setting>
|
||||
<setting name="SMTPServer" serializeAs="String">
|
||||
<value>mail.strato.de</value>
|
||||
</setting>
|
||||
<setting name="SMTPUser" serializeAs="String">
|
||||
<value>excel@textbausteine.net</value>
|
||||
</setting>
|
||||
<setting name="SMTPPassword" serializeAs="String">
|
||||
<value>3kjasWss.;.</value>
|
||||
</setting>
|
||||
<setting name="Sender" serializeAs="String">
|
||||
<value>excel@textbausteine.net</value>
|
||||
</setting>
|
||||
<setting name="AdminEmail" serializeAs="String">
|
||||
<value>nsw@textbausteine.net</value>
|
||||
</setting>
|
||||
<setting name="ArchiveFolder" serializeAs="String">
|
||||
<value>E:\temp\excel</value>
|
||||
</setting>
|
||||
<!-- Alle zusätzlichen Empfänger des Bestätigungs-Sheets (außer dem Sender) -->
|
||||
<setting name="Recipient" serializeAs="Xml">
|
||||
<value>
|
||||
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
||||
<!--string>report@bsmd.de</string-->
|
||||
<!--string>nsw@textbausteine.net</string-->
|
||||
<!--string>hollmann@bsmd.de</string-->
|
||||
<!--string>haese@bsmd.de</string-->
|
||||
</ArrayOfString>
|
||||
</value>
|
||||
</setting>
|
||||
</bsmd.email.Properties.Settings>
|
||||
</applicationSettings>
|
||||
</configuration>
|
||||
@ -18,7 +18,7 @@ namespace bsmd.ExcelReadService
|
||||
{
|
||||
public static class Util
|
||||
{
|
||||
private static ILog _log = LogManager.GetLogger(typeof(Util));
|
||||
private static readonly ILog _log = LogManager.GetLogger(typeof(Util));
|
||||
|
||||
internal static bool ProcessSheet(ExcelReader reader, out string readMessage, out MessageCore messageCore)
|
||||
{
|
||||
@ -1290,7 +1290,7 @@ namespace bsmd.ExcelReadService
|
||||
was.DeleteElements();
|
||||
Util.ScanMessage(was, reader);
|
||||
was.WasteDisposalDelivery = reader.ReadDelivery("WAS.WasteDisposalDelivery");
|
||||
if ((was.LastWasteDisposalPort != null) && (was.LastWasteDisposalPort.Length > 5))
|
||||
if (was.LastWasteDisposalPort?.Length > 5)
|
||||
{
|
||||
string lastWasteDisposalPort = reader.ReadText("WAS.LastWasteDisposalPort");
|
||||
List<string> deliveryLocodes = LocodeDB.AllLocodesForCityName(lastWasteDisposalPort);
|
||||
@ -1435,7 +1435,7 @@ namespace bsmd.ExcelReadService
|
||||
was.Waste.Remove(waste);
|
||||
|
||||
// 24.3.: - Für Waste-Type 15: Wenn in dieser Zeile andere Werte enthalten, als die nachfolgenden, ist die ganze Zeile rot zu markieren.
|
||||
bool highlightRow15 = !(waste.WasteType == null);
|
||||
bool highlightRow15 = waste.WasteType != null;
|
||||
highlightRow15 &= (waste.WasteDisposalAmount_MTQ > 0);
|
||||
highlightRow15 &= (waste.WasteCapacity_MTQ > 0);
|
||||
highlightRow15 &= (waste.WasteAmountRetained_MTQ > 0);
|
||||
@ -1829,7 +1829,7 @@ namespace bsmd.ExcelReadService
|
||||
|
||||
if (l10fc.PortFacilityGISISCode.IsNullOrEmpty() || l10fc.PortFacilityGISISCode == "0")
|
||||
l10fc.PortFacilityGISISCode = "0000";
|
||||
if((l10fc.PortFacilityGISISCode != null) && (l10fc.PortFacilityGISISCode.Length < 4))
|
||||
if(l10fc.PortFacilityGISISCode?.Length < 4)
|
||||
{
|
||||
while (l10fc.PortFacilityGISISCode.Length < 4) l10fc.PortFacilityGISISCode = "0" + l10fc.PortFacilityGISISCode;
|
||||
}
|
||||
@ -2204,7 +2204,7 @@ namespace bsmd.ExcelReadService
|
||||
}
|
||||
if (reader.Mode == ExcelReader.CountryMode.DE)
|
||||
{
|
||||
if ((ladg.CargoCodeNST != null) && (ladg.CargoCodeNST.Length == 1))
|
||||
if (ladg.CargoCodeNST?.Length == 1)
|
||||
ladg.CargoCodeNST = "0" + ladg.CargoCodeNST;
|
||||
|
||||
if ((ladg.CargoCodeNST != null) && (ladg.CargoCodeNST.Length != 2))
|
||||
@ -2707,7 +2707,7 @@ namespace bsmd.ExcelReadService
|
||||
// okay, könnte DK Locode etc sein..
|
||||
if(poc == null)
|
||||
{
|
||||
if((aGermanPortName != null) && (aGermanPortName.Length == 5)) // possible locode?
|
||||
if(aGermanPortName?.Length == 5) // possible locode?
|
||||
{
|
||||
if (LocodeDB.PortNameFromLocode(aGermanPortName) != null)
|
||||
poc = aGermanPortName;
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
<HintPath>..\packages\log4net.2.0.8\lib\net45-full\log4net.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Office.Interop.Excel, Version=14.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">
|
||||
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||
</Reference>
|
||||
<Reference Include="OpenPop, Version=2.0.6.1120, Culture=neutral, PublicKeyToken=6bdb97f144b7efc8, processorArchitecture=MSIL">
|
||||
|
||||
@ -23,12 +23,12 @@ namespace bsmd.database
|
||||
|
||||
private SqlConnection _con;
|
||||
private static DBManager _instance;
|
||||
private static ILog _log = LogManager.GetLogger(typeof(DBManager));
|
||||
private static readonly ILog _log = LogManager.GetLogger(typeof(DBManager));
|
||||
private static Dictionary<Guid, ReportingParty> allReportingParties;
|
||||
private static Dictionary<string, PortArea> allPortAreas;
|
||||
private object _lock = new object();
|
||||
private readonly object _lock = new object();
|
||||
private bool _closeConnectionAfterUse = false;
|
||||
private List<string> truncatedFieldCollection = new List<string>();
|
||||
private readonly List<string> truncatedFieldCollection = new List<string>();
|
||||
|
||||
#endregion
|
||||
|
||||
@ -50,9 +50,7 @@ namespace bsmd.database
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_instance == null)
|
||||
_instance = new DBManager();
|
||||
return _instance;
|
||||
return _instance ?? (_instance = new DBManager());
|
||||
}
|
||||
}
|
||||
|
||||
@ -91,13 +89,13 @@ namespace bsmd.database
|
||||
|
||||
public void Disconnect()
|
||||
{
|
||||
if ((this._con != null) && (this._con.State == ConnectionState.Open))
|
||||
if (this._con?.State == ConnectionState.Open)
|
||||
this._con.Close();
|
||||
}
|
||||
|
||||
public bool IsConnected
|
||||
{
|
||||
get { return (this._con != null) && (this._con.State == ConnectionState.Open); }
|
||||
get { return (this._con?.State == ConnectionState.Open); }
|
||||
}
|
||||
|
||||
|
||||
@ -346,7 +344,7 @@ namespace bsmd.database
|
||||
|
||||
Message statMessage = this.GetMessage(core, Message.NotificationClass.STAT);
|
||||
|
||||
if ((statMessage != null) && (statMessage.Elements.Count > 0))
|
||||
if (statMessage?.Elements.Count > 0)
|
||||
{
|
||||
STAT stat = statMessage.Elements[0] as STAT;
|
||||
if (stat != null)
|
||||
@ -406,7 +404,7 @@ namespace bsmd.database
|
||||
{
|
||||
Message aMessage = new Message();
|
||||
SqlCommand cmd = new SqlCommand();
|
||||
Message.LoadFilter filter = Message.LoadFilter.BY_ID;
|
||||
const Message.LoadFilter filter = Message.LoadFilter.BY_ID;
|
||||
aMessage.PrepareLoadCommand(cmd, filter, id);
|
||||
|
||||
SqlDataReader reader = this.PerformCommand(cmd);
|
||||
@ -429,7 +427,7 @@ namespace bsmd.database
|
||||
{
|
||||
MessageCore aCore = new MessageCore();
|
||||
SqlCommand cmd = new SqlCommand();
|
||||
Message.LoadFilter filter = Message.LoadFilter.BY_ID;
|
||||
const Message.LoadFilter filter = Message.LoadFilter.BY_ID;
|
||||
aCore.PrepareLoadCommand(cmd, filter, id);
|
||||
|
||||
SqlDataReader reader = this.PerformCommand(cmd);
|
||||
@ -460,7 +458,7 @@ namespace bsmd.database
|
||||
{
|
||||
MessageCore aCore = new MessageCore();
|
||||
SqlCommand cmd = new SqlCommand();
|
||||
Message.LoadFilter filter = Message.LoadFilter.BY_VISITID;
|
||||
const Message.LoadFilter filter = Message.LoadFilter.BY_VISITID;
|
||||
aCore.PrepareLoadCommand(cmd, filter, visitId);
|
||||
|
||||
SqlDataReader reader = this.PerformCommand(cmd);
|
||||
@ -489,7 +487,7 @@ namespace bsmd.database
|
||||
{
|
||||
MessageCore aCore = new MessageCore();
|
||||
SqlCommand cmd = new SqlCommand();
|
||||
Message.LoadFilter filter = Message.LoadFilter.BY_TRANSITID;
|
||||
const Message.LoadFilter filter = Message.LoadFilter.BY_TRANSITID;
|
||||
aCore.PrepareLoadCommand(cmd, filter, transitId);
|
||||
|
||||
SqlDataReader reader = this.PerformCommand(cmd);
|
||||
@ -520,7 +518,7 @@ namespace bsmd.database
|
||||
{
|
||||
MessageCore aCore = new MessageCore();
|
||||
SqlCommand cmd = new SqlCommand();
|
||||
Message.LoadFilter filter = Message.LoadFilter.IMO_ETA_POC;
|
||||
const Message.LoadFilter filter = Message.LoadFilter.IMO_ETA_POC;
|
||||
aCore.PrepareLoadCommand(cmd, filter, imo, eta, poc);
|
||||
SqlDataReader reader = this.PerformCommand(cmd);
|
||||
List<DatabaseEntity> cores = aCore.LoadList(reader);
|
||||
@ -544,9 +542,9 @@ namespace bsmd.database
|
||||
|
||||
foreach (Message message in coreMessages)
|
||||
{
|
||||
if (message is ISublistContainer)
|
||||
if (message is ISublistContainer sublistContainer)
|
||||
{
|
||||
((ISublistContainer)message).DeleteElements();
|
||||
(sublistContainer).DeleteElements();
|
||||
}
|
||||
this.Delete(message);
|
||||
}
|
||||
@ -694,8 +692,8 @@ namespace bsmd.database
|
||||
{
|
||||
if(message.MessageNotificationClass == Message.NotificationClass.HAZD)
|
||||
{
|
||||
if(derivedMessage is HAZ)
|
||||
((HAZ)derivedMessage).IsDeparture = true;
|
||||
if(derivedMessage is HAZ hAZ)
|
||||
(hAZ).IsDeparture = true;
|
||||
}
|
||||
message.Elements.Add(derivedMessage);
|
||||
derivedMessage.MessageHeader = message;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user