diff --git a/AiCoreUnitTest/AiCoreUnitTest.csproj b/AiCoreUnitTest/AiCoreUnitTest.csproj
index 3cbaa4680..37b1ec8fa 100644
--- a/AiCoreUnitTest/AiCoreUnitTest.csproj
+++ b/AiCoreUnitTest/AiCoreUnitTest.csproj
@@ -54,6 +54,7 @@
+
diff --git a/AiCoreUnitTest/app.config b/AiCoreUnitTest/app.config
new file mode 100644
index 000000000..1c15ab99e
--- /dev/null
+++ b/AiCoreUnitTest/app.config
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Host/Download.aspx.cs b/Host/Download.aspx.cs
index 76feb4cb7..918b49e5e 100644
--- a/Host/Download.aspx.cs
+++ b/Host/Download.aspx.cs
@@ -6,7 +6,6 @@ using System.Web.UI;
using BeWo.Data;
using BS.Shared.Core;
-using BeWo.Service.Security;
using SecurityUtils = BeWo.Service.Security.SecurityUtils;
public partial class Download : Page
diff --git a/Host/ReportView.aspx.cs b/Host/ReportView.aspx.cs
index ecb7f0a92..65142f896 100644
--- a/Host/ReportView.aspx.cs
+++ b/Host/ReportView.aspx.cs
@@ -12,7 +12,6 @@ using BS.Shared.DataContracts;
using BeWo.Data;
using BeWo.Report;
-using BeWo.Service.Security;
using DevExpress.XtraPrinting;
using DevExpress.XtraReports.UI;
diff --git a/Host/ResetPassword.aspx.cs b/Host/ResetPassword.aspx.cs
index b37c22e43..56f2e9173 100644
--- a/Host/ResetPassword.aspx.cs
+++ b/Host/ResetPassword.aspx.cs
@@ -3,7 +3,6 @@ using System.IO;
using System.Linq;
using BeWo.Data.Entities;
-using BeWo.Service.Security;
using BS.Shared;
diff --git a/Host/Web.Deploy.config b/Host/Web.Deploy.config
index e17f5e268..f25f603bd 100644
--- a/Host/Web.Deploy.config
+++ b/Host/Web.Deploy.config
@@ -389,6 +389,7 @@
+
diff --git a/Host/Web.config b/Host/Web.config
index 8c3ef01e1..2f9b61b07 100644
--- a/Host/Web.config
+++ b/Host/Web.config
@@ -400,22 +400,22 @@
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
+
diff --git a/Server/Components/AICore/AICore.csproj b/Server/Components/AICore/AICore.csproj
index d862a9376..516acdb06 100644
--- a/Server/Components/AICore/AICore.csproj
+++ b/Server/Components/AICore/AICore.csproj
@@ -109,10 +109,11 @@
-
+
-
+
+
diff --git a/Server/Components/AICore/Prompt/Core/AiConversationSystemInstructionBuilder.cs b/Server/Components/AICore/Prompt/SystemInstruction/AiConversationSystemInstructionBuilder.cs
similarity index 83%
rename from Server/Components/AICore/Prompt/Core/AiConversationSystemInstructionBuilder.cs
rename to Server/Components/AICore/Prompt/SystemInstruction/AiConversationSystemInstructionBuilder.cs
index 85082aa44..4c82f38b7 100644
--- a/Server/Components/AICore/Prompt/Core/AiConversationSystemInstructionBuilder.cs
+++ b/Server/Components/AICore/Prompt/SystemInstruction/AiConversationSystemInstructionBuilder.cs
@@ -1,6 +1,5 @@
using AICore.Context.Summary;
using AICore.Context.SummaryParser;
-using BeWo.ServerUtils.Core;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.Exceptions;
@@ -13,15 +12,19 @@ using System.Reflection;
using System.Text;
using System.Text.Json;
-namespace AICore.Prompt.Core
+namespace AICore.Prompt.SystemInstruction
{
- public class AiConversationSystemInstructionBuilder
+ public class AiConversationSystemInstructionBuilder : BaseSystemInstructionBuilder
{
+ public AiConversationSystemInstructionBuilder(string prompt_path) : base(prompt_path) {
+
+ }
+
public string CreateSystemInstructions(AiContextType uicontext, BaseContextSummary context, AiDataContextType aiDataContextType)
{
var sb = new StringBuilder();
- sb.AppendLine(getCustomSystemPrompt());
+ sb.AppendLine(getCustomSystemPrompt("customSystemInstruction.txt"));
sb.AppendLine("### **Allgemein**");
sb.AppendLine($"- Aktuelle Zeit: {DateTime.Now}");
@@ -69,13 +72,5 @@ namespace AICore.Prompt.Core
throw BeWoNotImplementedException.CreateFromEnum(aiDataContextType);
}
-
- private string getCustomSystemPrompt()
- {
- var root = MergedConfig.GetSetting("AiRootPath");
- var path = Path.Combine(root, "systemPrompts", "customSystemInstruction.txt");
-
- return File.ReadAllText(path);
- }
}
}
\ No newline at end of file
diff --git a/Server/Components/AICore/Prompt/Core/AiFunctionSystemInstructionBuilder.cs b/Server/Components/AICore/Prompt/SystemInstruction/AiFunctionSystemInstructionBuilder.cs
similarity index 73%
rename from Server/Components/AICore/Prompt/Core/AiFunctionSystemInstructionBuilder.cs
rename to Server/Components/AICore/Prompt/SystemInstruction/AiFunctionSystemInstructionBuilder.cs
index b36681a3a..ad38689bb 100644
--- a/Server/Components/AICore/Prompt/Core/AiFunctionSystemInstructionBuilder.cs
+++ b/Server/Components/AICore/Prompt/SystemInstruction/AiFunctionSystemInstructionBuilder.cs
@@ -1,7 +1,6 @@
using AICore.Context.Summary;
using AICore.Context.Summary.Function;
using AICore.Context.SummaryParser;
-using BeWo.ServerUtils.Core;
using BS.Shared;
using BS.Shared.Core;
using Newtonsoft.Json.Linq;
@@ -12,15 +11,20 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
-namespace AICore.Prompt.Core
+namespace AICore.Prompt.SystemInstruction
{
- public class AiFunctionSystemInstructionBuilder
+ public class AiFunctionSystemInstructionBuilder : BaseSystemInstructionBuilder
{
- public string CreateServiceRecordDocumentationSystemInstructions(AiFunctionType functionType, BaseContextSummary context)
+ public AiFunctionSystemInstructionBuilder(string prompt_path) : base(prompt_path)
+ {
+
+ }
+
+ public string CreateServiceRecordDocumentationSystemInstructions(BaseContextSummary context)
{
var sb = new StringBuilder();
- sb.AppendLine(getCustomSystemPrompt());
+ sb.AppendLine(getCustomSystemPrompt("customFunctionSystemInstruction.txt"));
sb.AppendLine("### **Allgemein**");
sb.AppendLine($"- Aktuelle Zeit: {DateTime.Now}");
@@ -47,13 +51,5 @@ namespace AICore.Prompt.Core
return sb.ToString();
}
-
- private string getCustomSystemPrompt()
- {
- var root = MergedConfig.GetSetting("AiRootPath");
- var path = Path.Combine(root, "systemPrompts", "customFunctionSystemInstruction.txt");
-
- return File.ReadAllText(path);
- }
}
}
\ No newline at end of file
diff --git a/Server/Components/AICore/Prompt/SystemInstruction/BaseSystemInstructionBuilder.cs b/Server/Components/AICore/Prompt/SystemInstruction/BaseSystemInstructionBuilder.cs
new file mode 100644
index 000000000..373a95000
--- /dev/null
+++ b/Server/Components/AICore/Prompt/SystemInstruction/BaseSystemInstructionBuilder.cs
@@ -0,0 +1,26 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AICore.Prompt.SystemInstruction
+{
+ public class BaseSystemInstructionBuilder
+ {
+ public string SystemPromptFolderPath { get; set; }
+
+ public BaseSystemInstructionBuilder(string systemPromptFolderPath)
+ {
+ SystemPromptFolderPath = systemPromptFolderPath;
+ }
+
+ protected string getCustomSystemPrompt(string file)
+ {
+ var systemPrompts = SystemPromptFolderPath;
+ var path = Path.Combine(systemPrompts, file);
+ return File.ReadAllText(path);
+ }
+ }
+}
diff --git a/Server/Components/ServerUtils/ApiFacade/HttpClientFacade.cs b/Server/Components/ServerUtils/ApiFacade/HttpClientFacade.cs
index 81d343add..9f0515ecc 100644
--- a/Server/Components/ServerUtils/ApiFacade/HttpClientFacade.cs
+++ b/Server/Components/ServerUtils/ApiFacade/HttpClientFacade.cs
@@ -2,7 +2,6 @@
using BS.Shared.DataContracts;
using BS.Shared.Exceptions;
using BS.Shared.Interface;
-using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Diagnostics.Eventing.Reader;
@@ -15,6 +14,7 @@ using System.Runtime.CompilerServices;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;
using System.Text;
+using System.Text.Json;
using System.Threading.Tasks;
namespace BeWo.ServerUtils.ApiFacade
@@ -63,7 +63,7 @@ namespace BeWo.ServerUtils.ApiFacade
var json = await http_response.Content.ReadAsStringAsync().ConfigureAwait(false);
- return parse(() => JsonConvert.DeserializeAnonymousType(json, anonymousType), json, extractor);
+ return parse(() => JsonSerializer.Deserialize(json, JsonSerializerOptions.Default), json, extractor);
}
///
diff --git a/Server/Components/ServerUtils/ApiFacade/JsonHttpClientFacade.cs b/Server/Components/ServerUtils/ApiFacade/JsonHttpClientFacade.cs
index 4d934ebd8..3e963b1d4 100644
--- a/Server/Components/ServerUtils/ApiFacade/JsonHttpClientFacade.cs
+++ b/Server/Components/ServerUtils/ApiFacade/JsonHttpClientFacade.cs
@@ -1,5 +1,5 @@
-using Newtonsoft.Json;
-using System.Net.Http;
+using System.Net.Http;
+using System.Text.Json;
using System.Threading.Tasks;
namespace BeWo.ServerUtils.ApiFacade
@@ -31,7 +31,7 @@ namespace BeWo.ServerUtils.ApiFacade
// Add body if POST or PUT
if (Method == HttpMethod.Post || Method == HttpMethod.Put)
{
- var json = JsonConvert.SerializeObject(JsonObject);
+ var json = JsonSerializer.Serialize(JsonObject);
request.Content = new StringContent(json, Encoding, "application/json");
}
diff --git a/Server/Components/ServerUtils/Core/MergedConfig.cs b/Server/Components/ServerUtils/Core/MergedConfig.cs
deleted file mode 100644
index fa0b53c47..000000000
--- a/Server/Components/ServerUtils/Core/MergedConfig.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System;
-using System.Configuration;
-using System.IO;
-using System.Xml;
-
-namespace BeWo.ServerUtils.Core
-{
- public static class MergedConfig
- {
- public static string GetSetting(string key)
- {
- // 1. Versuche, aus AppSettings.local.config zu lesen
- var localConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Web.Secrets.config");
- if (File.Exists(localConfigPath))
- {
- var xml = new XmlDocument();
- xml.Load(localConfigPath);
- var node = xml.SelectSingleNode($"/appSettings/add[@key='{key}']");
- if (node is XmlElement element)
- return element.GetAttribute("value");
- }
-
- // 2. Fallback: Standard-AppSettings
- return ConfigurationManager.AppSettings[key];
- }
- }
-}
diff --git a/Server/Components/ServerUtils/ServerUtils.csproj b/Server/Components/ServerUtils/ServerUtils.csproj
index 791c38b51..7e7cf931b 100644
--- a/Server/Components/ServerUtils/ServerUtils.csproj
+++ b/Server/Components/ServerUtils/ServerUtils.csproj
@@ -31,12 +31,42 @@
4
+
+ ..\..\..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.2\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll
+
-
+
+ ..\..\..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll
+
+
+ ..\..\..\packages\System.IO.Pipelines.9.0.2\lib\net462\System.IO.Pipelines.dll
+
+
+ ..\..\..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll
+
+
+
+ ..\..\..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll
+
+
+ ..\..\..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll
+
+
+ ..\..\..\packages\System.Text.Encodings.Web.9.0.2\lib\net462\System.Text.Encodings.Web.dll
+
+
+ ..\..\..\packages\System.Text.Json.9.0.2\lib\net462\System.Text.Json.dll
+
+
+ ..\..\..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
+
+
+ ..\..\..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll
+
@@ -46,7 +76,6 @@
-
@@ -58,5 +87,12 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Server/Components/ServerUtils/app.config b/Server/Components/ServerUtils/app.config
new file mode 100644
index 000000000..1696df668
--- /dev/null
+++ b/Server/Components/ServerUtils/app.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Server/Components/ServerUtils/packages.config b/Server/Components/ServerUtils/packages.config
new file mode 100644
index 000000000..fa26128c9
--- /dev/null
+++ b/Server/Components/ServerUtils/packages.config
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Service/BeWoServiceEnums.cs b/Service/BeWoServiceEnums.cs
index 230b4e47e..5f47877c5 100644
--- a/Service/BeWoServiceEnums.cs
+++ b/Service/BeWoServiceEnums.cs
@@ -19,7 +19,9 @@ namespace BeWo.Service
WCFErrorLogFilePath,
JsonErrorLogFilePath,
ApiServiceTestFilePath,
- AiServiceLogFilePath
+ AiServiceLogFilePath,
+ AiRootPath,
+ BeWoPlanerServiceRoot
}
[DefaultValue(None)]
diff --git a/Service/Core/MergedConfig.cs b/Service/Core/MergedConfig.cs
index 158666349..513a01cac 100644
--- a/Service/Core/MergedConfig.cs
+++ b/Service/Core/MergedConfig.cs
@@ -1,11 +1,6 @@
-using BeWo.Data.Entities;
-using System;
-using System.Collections.Generic;
+using System;
using System.Configuration;
using System.IO;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
using System.Xml;
namespace BeWo.Service.Core
diff --git a/Service/Core/PathHelper.cs b/Service/Core/PathHelper.cs
new file mode 100644
index 000000000..3bb039fc2
--- /dev/null
+++ b/Service/Core/PathHelper.cs
@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace BeWo.Service.Core
+{
+ public static class PathHelper
+ {
+ #region AI
+ private static string GetAiPath()
+ => Path.Combine(getRoot(), "AI");
+ public static string GetAiSystemPromptPath()
+ => Path.Combine(GetAiPath(), "systemPrompts");
+ #endregion
+
+
+ private static string getRoot()
+ => MergedConfig.GetSetting(WebConfigSetting.BeWoPlanerServiceRoot);
+ }
+}
diff --git a/Service/Core/ServiceHelper.cs b/Service/Core/ServiceHelper.cs
index 2445fb13c..62288daa1 100644
--- a/Service/Core/ServiceHelper.cs
+++ b/Service/Core/ServiceHelper.cs
@@ -5,11 +5,10 @@ using System.ServiceModel;
using System.ServiceModel.Channels;
using System.Text;
using System.Threading.Tasks;
-using BeWo.Service.ServiceContracts;
using System.ServiceModel.Dispatcher;
-using BeWo.Service.Attributes;
using BeWo.Service.ServiceUtils;
using BS.Shared.Extensions;
+using BeWo.ServerUtils;
namespace BeWo.Service.Core
{
diff --git a/Service/Core/Utils.cs b/Service/Core/Utils.cs
index 0c5a924c2..319e06103 100644
--- a/Service/Core/Utils.cs
+++ b/Service/Core/Utils.cs
@@ -16,7 +16,6 @@ using System.Xml;
using BeWo.Data;
using BeWo.Data.Entities;
using BeWo.Data.Security;
-using BeWo.Service.ServiceContracts;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.Extensions;
diff --git a/Service/DCEntityMapper/AbstractIDCEntityMapper.cs b/Service/DCEntityMapper/AbstractIDCEntityMapper.cs
index 798d41e70..29daceb4d 100644
--- a/Service/DCEntityMapper/AbstractIDCEntityMapper.cs
+++ b/Service/DCEntityMapper/AbstractIDCEntityMapper.cs
@@ -5,7 +5,6 @@ using System.Linq;
using BeWo.Data.Entities;
using BeWo.Service.Core;
-using BeWo.Service.Interfaces;
using BS.Shared;
using BS.Shared.Extensions;
diff --git a/Service/Dokumentverwaltung/CustomerPlaceholderManager.cs b/Service/Dokumentverwaltung/CustomerPlaceholderManager.cs
index b18d19e63..79a7bca38 100644
--- a/Service/Dokumentverwaltung/CustomerPlaceholderManager.cs
+++ b/Service/Dokumentverwaltung/CustomerPlaceholderManager.cs
@@ -1,6 +1,5 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.DataContracts;
using DevExpress.XtraRichEdit;
diff --git a/Service/Dokumentverwaltung/EmployeePlaceholderManager.cs b/Service/Dokumentverwaltung/EmployeePlaceholderManager.cs
index 6d4282b4a..84eff830c 100644
--- a/Service/Dokumentverwaltung/EmployeePlaceholderManager.cs
+++ b/Service/Dokumentverwaltung/EmployeePlaceholderManager.cs
@@ -1,6 +1,5 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.DataContracts;
using DevExpress.XtraRichEdit;
diff --git a/Service/Dokumentverwaltung/PlaceholderManager.cs b/Service/Dokumentverwaltung/PlaceholderManager.cs
index c50e99a7c..4682b17a8 100644
--- a/Service/Dokumentverwaltung/PlaceholderManager.cs
+++ b/Service/Dokumentverwaltung/PlaceholderManager.cs
@@ -1,6 +1,5 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.DataContracts;
using DevExpress.XtraRichEdit;
diff --git a/Service/Dokumentverwaltung/VgaPlaceholderManager.cs b/Service/Dokumentverwaltung/VgaPlaceholderManager.cs
index c0190f790..cfa74f847 100644
--- a/Service/Dokumentverwaltung/VgaPlaceholderManager.cs
+++ b/Service/Dokumentverwaltung/VgaPlaceholderManager.cs
@@ -1,6 +1,5 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.DataContracts;
using DevExpress.XtraRichEdit;
diff --git a/Service/Dokumentverwaltung/WohnheimPlaceholderManager.cs b/Service/Dokumentverwaltung/WohnheimPlaceholderManager.cs
index fcd2a7a22..b76b8315b 100644
--- a/Service/Dokumentverwaltung/WohnheimPlaceholderManager.cs
+++ b/Service/Dokumentverwaltung/WohnheimPlaceholderManager.cs
@@ -1,6 +1,5 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.DataContracts;
using DevExpress.XtraRichEdit;
diff --git a/Service/Import/AvisImport/LvrAvisTextAbschnittReader.cs b/Service/Import/AvisImport/LvrAvisTextAbschnittReader.cs
index 67b77d803..fb8b4be26 100644
--- a/Service/Import/AvisImport/LvrAvisTextAbschnittReader.cs
+++ b/Service/Import/AvisImport/LvrAvisTextAbschnittReader.cs
@@ -1,5 +1,4 @@
-using BeWo.Service.Import;
-using DevExpress.Pdf;
+using DevExpress.Pdf;
using System;
using System.Collections.Generic;
using System.IO;
diff --git a/Service/Invoicing/EquityInvoiceCreation.cs b/Service/Invoicing/EquityInvoiceCreation.cs
index 8c660f6ac..eca1d6301 100644
--- a/Service/Invoicing/EquityInvoiceCreation.cs
+++ b/Service/Invoicing/EquityInvoiceCreation.cs
@@ -5,8 +5,6 @@ using System.Linq;
using BeWo.Data;
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
-using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
diff --git a/Service/Invoicing/GeneralInvoiceCreation.cs b/Service/Invoicing/GeneralInvoiceCreation.cs
index c731ff689..49e068963 100644
--- a/Service/Invoicing/GeneralInvoiceCreation.cs
+++ b/Service/Invoicing/GeneralInvoiceCreation.cs
@@ -5,8 +5,6 @@ using System.Linq;
using BeWo.Data;
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
-using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
diff --git a/Service/Invoicing/LVRInvoiceCreation.cs b/Service/Invoicing/LVRInvoiceCreation.cs
index 7f64a78c2..4f0cb5da2 100644
--- a/Service/Invoicing/LVRInvoiceCreation.cs
+++ b/Service/Invoicing/LVRInvoiceCreation.cs
@@ -8,7 +8,6 @@ using BS.Shared.Extensions;
using BS.Shared.Services;
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
namespace BeWo.Service.Invoicing
{
diff --git a/Service/Invoicing/LWLDiggaBerechnung.cs b/Service/Invoicing/LWLDiggaBerechnung.cs
index 926e7bf98..78e692ed5 100644
--- a/Service/Invoicing/LWLDiggaBerechnung.cs
+++ b/Service/Invoicing/LWLDiggaBerechnung.cs
@@ -4,7 +4,6 @@ using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
-using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
diff --git a/Service/Plugins/AiFunctionService.cs b/Service/Plugins/AiFunctionService.cs
index a09dd3d6b..9b9e52054 100644
--- a/Service/Plugins/AiFunctionService.cs
+++ b/Service/Plugins/AiFunctionService.cs
@@ -1,7 +1,5 @@
-using AICore.Prompt.Core;
-using BeWo.Data.Access;
+using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
using BeWo.Service.ServiceProxy;
using BeWo.Service.ServiceUtils;
using BS.Shared;
@@ -16,6 +14,8 @@ using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using AICore.Prompt.SystemInstruction;
+using BeWo.Service.Core;
namespace BeWo.Service.Plugins
{
@@ -32,8 +32,9 @@ namespace BeWo.Service.Plugins
// Anfrage zusammensetzen
var context = AiFunctionContextLoader.LoadServiceRecordDocumentationContext(request);
- var factory = new AiFunctionSystemInstructionBuilder();
- var system_prompt = factory.CreateServiceRecordDocumentationSystemInstructions(AiFunctionType.ServiceRecordDocumentation, context);
+ var systemInstructionsFolderPath = PathHelper.GetAiSystemPromptPath();
+ var factory = new AiFunctionSystemInstructionBuilder(systemInstructionsFolderPath);
+ var system_prompt = factory.CreateServiceRecordDocumentationSystemInstructions(context);
var user_prompt = request.AiPromptbaustein;
var user_prompt_oid = user_prompt.Oid;
diff --git a/Service/Plugins/AiService.cs b/Service/Plugins/AiService.cs
index 7ba261083..a0ab2031c 100644
--- a/Service/Plugins/AiService.cs
+++ b/Service/Plugins/AiService.cs
@@ -8,7 +8,6 @@ using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
-using BeWo.Service.Invoicing;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
diff --git a/Service/Plugins/AiService2.cs b/Service/Plugins/AiService2.cs
index 7ec8c4594..f84299bf9 100644
--- a/Service/Plugins/AiService2.cs
+++ b/Service/Plugins/AiService2.cs
@@ -9,14 +9,12 @@ using System.ServiceModel;
using System.Text;
using System.Web.Hosting;
using AICore.Prompt.Core;
+using AICore.Prompt.SystemInstruction;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Data.Security;
using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper;
-using BeWo.Service.Invoicing;
-using BeWo.Service.ServiceContracts;
-using BeWo.Service.ServiceImplementations;
using BeWo.Service.ServiceProxy;
using BeWo.Service.ServiceUtils;
using BS.Shared;
@@ -272,7 +270,8 @@ namespace BeWo.Service.Plugins
{
var current_user = UserRightHelper.GetLoggedInUserWithOid();
- var factory = new AiConversationSystemInstructionBuilder();
+ var systemInstructionsFolderPath = PathHelper.GetAiSystemPromptPath();
+ var factory = new AiConversationSystemInstructionBuilder(systemInstructionsFolderPath);
var context_loaded = AiContextLoader.LoadContext(uicontext, context_reference);
var system_prompt = factory.CreateSystemInstructions(uicontext, context_loaded, context_Type);
diff --git a/Service/Plugins/EmployeeService.cs b/Service/Plugins/EmployeeService.cs
index c3e817825..c2b8a1ae3 100644
--- a/Service/Plugins/EmployeeService.cs
+++ b/Service/Plugins/EmployeeService.cs
@@ -8,7 +8,6 @@ using BeWo.Data.Entities;
using BeWo.Data.Security;
using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper;
-using BeWo.Service.MessageContracts;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
diff --git a/Service/Plugins/FlexibleReportService.cs b/Service/Plugins/FlexibleReportService.cs
index 5ec94089e..a981eb00f 100644
--- a/Service/Plugins/FlexibleReportService.cs
+++ b/Service/Plugins/FlexibleReportService.cs
@@ -5,7 +5,6 @@ using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
-using BeWo.Service.MessageContracts;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
diff --git a/Service/Plugins/ServiceRecordValidator.cs b/Service/Plugins/ServiceRecordValidator.cs
index 083c02df8..ecfa7c60a 100644
--- a/Service/Plugins/ServiceRecordValidator.cs
+++ b/Service/Plugins/ServiceRecordValidator.cs
@@ -13,7 +13,6 @@ using BS.Shared.Extensions;
using BS.Shared.Services;
using BeWo.Service.Configuration;
using BeWo.Data.Security;
-using BeWo.Service.Security;
using SecurityUtils = BeWo.Service.Security.SecurityUtils;
diff --git a/Service/Plugins/StundenuebersichtAuswertung.cs b/Service/Plugins/StundenuebersichtAuswertung.cs
index b9f5bba79..25c093a2a 100644
--- a/Service/Plugins/StundenuebersichtAuswertung.cs
+++ b/Service/Plugins/StundenuebersichtAuswertung.cs
@@ -7,7 +7,6 @@ using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.Configuration;
using BeWo.Service.DCEntityMapper;
-using BeWo.Service.MessageContracts;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
diff --git a/Service/Plugins/SupportConceptAnalysisCreator.cs b/Service/Plugins/SupportConceptAnalysisCreator.cs
index 3efb13c21..f9e424cf2 100644
--- a/Service/Plugins/SupportConceptAnalysisCreator.cs
+++ b/Service/Plugins/SupportConceptAnalysisCreator.cs
@@ -12,7 +12,6 @@ using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions;
using BS.Shared.Services;
-using BeWo.Service.Configuration;
using System.Text;
namespace BeWo.Service.Plugins
diff --git a/Service/Plugins/TimeSheetService.cs b/Service/Plugins/TimeSheetService.cs
index ed1e8dc97..3951c5cf5 100644
--- a/Service/Plugins/TimeSheetService.cs
+++ b/Service/Plugins/TimeSheetService.cs
@@ -12,7 +12,6 @@ using BeWo.Data;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
-using BeWo.Service.Plugins;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
diff --git a/Service/Plugins/TranslationDictionary.cs b/Service/Plugins/TranslationDictionary.cs
index 1f4a2dace..33369d53c 100644
--- a/Service/Plugins/TranslationDictionary.cs
+++ b/Service/Plugins/TranslationDictionary.cs
@@ -4,7 +4,6 @@ using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.Core;
diff --git a/Service/Plugins/UserService.cs b/Service/Plugins/UserService.cs
index d490514e2..42d20e8a1 100644
--- a/Service/Plugins/UserService.cs
+++ b/Service/Plugins/UserService.cs
@@ -7,7 +7,6 @@ using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Data.Security;
using BeWo.Service.DCEntityMapper;
-using BeWo.Service.MessageContracts;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
diff --git a/Service/Plugins/XRechnungService.cs b/Service/Plugins/XRechnungService.cs
index 6e40dfd32..1a7d9913b 100644
--- a/Service/Plugins/XRechnungService.cs
+++ b/Service/Plugins/XRechnungService.cs
@@ -5,7 +5,6 @@ using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.ServiceImplementations;
using BeWo.Service.ServiceProxy;
-using BeWo.Service.ServiceUtils;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
diff --git a/Service/Reporting/IJahresBerichtElement.cs b/Service/Reporting/IJahresBerichtElement.cs
index 8d3a06d67..d32e02225 100644
--- a/Service/Reporting/IJahresBerichtElement.cs
+++ b/Service/Reporting/IJahresBerichtElement.cs
@@ -8,8 +8,6 @@ using BS.Shared.DataContracts;
using BS.Shared.Services;
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
-using BeWo.Service.Plugins;
using Castle.Components.DictionaryAdapter;
using NHibernate.Linq;
diff --git a/Service/Reporting/JahresBerichtNachAlter.cs b/Service/Reporting/JahresBerichtNachAlter.cs
index 5dcf2414a..4da53cadf 100644
--- a/Service/Reporting/JahresBerichtNachAlter.cs
+++ b/Service/Reporting/JahresBerichtNachAlter.cs
@@ -8,8 +8,6 @@ using BS.Shared.DataContracts;
using BS.Shared.Services;
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
-using BeWo.Service.Plugins;
using Castle.Components.DictionaryAdapter;
using NHibernate.Linq;
diff --git a/Service/Reporting/JahresBerichtNachDiagnose.cs b/Service/Reporting/JahresBerichtNachDiagnose.cs
index e02a98ffd..cb84693c2 100644
--- a/Service/Reporting/JahresBerichtNachDiagnose.cs
+++ b/Service/Reporting/JahresBerichtNachDiagnose.cs
@@ -8,8 +8,6 @@ using BS.Shared.DataContracts;
using BS.Shared.Services;
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
-using BeWo.Service.Plugins;
using Castle.Components.DictionaryAdapter;
using NHibernate.Linq;
diff --git a/Service/Reporting/JahresBerichtNachKlinikaufenthalt.cs b/Service/Reporting/JahresBerichtNachKlinikaufenthalt.cs
index 9ba0449e0..2268be873 100644
--- a/Service/Reporting/JahresBerichtNachKlinikaufenthalt.cs
+++ b/Service/Reporting/JahresBerichtNachKlinikaufenthalt.cs
@@ -8,8 +8,6 @@ using BS.Shared.DataContracts;
using BS.Shared.Services;
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
-using BeWo.Service.Plugins;
using Castle.Components.DictionaryAdapter;
using NHibernate.Linq;
diff --git a/Service/Reporting/JahresBerichtNachVarFieldDef.cs b/Service/Reporting/JahresBerichtNachVarFieldDef.cs
index 23fe7f2c1..9f1659c5c 100644
--- a/Service/Reporting/JahresBerichtNachVarFieldDef.cs
+++ b/Service/Reporting/JahresBerichtNachVarFieldDef.cs
@@ -8,8 +8,6 @@ using BS.Shared.DataContracts;
using BS.Shared.Services;
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
-using BeWo.Service.Plugins;
using Castle.Components.DictionaryAdapter;
using NHibernate.Linq;
diff --git a/Service/Service.csproj b/Service/Service.csproj
index 11bb53c01..20e6da829 100644
--- a/Service/Service.csproj
+++ b/Service/Service.csproj
@@ -224,13 +224,13 @@
-
+
@@ -516,6 +516,7 @@
+
@@ -609,6 +610,10 @@
{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}
AICore
+
+ {EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}
+ ServerUtils
+
{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}
Shared
diff --git a/Service/ServiceBehavior/AdminHibernateBehavior.cs b/Service/ServiceBehavior/AdminHibernateBehavior.cs
index 42608c307..3a54c8cd8 100644
--- a/Service/ServiceBehavior/AdminHibernateBehavior.cs
+++ b/Service/ServiceBehavior/AdminHibernateBehavior.cs
@@ -1,5 +1,4 @@
-using BeWo.Service.UnitOfWork;
-using System;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel.Channels;
diff --git a/Service/ServiceBehavior/AdminHibernateBehaviorExtension.cs b/Service/ServiceBehavior/AdminHibernateBehaviorExtension.cs
index cfb6fc892..e25049e92 100644
--- a/Service/ServiceBehavior/AdminHibernateBehaviorExtension.cs
+++ b/Service/ServiceBehavior/AdminHibernateBehaviorExtension.cs
@@ -1,5 +1,4 @@
-using BeWo.Service.UnitOfWork;
-using System;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel.Configuration;
diff --git a/Service/ServiceBehavior/AdminMultitenancyBehavior.cs b/Service/ServiceBehavior/AdminMultitenancyBehavior.cs
index bd037b4f5..5186c7ef9 100644
--- a/Service/ServiceBehavior/AdminMultitenancyBehavior.cs
+++ b/Service/ServiceBehavior/AdminMultitenancyBehavior.cs
@@ -1,5 +1,4 @@
-using BeWo.Service.Multitenancy;
-using System;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel.Channels;
diff --git a/Service/ServiceBehavior/AdminMultitenancyContextInitializer.cs b/Service/ServiceBehavior/AdminMultitenancyContextInitializer.cs
index 06882171f..5b2bd6ba8 100644
--- a/Service/ServiceBehavior/AdminMultitenancyContextInitializer.cs
+++ b/Service/ServiceBehavior/AdminMultitenancyContextInitializer.cs
@@ -1,5 +1,4 @@
using BeWo.Data;
-using BeWo.Service.Attributes;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -11,7 +10,6 @@ using System.Web;
using System.Xml;
using System.ServiceModel.Dispatcher;
using BeWo.Service.Core;
-using BeWo.Service.ServiceUtils;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
using DevExpress.CodeParser;
diff --git a/Service/ServiceBehavior/AdminServiceMessageInspector.cs b/Service/ServiceBehavior/AdminServiceMessageInspector.cs
index 2fbc06076..48966bfb0 100644
--- a/Service/ServiceBehavior/AdminServiceMessageInspector.cs
+++ b/Service/ServiceBehavior/AdminServiceMessageInspector.cs
@@ -8,11 +8,9 @@ using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
using BeWo.Data;
-using BeWo.Service.Attributes;
using BeWo.Service.Core;
using System.Runtime.Remoting.Channels;
using DevExpress.PivotGrid.OLAP;
-using BeWo.Service.ServiceUtils;
namespace BeWo.Service.ServiceBehavior
{
diff --git a/Service/ServiceBehavior/JsonError/JsonErrorHandler.cs b/Service/ServiceBehavior/JsonError/JsonErrorHandler.cs
index 9522f0051..1e4242b14 100644
--- a/Service/ServiceBehavior/JsonError/JsonErrorHandler.cs
+++ b/Service/ServiceBehavior/JsonError/JsonErrorHandler.cs
@@ -1,6 +1,5 @@
using BeWo.Data.Access;
using BeWo.Service.Core;
-using BeWo.Service.ServiceUtils;
using System;
using System.Collections.Generic;
using System.Configuration;
diff --git a/Service/ServiceBehavior/WCFError/WCFErrorHandler.cs b/Service/ServiceBehavior/WCFError/WCFErrorHandler.cs
index 214b353af..ced7ff2e9 100644
--- a/Service/ServiceBehavior/WCFError/WCFErrorHandler.cs
+++ b/Service/ServiceBehavior/WCFError/WCFErrorHandler.cs
@@ -1,6 +1,4 @@
using BeWo.Service.Core;
-using BeWo.Service.ServiceBehavior.JsonError;
-using BeWo.Service.ServiceUtils;
using System;
using System.Collections.Generic;
using System.Configuration;
diff --git a/Service/ServiceContracts/Enhanced/IOperationsEnhancedService.cs b/Service/ServiceContracts/Enhanced/IOperationsEnhancedService.cs
index ecb11dcff..8c2865ef7 100644
--- a/Service/ServiceContracts/Enhanced/IOperationsEnhancedService.cs
+++ b/Service/ServiceContracts/Enhanced/IOperationsEnhancedService.cs
@@ -1,5 +1,4 @@
using BeWo.Data.Entities;
-using BeWo.Service.Attributes;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
diff --git a/Service/ServiceImplementations/AccountingServiceImp.cs b/Service/ServiceImplementations/AccountingServiceImp.cs
index db1662cae..ddca0287a 100644
--- a/Service/ServiceImplementations/AccountingServiceImp.cs
+++ b/Service/ServiceImplementations/AccountingServiceImp.cs
@@ -28,7 +28,6 @@ using BS.Shared.AppSender;
using BeWo.Data.Security;
using BS.Shared.DataContracts.Invoicing.XRechnung;
using System.IO;
-using BeWo.Service.ServiceUtils;
namespace BeWo.Service.ServiceImplementations
{
diff --git a/Service/ServiceImplementations/ApiServiceImp.cs b/Service/ServiceImplementations/ApiServiceImp.cs
index ea87b707a..d0500217c 100644
--- a/Service/ServiceImplementations/ApiServiceImp.cs
+++ b/Service/ServiceImplementations/ApiServiceImp.cs
@@ -1,8 +1,6 @@
using BeWo.Data.Access;
using BeWo.Service.Core;
using BeWo.Service.ServiceContracts;
-using BeWo.Service.ServiceImplementations.Enhanced;
-using BeWo.Service.ServiceUtils;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.AdminService;
diff --git a/Service/ServiceImplementations/DownloadServiceImp.cs b/Service/ServiceImplementations/DownloadServiceImp.cs
index 6572eae9f..d18389dd3 100644
--- a/Service/ServiceImplementations/DownloadServiceImp.cs
+++ b/Service/ServiceImplementations/DownloadServiceImp.cs
@@ -11,7 +11,6 @@ using BeWo.Data.Entities;
using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.ServiceContracts;
-using BeWo.Service.Security;
using BS.Shared;
using BS.Shared.DataContracts;
diff --git a/Service/ServiceImplementations/Enhanced/AccountingEnhancedServiceImp.cs b/Service/ServiceImplementations/Enhanced/AccountingEnhancedServiceImp.cs
index c57354688..427d2ceeb 100644
--- a/Service/ServiceImplementations/Enhanced/AccountingEnhancedServiceImp.cs
+++ b/Service/ServiceImplementations/Enhanced/AccountingEnhancedServiceImp.cs
@@ -2,12 +2,8 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Data.Security;
-using BeWo.Service.Core;
-using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BeWo.Service.ServiceContracts.Enhanced;
-using BeWo.Service.ServiceProxy;
-using BeWo.Service.ServiceUtils;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Feature.AI;
diff --git a/Service/ServiceImplementations/Enhanced/AiEnhancedServiceImp.cs b/Service/ServiceImplementations/Enhanced/AiEnhancedServiceImp.cs
index 11cc4d4ae..0611e11d7 100644
--- a/Service/ServiceImplementations/Enhanced/AiEnhancedServiceImp.cs
+++ b/Service/ServiceImplementations/Enhanced/AiEnhancedServiceImp.cs
@@ -1,10 +1,8 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Data.Security;
-using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BeWo.Service.ServiceContracts.Enhanced;
-using BeWo.Service.ServiceProxy;
using BS.Shared;
using BS.Shared.DataContracts.Feature.AI;
using BS.Shared.DataContracts.Feature.AI.Functions.ServiceRecords;
diff --git a/Service/ServiceImplementations/Enhanced/OperationsEnhancedServiceImp.cs b/Service/ServiceImplementations/Enhanced/OperationsEnhancedServiceImp.cs
index baa396112..0bbeee93b 100644
--- a/Service/ServiceImplementations/Enhanced/OperationsEnhancedServiceImp.cs
+++ b/Service/ServiceImplementations/Enhanced/OperationsEnhancedServiceImp.cs
@@ -2,9 +2,6 @@
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Data.Security;
-using BeWo.Service.Core;
-using BeWo.Service.DCEntityMapper;
-using BeWo.Service.ServiceContracts;
using BeWo.Service.ServiceContracts.Enhanced;
using BS.Shared;
using DevExpress.Entity.Model.Metadata;
diff --git a/Service/ServiceImplementations/OperationsServiceImp.cs b/Service/ServiceImplementations/OperationsServiceImp.cs
index 3a23f568b..562329b3f 100644
--- a/Service/ServiceImplementations/OperationsServiceImp.cs
+++ b/Service/ServiceImplementations/OperationsServiceImp.cs
@@ -13,7 +13,6 @@ using BeWo.Service.OwnChat;
using BeWo.Service.PivotTabelle;
using BeWo.Service.Plugins;
using BeWo.Service.SBD;
-using BeWo.Service.Security;
using BeWo.Service.ServiceContracts;
using BS.Shared;
using BS.Shared.Core;
diff --git a/Service/ServiceProxy/XRechnungApiClient.cs b/Service/ServiceProxy/XRechnungApiClient.cs
index b0eb77182..3960dd3bd 100644
--- a/Service/ServiceProxy/XRechnungApiClient.cs
+++ b/Service/ServiceProxy/XRechnungApiClient.cs
@@ -1,6 +1,5 @@
using BeWo.Data.Entities;
using BeWo.Service.Core;
-using BeWo.Service.DCEntityMapper;
using BS.Shared.Core;
using BS.Shared.Core.Facade;
using BS.Shared.DataContracts;
diff --git a/Service/ServiceUtils/AiFunctionContextLoader.cs b/Service/ServiceUtils/AiFunctionContextLoader.cs
index 01623730d..a2b779363 100644
--- a/Service/ServiceUtils/AiFunctionContextLoader.cs
+++ b/Service/ServiceUtils/AiFunctionContextLoader.cs
@@ -1,7 +1,6 @@
using AICore.Context.Summary;
using BeWo.Data.Access;
using BeWo.Data.Entities;
-using BeWo.Service.DCEntityMapper;
using BS.Shared;
using BS.Shared.DataContracts.Compact;
using BS.Shared.DataContracts;
diff --git a/Service/UnitOfWork/HibernateSessionContextInitializer.cs b/Service/UnitOfWork/HibernateSessionContextInitializer.cs
index 989950e69..aec664bfd 100644
--- a/Service/UnitOfWork/HibernateSessionContextInitializer.cs
+++ b/Service/UnitOfWork/HibernateSessionContextInitializer.cs
@@ -4,7 +4,6 @@ using System.ServiceModel.Channels;
using System.ServiceModel.Dispatcher;
using BeWo.Data;
-using BeWo.Service.ServiceUtils;
namespace BeWo.Service.UnitOfWork
{
diff --git a/XRechnungUnitTest/XRechnungUnitTest.csproj b/XRechnungUnitTest/XRechnungUnitTest.csproj
index 67c155c15..754ea1ce9 100644
--- a/XRechnungUnitTest/XRechnungUnitTest.csproj
+++ b/XRechnungUnitTest/XRechnungUnitTest.csproj
@@ -57,6 +57,7 @@
+
Always
diff --git a/XRechnungUnitTest/app.config b/XRechnungUnitTest/app.config
new file mode 100644
index 000000000..8367cfba1
--- /dev/null
+++ b/XRechnungUnitTest/app.config
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file