Added echolot tool
This commit is contained in:
parent
ba59b69f92
commit
8e5a5b2d62
@ -1,36 +1,72 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<configSections>
|
||||
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,Log4net"/>
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<section name="bsmd.Tool.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false"/>
|
||||
<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.Tool.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"/>
|
||||
<level value="DEBUG" />
|
||||
<appender-ref ref="LogFileAppender" />
|
||||
</root>
|
||||
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
|
||||
<param name="File" value="log.bsmd.Tool.txt"/>
|
||||
<param name="AppendToFile" value="true"/>
|
||||
<rollingStyle value="Size"/>
|
||||
<maxSizeRollBackups value="10"/>
|
||||
<maximumFileSize value="10MB"/>
|
||||
<staticLogFileName value="true"/>
|
||||
<param name="File" value="log.bsmd.Tool.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"/>
|
||||
<param name="ConversionPattern" value="%date [%thread] %-5level [%logger] - %message%newline" />
|
||||
</layout>
|
||||
</appender>
|
||||
</log4net>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
|
||||
</startup>
|
||||
<userSettings>
|
||||
<bsmd.Tool.Properties.Settings>
|
||||
<setting name="ConnectionString" serializeAs="String">
|
||||
<value>replace me!</value>
|
||||
</setting>
|
||||
</bsmd.Tool.Properties.Settings>
|
||||
</userSettings>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.1.0.0" newVersion="3.1.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<applicationSettings>
|
||||
<bsmd.Tool.Properties.Settings>
|
||||
<setting name="ConnectionString" serializeAs="String">
|
||||
<value>replace me!</value>
|
||||
</setting>
|
||||
<setting name="EcholotOutputFolder" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="EcholotMaxThreads" serializeAs="String">
|
||||
<value>4</value>
|
||||
</setting>
|
||||
<setting name="HISNORD_Folder" serializeAs="String">
|
||||
<value>C:\temp\hisnord</value>
|
||||
</setting>
|
||||
<setting name="DBH_Folder" serializeAs="String">
|
||||
<value>C:\temp\dbh</value>
|
||||
</setting>
|
||||
</bsmd.Tool.Properties.Settings>
|
||||
</applicationSettings>
|
||||
</configuration>
|
||||
|
||||
224
bsmd.Tool/Echolot.cs
Normal file
224
bsmd.Tool/Echolot.cs
Normal file
@ -0,0 +1,224 @@
|
||||
// Copyright (c) 2020- schick Informatik
|
||||
// Description: The purpose of this tool is to evaluate files sent both through HIS-Nord and dbh
|
||||
// to evaluate how many classes were sent at what time and by whom to the purpose of improved employee
|
||||
// time planning
|
||||
|
||||
|
||||
using ClosedXML.Excel;
|
||||
using log4net;
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace bsmd.Tool
|
||||
{
|
||||
internal static class Echolot
|
||||
{
|
||||
|
||||
private static readonly ILog _log = LogManager.GetLogger(typeof(Echolot));
|
||||
|
||||
static readonly HashSet<string> ValidGroupingKeys = new HashSet<string>
|
||||
{
|
||||
"VISIT",
|
||||
"TRANSIT",
|
||||
"NOA_NOD",
|
||||
"NOANOD",
|
||||
"ATA",
|
||||
"ATD",
|
||||
"SEC",
|
||||
"POBA",
|
||||
"POBD",
|
||||
"NAME",
|
||||
"TIEFA",
|
||||
"TIEFD",
|
||||
"BKRA",
|
||||
"BKRD",
|
||||
"STAT",
|
||||
"LADG",
|
||||
"INFO",
|
||||
"SERV",
|
||||
"PRE72H",
|
||||
"MDH",
|
||||
"WAS",
|
||||
"CREWA",
|
||||
"PASA",
|
||||
"BPOL",
|
||||
"TOWA",
|
||||
"TOWD",
|
||||
"HAZA",
|
||||
"HAZD",
|
||||
"AGNT",
|
||||
"STO",
|
||||
"CREWD",
|
||||
"PASD",
|
||||
"WAS_RCPT"
|
||||
};
|
||||
|
||||
static readonly HashSet<string> IgnoreGroupingKeys = new HashSet<string>
|
||||
{
|
||||
"VISIT",
|
||||
"TRANSIT",
|
||||
"ATA",
|
||||
"ATD"
|
||||
};
|
||||
|
||||
internal static void Evaluate(string outputFolder, int maxThreads)
|
||||
{
|
||||
DateTime executionTime = DateTime.Now;
|
||||
|
||||
#region first scan: dbh files
|
||||
|
||||
string inputFolder = Properties.Settings.Default.DBH_Folder;
|
||||
var files = Directory.GetFiles(inputFolder, "*.xml");
|
||||
var results = new ConcurrentBag<ResultRow>();
|
||||
|
||||
Parallel.ForEach(files, new ParallelOptions { MaxDegreeOfParallelism = maxThreads }, file =>
|
||||
{
|
||||
try
|
||||
{
|
||||
var doc = XDocument.Load(file);
|
||||
|
||||
// Look for a valid grouping key at the root level
|
||||
var groupingElem = doc.Root.Elements()
|
||||
.FirstOrDefault(x => ValidGroupingKeys.Contains(x.Name.LocalName) && !IgnoreGroupingKeys.Contains(x.Name.LocalName));
|
||||
|
||||
if (groupingElem == null)
|
||||
{
|
||||
_log.InfoFormat("skipping {0}", file);
|
||||
return; // Skip file
|
||||
}
|
||||
|
||||
var lastName = doc.Descendants("RPLastName").FirstOrDefault()?.Value?.Trim();
|
||||
var firstName = doc.Descendants("RPFirstName").FirstOrDefault()?.Value?.Trim();
|
||||
var timestampStr = doc.Descendants("Timestamp").FirstOrDefault()?.Value?.Trim();
|
||||
|
||||
DateTime timestamp = DateTime.Parse(timestampStr);
|
||||
|
||||
results.Add(new ResultRow
|
||||
{
|
||||
FirstName = firstName,
|
||||
LastName = lastName,
|
||||
Timestamp = timestamp,
|
||||
WeekStart = GetWeekStart(timestamp, executionTime.DayOfWeek),
|
||||
Provider = "DBH"
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_log.Error(ex.ToString());
|
||||
}
|
||||
});
|
||||
|
||||
#endregion
|
||||
|
||||
#region second scan: his-nord files
|
||||
|
||||
var inputFolder2 = Properties.Settings.Default.HISNORD_Folder;
|
||||
var files2 = Directory.GetFiles(inputFolder2, "*.xml");
|
||||
|
||||
Parallel.ForEach(files2, new ParallelOptions { MaxDegreeOfParallelism = maxThreads }, file =>
|
||||
{
|
||||
try
|
||||
{
|
||||
var doc = XDocument.Load(file);
|
||||
|
||||
var match = Regex.Match(file, @"-([A-Z0-9_]+)\.xml$", RegexOptions.None);
|
||||
|
||||
string key = "";
|
||||
if (match.Success)
|
||||
{
|
||||
key = match.Groups[1].Value;
|
||||
}
|
||||
|
||||
if((key.Length == 0) || IgnoreGroupingKeys.Contains(key))
|
||||
{
|
||||
_log.InfoFormat("skipping {0}", file);
|
||||
return; // Skip file
|
||||
}
|
||||
|
||||
var username = doc.Descendants("firstname").FirstOrDefault()?.Value?.Trim();
|
||||
if(username == null)
|
||||
{
|
||||
_log.WarnFormat("Username not found in file {0}", file);
|
||||
return;
|
||||
}
|
||||
var splitname = username.Split(' ');
|
||||
var lastName = splitname[1].Trim();
|
||||
var firstName = splitname[0].Trim();
|
||||
|
||||
DateTime timestamp = File.GetCreationTime(file);
|
||||
|
||||
results.Add(new ResultRow
|
||||
{
|
||||
FirstName = firstName,
|
||||
LastName = lastName,
|
||||
Timestamp = timestamp,
|
||||
WeekStart = GetWeekStart(timestamp, executionTime.DayOfWeek),
|
||||
Provider = "HIS-NORD"
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_log.Error(ex.ToString());
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
var grouped = results
|
||||
.GroupBy(r => r.WeekStart)
|
||||
.OrderBy(g => g.Key);
|
||||
|
||||
|
||||
// Write Excel
|
||||
string excelFile = Path.Combine(outputFolder, $"echolot_{executionTime:yyyyMMdd_HHmmss}.xlsx");
|
||||
using (var workbook = new XLWorkbook())
|
||||
{
|
||||
foreach (var weekGroup in grouped)
|
||||
{
|
||||
var ws = workbook.Worksheets.Add(weekGroup.Key.ToString("yyyy-MM-dd"));
|
||||
ws.Cell(1, 1).Value = "Firstname";
|
||||
ws.Cell(1, 2).Value = "Lastname";
|
||||
ws.Cell(1, 3).Value = "Count";
|
||||
int row = 2;
|
||||
|
||||
var orderedGroups = weekGroup
|
||||
.GroupBy(x => new { x.FirstName, x.LastName })
|
||||
.OrderByDescending(g => g.Count()); // Use OrderBy for ascending
|
||||
|
||||
|
||||
foreach (var nameGroup in orderedGroups)
|
||||
{
|
||||
ws.Cell(row, 1).Value = nameGroup.Key.FirstName;
|
||||
ws.Cell(row, 2).Value = nameGroup.Key.LastName;
|
||||
ws.Cell(row, 3).Value = nameGroup.Count();
|
||||
row++;
|
||||
}
|
||||
}
|
||||
workbook.SaveAs(excelFile);
|
||||
}
|
||||
}
|
||||
|
||||
static DateTime GetWeekStart(DateTime date, DayOfWeek weekStart)
|
||||
{
|
||||
int diff = (7 + (date.DayOfWeek - weekStart)) % 7;
|
||||
return date.Date.AddDays(-1 * diff);
|
||||
}
|
||||
|
||||
class ResultRow
|
||||
{
|
||||
public string FirstName { get; set; }
|
||||
public string LastName { get; set; }
|
||||
public DateTime Timestamp { get; set; }
|
||||
public DateTime WeekStart { get; set; }
|
||||
public string Provider { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -25,6 +25,18 @@ namespace bsmd.Tool
|
||||
[Option("locodes", HelpText = "use this flag if you want to import locodes")]
|
||||
public bool ImportLocodes { get; set; }
|
||||
|
||||
[Option("echolot", HelpText = "use this flag to run the echolot output file evaluation")]
|
||||
public bool Echolot { get; set; }
|
||||
|
||||
[Option('i', "input_folder", HelpText = "Input folder")]
|
||||
public string InputFolder { get; set; }
|
||||
|
||||
[Option('o', "output_folder", HelpText = "Output folder")]
|
||||
public string OutputFolder { get; set; }
|
||||
|
||||
[Option("max_threads", HelpText = "Maximum amount of parallelism for folder parsing")]
|
||||
public int? MaxThreads { get; set; }
|
||||
|
||||
[Option('s', "staledays", Default = 30, HelpText ="Delete files older than X days")]
|
||||
public int StaleDays { get; set; }
|
||||
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
using CommandLine;
|
||||
using bsmd.database;
|
||||
using CommandLine;
|
||||
using log4net;
|
||||
using System;
|
||||
|
||||
@ -40,15 +41,24 @@ namespace bsmd.Tool
|
||||
LocodeSQliteImport.Import(o.LocodeDB, o.LocodeCSV);
|
||||
}
|
||||
}
|
||||
if(o.Echolot)
|
||||
{
|
||||
string outputFolder = Properties.Settings.Default.EcholotOutputFolder;
|
||||
if (!o.OutputFolder.IsNullOrEmpty())
|
||||
outputFolder = o.OutputFolder;
|
||||
int maxThreads = 2;
|
||||
if (o.MaxThreads.HasValue) maxThreads = o.MaxThreads.Value;
|
||||
Echolot.Evaluate(outputFolder, maxThreads);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
log.Fatal(ex.ToString());
|
||||
Console.WriteLine(ex.Message);
|
||||
result = 1;
|
||||
}
|
||||
Console.Read();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
41
bsmd.Tool/Properties/Settings.Designer.cs
generated
41
bsmd.Tool/Properties/Settings.Designer.cs
generated
@ -12,7 +12,7 @@ namespace bsmd.Tool.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
@ -23,15 +23,48 @@ namespace bsmd.Tool.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("replace me!")]
|
||||
public string ConnectionString {
|
||||
get {
|
||||
return ((string)(this["ConnectionString"]));
|
||||
}
|
||||
set {
|
||||
this["ConnectionString"] = value;
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("")]
|
||||
public string EcholotOutputFolder {
|
||||
get {
|
||||
return ((string)(this["EcholotOutputFolder"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("4")]
|
||||
public int EcholotMaxThreads {
|
||||
get {
|
||||
return ((int)(this["EcholotMaxThreads"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("C:\\temp\\hisnord")]
|
||||
public string HISNORD_Folder {
|
||||
get {
|
||||
return ((string)(this["HISNORD_Folder"]));
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.ApplicationScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("C:\\temp\\dbh")]
|
||||
public string DBH_Folder {
|
||||
get {
|
||||
return ((string)(this["DBH_Folder"]));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,8 +2,20 @@
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="bsmd.Tool.Properties" GeneratedClassName="Settings">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="ConnectionString" Type="System.String" Scope="User">
|
||||
<Setting Name="ConnectionString" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">replace me!</Value>
|
||||
</Setting>
|
||||
<Setting Name="EcholotOutputFolder" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="EcholotMaxThreads" Type="System.Int32" Scope="Application">
|
||||
<Value Profile="(Default)">4</Value>
|
||||
</Setting>
|
||||
<Setting Name="HISNORD_Folder" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">C:\temp\hisnord</Value>
|
||||
</Setting>
|
||||
<Setting Name="DBH_Folder" Type="System.String" Scope="Application">
|
||||
<Value Profile="(Default)">C:\temp\dbh</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
@ -44,25 +44,62 @@
|
||||
<Reference Include="bsmd.database">
|
||||
<HintPath>..\bsmd.database\bin\Debug\bsmd.database.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="ClosedXML, Version=0.105.0.0, Culture=neutral, PublicKeyToken=fd1eb21b62ae805b, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ClosedXML.0.105.0\lib\netstandard2.0\ClosedXML.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="ClosedXML.Parser, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1d5f7376574c51ec, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ClosedXML.Parser.2.0.0\lib\netstandard2.0\ClosedXML.Parser.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="CommandLine, Version=2.9.1.0, Culture=neutral, PublicKeyToken=5a870481e358d379, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\CommandLineParser.2.9.1\lib\net461\CommandLine.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=2.0.15.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\log4net.2.0.15\lib\net45\log4net.dll</HintPath>
|
||||
<Reference Include="DocumentFormat.OpenXml, Version=3.1.1.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DocumentFormat.OpenXml.3.1.1\lib\net46\DocumentFormat.OpenXml.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DocumentFormat.OpenXml.Framework, Version=3.1.1.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DocumentFormat.OpenXml.Framework.3.1.1\lib\net46\DocumentFormat.OpenXml.Framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="ExcelNumberFormat, Version=1.1.0.0, Culture=neutral, PublicKeyToken=23c6f5d73be07eca, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ExcelNumberFormat.1.1.0\lib\net20\ExcelNumberFormat.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=3.1.0.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\log4net.3.1.0\lib\net462\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.HashCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.HashCode.1.1.1\lib\net461\Microsoft.Bcl.HashCode.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="RBush, Version=4.0.0.0, Culture=neutral, PublicKeyToken=c77e27b81f4d0187, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\RBush.Signed.4.0.0\lib\net47\RBush.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SixLabors.Fonts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d998eea7b14cab13, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SixLabors.Fonts.1.0.0\lib\netstandard2.0\SixLabors.Fonts.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.SQLite, Version=1.0.117.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\lib\net46\System.Data.SQLite.dll</HintPath>
|
||||
<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>
|
||||
</Reference>
|
||||
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.7.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="..\bsmd.database\Properties\AssemblyProductInfo.cs">
|
||||
@ -76,6 +113,7 @@
|
||||
</Compile>
|
||||
<Compile Include="CheckRules.cs" />
|
||||
<Compile Include="CleanupFiles.cs" />
|
||||
<Compile Include="Echolot.cs" />
|
||||
<Compile Include="LocodeSQliteImport.cs" />
|
||||
<Compile Include="Options.cs" />
|
||||
<Compile Include="Program.cs" />
|
||||
@ -89,6 +127,7 @@
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
<None Include="..\bsmdKey.snk" />
|
||||
<None Include="bsmd.Tool.licenseheader" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
@ -96,12 +135,12 @@
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0\build\net46\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.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.117.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0\build\net46\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.119.0\build\net46\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.
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
|
||||
<StartArguments>--locodes --csv="C:\svn_lager\bsmd\nsw\Archiv\2022-2.UNLOCODE.all.csv" --db "C:\git_lager\git_bsmd\misc\db.sqlite"</StartArguments>
|
||||
<StartArguments>--echolot --output_folder="C:\temp"</StartArguments>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
14
bsmd.Tool/bsmd.Tool.licenseheader
Normal file
14
bsmd.Tool/bsmd.Tool.licenseheader
Normal file
@ -0,0 +1,14 @@
|
||||
extensions: designer.cs generated.cs
|
||||
extensions: .cs .cpp .h
|
||||
// Copyright (c) 2020- schick Informatik
|
||||
// Description:
|
||||
//
|
||||
|
||||
extensions: .aspx .ascx
|
||||
<%--
|
||||
Copyright (c) 2020- schick Informatik
|
||||
--%>
|
||||
extensions: .xml .config .xsd
|
||||
<!--
|
||||
Copyright (c) 2020- schick Informatik
|
||||
-->
|
||||
@ -1,7 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="ClosedXML" version="0.105.0" targetFramework="net48" />
|
||||
<package id="ClosedXML.Parser" version="2.0.0" targetFramework="net48" />
|
||||
<package id="CommandLineParser" version="2.9.1" targetFramework="net48" />
|
||||
<package id="log4net" version="2.0.15" targetFramework="net48" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.117.0" targetFramework="net48" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.117.0" targetFramework="net48" />
|
||||
<package id="DocumentFormat.OpenXml" version="3.1.1" targetFramework="net48" />
|
||||
<package id="DocumentFormat.OpenXml.Framework" version="3.1.1" targetFramework="net48" />
|
||||
<package id="ExcelNumberFormat" version="1.1.0" targetFramework="net48" />
|
||||
<package id="log4net" version="3.1.0" targetFramework="net48" />
|
||||
<package id="Microsoft.Bcl.HashCode" version="1.1.1" targetFramework="net48" />
|
||||
<package id="RBush.Signed" version="4.0.0" targetFramework="net48" />
|
||||
<package id="SixLabors.Fonts" version="1.0.0" targetFramework="net48" />
|
||||
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.119.0" targetFramework="net48" />
|
||||
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
|
||||
<package id="System.Data.SQLite.Core" version="1.0.119.0" targetFramework="net48" />
|
||||
<package id="System.Memory" version="4.5.5" targetFramework="net48" />
|
||||
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="4.7.0" targetFramework="net48" />
|
||||
</packages>
|
||||
Loading…
Reference in New Issue
Block a user