ServerUtils -> Kein Merged Config, Sicherheit

TextJson bei ServerUtils
This commit is contained in:
2025-11-28 14:54:24 +01:00
parent 654b41d239
commit 1ebc41e40e
71 changed files with 293 additions and 158 deletions

View File

@@ -54,6 +54,7 @@
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="app.config" />
<None Include="packages.config" /> <None Include="packages.config" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

59
AiCoreUnitTest/app.config Normal file
View File

@@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.AttributedModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.TypedParts" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.Hosting" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.6.0" newVersion="4.1.6.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -6,7 +6,6 @@ using System.Web.UI;
using BeWo.Data; using BeWo.Data;
using BS.Shared.Core; using BS.Shared.Core;
using BeWo.Service.Security;
using SecurityUtils = BeWo.Service.Security.SecurityUtils; using SecurityUtils = BeWo.Service.Security.SecurityUtils;
public partial class Download : Page public partial class Download : Page

View File

@@ -12,7 +12,6 @@ using BS.Shared.DataContracts;
using BeWo.Data; using BeWo.Data;
using BeWo.Report; using BeWo.Report;
using BeWo.Service.Security;
using DevExpress.XtraPrinting; using DevExpress.XtraPrinting;
using DevExpress.XtraReports.UI; using DevExpress.XtraReports.UI;

View File

@@ -3,7 +3,6 @@ using System.IO;
using System.Linq; using System.Linq;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.Security;
using BS.Shared; using BS.Shared;

View File

@@ -389,6 +389,7 @@
<add key="SendMailModuleGkvReceiver" value="dakota.exchange@ownsoft.de" /> <add key="SendMailModuleGkvReceiver" value="dakota.exchange@ownsoft.de" />
<add key="OpenWebUIUrl" value="https://owui1.ownsoft.de/"/> <add key="OpenWebUIUrl" value="https://owui1.ownsoft.de/"/>
<add key="OllamaUrl" value="https://w2.ownchat.de" />
<add key="XRechnungApiUrl" value="https://test2.evplaner.de/xrg/"/> <add key="XRechnungApiUrl" value="https://test2.evplaner.de/xrg/"/>
<add key="StoredTenantFilesFolderPath" value="C:\BeWoPlaner\StoredTenantFiles"/> <add key="StoredTenantFilesFolderPath" value="C:\BeWoPlaner\StoredTenantFiles"/>

View File

@@ -400,22 +400,22 @@
<add key="OpenWebUIUrl" value="https://owui1.ownsoft.de/" /> <add key="OpenWebUIUrl" value="https://owui1.ownsoft.de/" />
<add key="OllamaUrl" value="https://w2.ownchat.de" /> <add key="OllamaUrl" value="https://w2.ownchat.de" />
<add key="XRechnungApiUrl" value="https://test2.evplaner.de/xrg/"/> <add key="XRechnungApiUrl" value="https://test2.evplaner.de/xrg/" />
<add key="StoredFilesFolderPath" value="C:\BeWoPlaner\StoredFiles"/> <add key="StoredFilesFolderPath" value="C:\BeWoPlaner\StoredFiles" />
<add key="StoredTenantFilesFolderPath" value="C:\BeWoPlaner\StoredTenantFiles"/> <add key="StoredTenantFilesFolderPath" value="C:\BeWoPlaner\StoredTenantFiles" />
<add key="HelloWorldPdfLocation" value="C:\BeWoPlaner\StoredFiles\HelloWorld.pdf"/> <add key="HelloWorldPdfLocation" value="C:\BeWoPlaner\StoredFiles\HelloWorld.pdf" />
<!--<add key="ServiceLogFilePath" value="D:\Projects\beyondSoft\BeWoPlaner\BeWo\Host\logs\service.log.txt"/> <!--<add key="ServiceLogFilePath" value="D:\Projects\beyondSoft\BeWoPlaner\BeWo\Host\logs\service.log.txt"/>
<add key="WCFErrorLogFilePath" value="D:\Projects\beyondSoft\BeWoPlaner\BeWo\Host\logs\wcferror.log.txt"/> <add key="WCFErrorLogFilePath" value="D:\Projects\beyondSoft\BeWoPlaner\BeWo\Host\logs\wcferror.log.txt"/>
<add key="JsonErrorLogFilePath" value="D:\Projects\beyondSoft\BeWoPlaner\BeWo\Host\logs\jsonerror.log.txt"/> <add key="JsonErrorLogFilePath" value="D:\Projects\beyondSoft\BeWoPlaner\BeWo\Host\logs\jsonerror.log.txt"/>
<add key="ApiServiceTestFilePath" value="D:\Projects\beyondSoft\BeWoPlaner\BeWo\Host\logs\apiservice.test.txt"/>--> <add key="ApiServiceTestFilePath" value="D:\Projects\beyondSoft\BeWoPlaner\BeWo\Host\logs\apiservice.test.txt"/>-->
<add key="ServiceLogFilePath" value="C:\BeWoPlaner\logs\service.log.txt"/> <add key="ServiceLogFilePath" value="C:\BeWoPlaner\logs\service.log.txt" />
<add key="WCFErrorLogFilePath" value="C:\BeWoPlaner\logs\wcferror.log.txt"/> <add key="WCFErrorLogFilePath" value="C:\BeWoPlaner\logs\wcferror.log.txt" />
<add key="JsonErrorLogFilePath" value="C:\BeWoPlaner\logs\jsonerror.log.txt"/> <add key="JsonErrorLogFilePath" value="C:\BeWoPlaner\logs\jsonerror.log.txt" />
<add key="ApiServiceTestFilePath" value="C:\BeWoPlaner\logs\apiservice.test.txt"/> <add key="ApiServiceTestFilePath" value="C:\BeWoPlaner\logs\apiservice.test.txt" />
<add key="AiRootPath" value="C:\BeWoPlaner\AI" /> <add key="BeWoPlanerServiceRoot" value="C:\BeWoPlaner" />
<add key="AiServiceLogFilePath" value="C:\BeWoPlaner\logs2\server\aiservice.log.txt" /> <add key="AiServiceLogFilePath" value="C:\BeWoPlaner\logs2\server\aiservice.log.txt" />
<add key="AiServiceLastRequestEnabled" value="true" /> <add key="AiServiceLastRequestEnabled" value="true" />

View File

@@ -109,10 +109,11 @@
<Compile Include="Facade\LLM\BaseLLMApiClient.cs" /> <Compile Include="Facade\LLM\BaseLLMApiClient.cs" />
<Compile Include="Facade\LLM\OllamaApiClient.cs" /> <Compile Include="Facade\LLM\OllamaApiClient.cs" />
<Compile Include="Facade\LLM\OpenWebApiClient.cs" /> <Compile Include="Facade\LLM\OpenWebApiClient.cs" />
<Compile Include="Prompt\Core\AiFunctionSystemInstructionBuilder.cs" /> <Compile Include="Prompt\SystemInstruction\AiFunctionSystemInstructionBuilder.cs" />
<Compile Include="Prompt\Core\AiUtils.cs" /> <Compile Include="Prompt\Core\AiUtils.cs" />
<Compile Include="Prompt\Core\AiConversationSystemInstructionBuilder.cs" /> <Compile Include="Prompt\SystemInstruction\AiConversationSystemInstructionBuilder.cs" />
<Compile Include="Prompt\Models\AiConversationContext.cs" /> <Compile Include="Prompt\Models\AiConversationContext.cs" />
<Compile Include="Prompt\SystemInstruction\BaseSystemInstructionBuilder.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@@ -1,6 +1,5 @@
using AICore.Context.Summary; using AICore.Context.Summary;
using AICore.Context.SummaryParser; using AICore.Context.SummaryParser;
using BeWo.ServerUtils.Core;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.Exceptions; using BS.Shared.Exceptions;
@@ -13,15 +12,19 @@ using System.Reflection;
using System.Text; using System.Text;
using System.Text.Json; 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) public string CreateSystemInstructions(AiContextType uicontext, BaseContextSummary context, AiDataContextType aiDataContextType)
{ {
var sb = new StringBuilder(); var sb = new StringBuilder();
sb.AppendLine(getCustomSystemPrompt()); sb.AppendLine(getCustomSystemPrompt("customSystemInstruction.txt"));
sb.AppendLine("### **Allgemein**"); sb.AppendLine("### **Allgemein**");
sb.AppendLine($"- Aktuelle Zeit: {DateTime.Now}"); sb.AppendLine($"- Aktuelle Zeit: {DateTime.Now}");
@@ -69,13 +72,5 @@ namespace AICore.Prompt.Core
throw BeWoNotImplementedException.CreateFromEnum(aiDataContextType); throw BeWoNotImplementedException.CreateFromEnum(aiDataContextType);
} }
private string getCustomSystemPrompt()
{
var root = MergedConfig.GetSetting("AiRootPath");
var path = Path.Combine(root, "systemPrompts", "customSystemInstruction.txt");
return File.ReadAllText(path);
}
} }
} }

View File

@@ -1,7 +1,6 @@
using AICore.Context.Summary; using AICore.Context.Summary;
using AICore.Context.Summary.Function; using AICore.Context.Summary.Function;
using AICore.Context.SummaryParser; using AICore.Context.SummaryParser;
using BeWo.ServerUtils.Core;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
@@ -12,15 +11,20 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; 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(); var sb = new StringBuilder();
sb.AppendLine(getCustomSystemPrompt()); sb.AppendLine(getCustomSystemPrompt("customFunctionSystemInstruction.txt"));
sb.AppendLine("### **Allgemein**"); sb.AppendLine("### **Allgemein**");
sb.AppendLine($"- Aktuelle Zeit: {DateTime.Now}"); sb.AppendLine($"- Aktuelle Zeit: {DateTime.Now}");
@@ -47,13 +51,5 @@ namespace AICore.Prompt.Core
return sb.ToString(); return sb.ToString();
} }
private string getCustomSystemPrompt()
{
var root = MergedConfig.GetSetting("AiRootPath");
var path = Path.Combine(root, "systemPrompts", "customFunctionSystemInstruction.txt");
return File.ReadAllText(path);
}
} }
} }

View File

@@ -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);
}
}
}

View File

@@ -2,7 +2,6 @@
using BS.Shared.DataContracts; using BS.Shared.DataContracts;
using BS.Shared.Exceptions; using BS.Shared.Exceptions;
using BS.Shared.Interface; using BS.Shared.Interface;
using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics.Eventing.Reader; using System.Diagnostics.Eventing.Reader;
@@ -15,6 +14,7 @@ using System.Runtime.CompilerServices;
using System.Security.Authentication; using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates; using System.Security.Cryptography.X509Certificates;
using System.Text; using System.Text;
using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace BeWo.ServerUtils.ApiFacade namespace BeWo.ServerUtils.ApiFacade
@@ -63,7 +63,7 @@ namespace BeWo.ServerUtils.ApiFacade
var json = await http_response.Content.ReadAsStringAsync().ConfigureAwait(false); var json = await http_response.Content.ReadAsStringAsync().ConfigureAwait(false);
return parse(() => JsonConvert.DeserializeAnonymousType<T>(json, anonymousType), json, extractor); return parse(() => JsonSerializer.Deserialize<T>(json, JsonSerializerOptions.Default), json, extractor);
} }
/// <summary> /// <summary>

View File

@@ -1,5 +1,5 @@
using Newtonsoft.Json; using System.Net.Http;
using System.Net.Http; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace BeWo.ServerUtils.ApiFacade namespace BeWo.ServerUtils.ApiFacade
@@ -31,7 +31,7 @@ namespace BeWo.ServerUtils.ApiFacade
// Add body if POST or PUT // Add body if POST or PUT
if (Method == HttpMethod.Post || Method == HttpMethod.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"); request.Content = new StringContent(json, Encoding, "application/json");
} }

View File

@@ -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];
}
}
}

View File

@@ -31,12 +31,42 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.2\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Build.Engine" /> <Reference Include="Microsoft.Build.Engine" />
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL" />
<Reference Include="System" /> <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.Configuration" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.IO.Pipelines, Version=9.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.IO.Pipelines.9.0.2\lib\net462\System.IO.Pipelines.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.Net.Http" /> <Reference Include="System.Net.Http" />
<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=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Text.Encodings.Web, Version=9.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.Text.Encodings.Web.9.0.2\lib\net462\System.Text.Encodings.Web.dll</HintPath>
</Reference>
<Reference Include="System.Text.Json, Version=9.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.Text.Json.9.0.2\lib\net462\System.Text.Json.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" /> <Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
@@ -46,7 +76,6 @@
<ItemGroup> <ItemGroup>
<Compile Include="ApiFacade\HttpClientFacade.cs" /> <Compile Include="ApiFacade\HttpClientFacade.cs" />
<Compile Include="ApiFacade\JsonHttpClientFacade.cs" /> <Compile Include="ApiFacade\JsonHttpClientFacade.cs" />
<Compile Include="Core\MergedConfig.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@@ -58,5 +87,12 @@
<ItemGroup> <ItemGroup>
<Content Include="README.txt" /> <Content Include="README.txt" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Folder Include="Core\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project> </Project>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.2" targetFramework="net472" />
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
<package id="System.IO.Pipelines" version="9.0.2" targetFramework="net472" />
<package id="System.Memory" version="4.5.5" targetFramework="net472" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net472" />
<package id="System.Text.Encodings.Web" version="9.0.2" targetFramework="net472" />
<package id="System.Text.Json" version="9.0.2" targetFramework="net472" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net472" />
</packages>

View File

@@ -19,7 +19,9 @@ namespace BeWo.Service
WCFErrorLogFilePath, WCFErrorLogFilePath,
JsonErrorLogFilePath, JsonErrorLogFilePath,
ApiServiceTestFilePath, ApiServiceTestFilePath,
AiServiceLogFilePath AiServiceLogFilePath,
AiRootPath,
BeWoPlanerServiceRoot
} }
[DefaultValue(None)] [DefaultValue(None)]

View File

@@ -1,11 +1,6 @@
using BeWo.Data.Entities; using System;
using System;
using System.Collections.Generic;
using System.Configuration; using System.Configuration;
using System.IO; using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml; using System.Xml;
namespace BeWo.Service.Core namespace BeWo.Service.Core

View File

@@ -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);
}
}

View File

@@ -5,11 +5,10 @@ using System.ServiceModel;
using System.ServiceModel.Channels; using System.ServiceModel.Channels;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using BeWo.Service.ServiceContracts;
using System.ServiceModel.Dispatcher; using System.ServiceModel.Dispatcher;
using BeWo.Service.Attributes;
using BeWo.Service.ServiceUtils; using BeWo.Service.ServiceUtils;
using BS.Shared.Extensions; using BS.Shared.Extensions;
using BeWo.ServerUtils;
namespace BeWo.Service.Core namespace BeWo.Service.Core
{ {

View File

@@ -16,7 +16,6 @@ using System.Xml;
using BeWo.Data; using BeWo.Data;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Data.Security; using BeWo.Data.Security;
using BeWo.Service.ServiceContracts;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.Extensions; using BS.Shared.Extensions;

View File

@@ -5,7 +5,6 @@ using System.Linq;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.Core; using BeWo.Service.Core;
using BeWo.Service.Interfaces;
using BS.Shared; using BS.Shared;
using BS.Shared.Extensions; using BS.Shared.Extensions;

View File

@@ -1,6 +1,5 @@
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BS.Shared; using BS.Shared;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;
using DevExpress.XtraRichEdit; using DevExpress.XtraRichEdit;

View File

@@ -1,6 +1,5 @@
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BS.Shared; using BS.Shared;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;
using DevExpress.XtraRichEdit; using DevExpress.XtraRichEdit;

View File

@@ -1,6 +1,5 @@
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BS.Shared; using BS.Shared;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;
using DevExpress.XtraRichEdit; using DevExpress.XtraRichEdit;

View File

@@ -1,6 +1,5 @@
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BS.Shared; using BS.Shared;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;
using DevExpress.XtraRichEdit; using DevExpress.XtraRichEdit;

View File

@@ -1,6 +1,5 @@
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BS.Shared; using BS.Shared;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;
using DevExpress.XtraRichEdit; using DevExpress.XtraRichEdit;

View File

@@ -1,5 +1,4 @@
using BeWo.Service.Import; using DevExpress.Pdf;
using DevExpress.Pdf;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;

View File

@@ -5,8 +5,6 @@ using System.Linq;
using BeWo.Data; using BeWo.Data;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;

View File

@@ -5,8 +5,6 @@ using System.Linq;
using BeWo.Data; using BeWo.Data;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;

View File

@@ -8,7 +8,6 @@ using BS.Shared.Extensions;
using BS.Shared.Services; using BS.Shared.Services;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
namespace BeWo.Service.Invoicing namespace BeWo.Service.Invoicing
{ {

View File

@@ -4,7 +4,6 @@ using System.Linq;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper; using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;

View File

@@ -1,7 +1,5 @@
using AICore.Prompt.Core; using BeWo.Data.Access;
using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.ServiceProxy; using BeWo.Service.ServiceProxy;
using BeWo.Service.ServiceUtils; using BeWo.Service.ServiceUtils;
using BS.Shared; using BS.Shared;
@@ -16,6 +14,8 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using AICore.Prompt.SystemInstruction;
using BeWo.Service.Core;
namespace BeWo.Service.Plugins namespace BeWo.Service.Plugins
{ {
@@ -32,8 +32,9 @@ namespace BeWo.Service.Plugins
// Anfrage zusammensetzen // Anfrage zusammensetzen
var context = AiFunctionContextLoader.LoadServiceRecordDocumentationContext(request); var context = AiFunctionContextLoader.LoadServiceRecordDocumentationContext(request);
var factory = new AiFunctionSystemInstructionBuilder(); var systemInstructionsFolderPath = PathHelper.GetAiSystemPromptPath();
var system_prompt = factory.CreateServiceRecordDocumentationSystemInstructions(AiFunctionType.ServiceRecordDocumentation, context); var factory = new AiFunctionSystemInstructionBuilder(systemInstructionsFolderPath);
var system_prompt = factory.CreateServiceRecordDocumentationSystemInstructions(context);
var user_prompt = request.AiPromptbaustein; var user_prompt = request.AiPromptbaustein;
var user_prompt_oid = user_prompt.Oid; var user_prompt_oid = user_prompt.Oid;

View File

@@ -8,7 +8,6 @@ using System.Text;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper; using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;

View File

@@ -9,14 +9,12 @@ using System.ServiceModel;
using System.Text; using System.Text;
using System.Web.Hosting; using System.Web.Hosting;
using AICore.Prompt.Core; using AICore.Prompt.Core;
using AICore.Prompt.SystemInstruction;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Data.Security; using BeWo.Data.Security;
using BeWo.Service.Core; using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper; using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BeWo.Service.ServiceContracts;
using BeWo.Service.ServiceImplementations;
using BeWo.Service.ServiceProxy; using BeWo.Service.ServiceProxy;
using BeWo.Service.ServiceUtils; using BeWo.Service.ServiceUtils;
using BS.Shared; using BS.Shared;
@@ -272,7 +270,8 @@ namespace BeWo.Service.Plugins
{ {
var current_user = UserRightHelper.GetLoggedInUserWithOid(); 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 context_loaded = AiContextLoader.LoadContext(uicontext, context_reference);
var system_prompt = factory.CreateSystemInstructions(uicontext, context_loaded, context_Type); var system_prompt = factory.CreateSystemInstructions(uicontext, context_loaded, context_Type);

View File

@@ -8,7 +8,6 @@ using BeWo.Data.Entities;
using BeWo.Data.Security; using BeWo.Data.Security;
using BeWo.Service.Core; using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper; using BeWo.Service.DCEntityMapper;
using BeWo.Service.MessageContracts;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;

View File

@@ -5,7 +5,6 @@ using System.Linq;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper; using BeWo.Service.DCEntityMapper;
using BeWo.Service.MessageContracts;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;

View File

@@ -13,7 +13,6 @@ using BS.Shared.Extensions;
using BS.Shared.Services; using BS.Shared.Services;
using BeWo.Service.Configuration; using BeWo.Service.Configuration;
using BeWo.Data.Security; using BeWo.Data.Security;
using BeWo.Service.Security;
using SecurityUtils = BeWo.Service.Security.SecurityUtils; using SecurityUtils = BeWo.Service.Security.SecurityUtils;

View File

@@ -7,7 +7,6 @@ using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.Configuration; using BeWo.Service.Configuration;
using BeWo.Service.DCEntityMapper; using BeWo.Service.DCEntityMapper;
using BeWo.Service.MessageContracts;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;

View File

@@ -12,7 +12,6 @@ using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact; using BS.Shared.DataContracts.Compact;
using BS.Shared.Extensions; using BS.Shared.Extensions;
using BS.Shared.Services; using BS.Shared.Services;
using BeWo.Service.Configuration;
using System.Text; using System.Text;
namespace BeWo.Service.Plugins namespace BeWo.Service.Plugins

View File

@@ -12,7 +12,6 @@ using BeWo.Data;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper; using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;

View File

@@ -4,7 +4,6 @@ using System.Linq;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;

View File

@@ -7,7 +7,6 @@ using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Data.Security; using BeWo.Data.Security;
using BeWo.Service.DCEntityMapper; using BeWo.Service.DCEntityMapper;
using BeWo.Service.MessageContracts;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;

View File

@@ -5,7 +5,6 @@ using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper; using BeWo.Service.DCEntityMapper;
using BeWo.Service.ServiceImplementations; using BeWo.Service.ServiceImplementations;
using BeWo.Service.ServiceProxy; using BeWo.Service.ServiceProxy;
using BeWo.Service.ServiceUtils;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;

View File

@@ -8,8 +8,6 @@ using BS.Shared.DataContracts;
using BS.Shared.Services; using BS.Shared.Services;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using Castle.Components.DictionaryAdapter; using Castle.Components.DictionaryAdapter;
using NHibernate.Linq; using NHibernate.Linq;

View File

@@ -8,8 +8,6 @@ using BS.Shared.DataContracts;
using BS.Shared.Services; using BS.Shared.Services;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using Castle.Components.DictionaryAdapter; using Castle.Components.DictionaryAdapter;
using NHibernate.Linq; using NHibernate.Linq;

View File

@@ -8,8 +8,6 @@ using BS.Shared.DataContracts;
using BS.Shared.Services; using BS.Shared.Services;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using Castle.Components.DictionaryAdapter; using Castle.Components.DictionaryAdapter;
using NHibernate.Linq; using NHibernate.Linq;

View File

@@ -8,8 +8,6 @@ using BS.Shared.DataContracts;
using BS.Shared.Services; using BS.Shared.Services;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using Castle.Components.DictionaryAdapter; using Castle.Components.DictionaryAdapter;
using NHibernate.Linq; using NHibernate.Linq;

View File

@@ -8,8 +8,6 @@ using BS.Shared.DataContracts;
using BS.Shared.Services; using BS.Shared.Services;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using Castle.Components.DictionaryAdapter; using Castle.Components.DictionaryAdapter;
using NHibernate.Linq; using NHibernate.Linq;

View File

@@ -224,13 +224,13 @@
<ItemGroup> <ItemGroup>
<Compile Include="Attributes\RequireWcfAuthorizationAttribute.cs" /> <Compile Include="Attributes\RequireWcfAuthorizationAttribute.cs" />
<Compile Include="Attributes\RequireApiAuthorizationAttribute.cs" /> <Compile Include="Attributes\RequireApiAuthorizationAttribute.cs" />
<Compile Include="BeWoServiceEnums.cs" />
<Compile Include="Core\ConfigReader.cs" /> <Compile Include="Core\ConfigReader.cs" />
<Compile Include="Core\DiamantExporter.cs" /> <Compile Include="Core\DiamantExporter.cs" />
<Compile Include="Core\ExcelDownload.cs" /> <Compile Include="Core\ExcelDownload.cs" />
<Compile Include="Core\FileAttachmentUtils.cs" /> <Compile Include="Core\FileAttachmentUtils.cs" />
<Compile Include="Core\FileLogger.cs" /> <Compile Include="Core\FileLogger.cs" />
<Compile Include="Core\MergedConfig.cs" /> <Compile Include="Core\MergedConfig.cs" />
<Compile Include="Core\PathHelper.cs" />
<Compile Include="Core\ServiceLogic.cs" /> <Compile Include="Core\ServiceLogic.cs" />
<Compile Include="Core\SettingsLogic.cs" /> <Compile Include="Core\SettingsLogic.cs" />
<Compile Include="Core\Utils.cs" /> <Compile Include="Core\Utils.cs" />
@@ -516,6 +516,7 @@
<Compile Include="Security\SecurityContextInitializer.cs" /> <Compile Include="Security\SecurityContextInitializer.cs" />
<Compile Include="Security\Right2Methods.cs" /> <Compile Include="Security\Right2Methods.cs" />
<Compile Include="Security\SecurityUtils.cs" /> <Compile Include="Security\SecurityUtils.cs" />
<Compile Include="BeWoServiceEnums.cs" />
<Compile Include="ServiceBehavior\AdminHibernateBehavior.cs" /> <Compile Include="ServiceBehavior\AdminHibernateBehavior.cs" />
<Compile Include="ServiceBehavior\AdminHibernateBehaviorExtension.cs" /> <Compile Include="ServiceBehavior\AdminHibernateBehaviorExtension.cs" />
<Compile Include="ServiceBehavior\AdminHibernateContextInitializer.cs" /> <Compile Include="ServiceBehavior\AdminHibernateContextInitializer.cs" />
@@ -609,6 +610,10 @@
<Project>{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}</Project> <Project>{69D70CA9-0DF9-419E-BFAF-F4539F129BD9}</Project>
<Name>AICore</Name> <Name>AICore</Name>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\Server\Components\ServerUtils\ServerUtils.csproj">
<Project>{EC2349FB-7FE0-4AD1-B28B-A7A27AF80A57}</Project>
<Name>ServerUtils</Name>
</ProjectReference>
<ProjectReference Include="..\Shared\Shared.csproj"> <ProjectReference Include="..\Shared\Shared.csproj">
<Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project> <Project>{2f50b83d-a3f0-4ec4-979a-3f9b7e3d8ed4}</Project>
<Name>Shared</Name> <Name>Shared</Name>

View File

@@ -1,5 +1,4 @@
using BeWo.Service.UnitOfWork; using System;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.ServiceModel.Channels; using System.ServiceModel.Channels;

View File

@@ -1,5 +1,4 @@
using BeWo.Service.UnitOfWork; using System;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.ServiceModel.Configuration; using System.ServiceModel.Configuration;

View File

@@ -1,5 +1,4 @@
using BeWo.Service.Multitenancy; using System;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.ServiceModel.Channels; using System.ServiceModel.Channels;

View File

@@ -1,5 +1,4 @@
using BeWo.Data; using BeWo.Data;
using BeWo.Service.Attributes;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@@ -11,7 +10,6 @@ using System.Web;
using System.Xml; using System.Xml;
using System.ServiceModel.Dispatcher; using System.ServiceModel.Dispatcher;
using BeWo.Service.Core; using BeWo.Service.Core;
using BeWo.Service.ServiceUtils;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel; using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
using DevExpress.CodeParser; using DevExpress.CodeParser;

View File

@@ -8,11 +8,9 @@ using System.ServiceModel;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using BeWo.Data; using BeWo.Data;
using BeWo.Service.Attributes;
using BeWo.Service.Core; using BeWo.Service.Core;
using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels;
using DevExpress.PivotGrid.OLAP; using DevExpress.PivotGrid.OLAP;
using BeWo.Service.ServiceUtils;
namespace BeWo.Service.ServiceBehavior namespace BeWo.Service.ServiceBehavior
{ {

View File

@@ -1,6 +1,5 @@
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Service.Core; using BeWo.Service.Core;
using BeWo.Service.ServiceUtils;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Configuration; using System.Configuration;

View File

@@ -1,6 +1,4 @@
using BeWo.Service.Core; using BeWo.Service.Core;
using BeWo.Service.ServiceBehavior.JsonError;
using BeWo.Service.ServiceUtils;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Configuration; using System.Configuration;

View File

@@ -1,5 +1,4 @@
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.Attributes;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;

View File

@@ -28,7 +28,6 @@ using BS.Shared.AppSender;
using BeWo.Data.Security; using BeWo.Data.Security;
using BS.Shared.DataContracts.Invoicing.XRechnung; using BS.Shared.DataContracts.Invoicing.XRechnung;
using System.IO; using System.IO;
using BeWo.Service.ServiceUtils;
namespace BeWo.Service.ServiceImplementations namespace BeWo.Service.ServiceImplementations
{ {

View File

@@ -1,8 +1,6 @@
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Service.Core; using BeWo.Service.Core;
using BeWo.Service.ServiceContracts; using BeWo.Service.ServiceContracts;
using BeWo.Service.ServiceImplementations.Enhanced;
using BeWo.Service.ServiceUtils;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;
using BS.Shared.DataContracts.AdminService; using BS.Shared.DataContracts.AdminService;

View File

@@ -11,7 +11,6 @@ using BeWo.Data.Entities;
using BeWo.Service.Core; using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper; using BeWo.Service.DCEntityMapper;
using BeWo.Service.ServiceContracts; using BeWo.Service.ServiceContracts;
using BeWo.Service.Security;
using BS.Shared; using BS.Shared;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;

View File

@@ -2,12 +2,8 @@
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Data.Security; using BeWo.Data.Security;
using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins; using BeWo.Service.Plugins;
using BeWo.Service.ServiceContracts.Enhanced; using BeWo.Service.ServiceContracts.Enhanced;
using BeWo.Service.ServiceProxy;
using BeWo.Service.ServiceUtils;
using BS.Shared; using BS.Shared;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Feature.AI; using BS.Shared.DataContracts.Feature.AI;

View File

@@ -1,10 +1,8 @@
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Data.Security; using BeWo.Data.Security;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins; using BeWo.Service.Plugins;
using BeWo.Service.ServiceContracts.Enhanced; using BeWo.Service.ServiceContracts.Enhanced;
using BeWo.Service.ServiceProxy;
using BS.Shared; using BS.Shared;
using BS.Shared.DataContracts.Feature.AI; using BS.Shared.DataContracts.Feature.AI;
using BS.Shared.DataContracts.Feature.AI.Functions.ServiceRecords; using BS.Shared.DataContracts.Feature.AI.Functions.ServiceRecords;

View File

@@ -2,9 +2,6 @@
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Data.Security; using BeWo.Data.Security;
using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.ServiceContracts;
using BeWo.Service.ServiceContracts.Enhanced; using BeWo.Service.ServiceContracts.Enhanced;
using BS.Shared; using BS.Shared;
using DevExpress.Entity.Model.Metadata; using DevExpress.Entity.Model.Metadata;

View File

@@ -13,7 +13,6 @@ using BeWo.Service.OwnChat;
using BeWo.Service.PivotTabelle; using BeWo.Service.PivotTabelle;
using BeWo.Service.Plugins; using BeWo.Service.Plugins;
using BeWo.Service.SBD; using BeWo.Service.SBD;
using BeWo.Service.Security;
using BeWo.Service.ServiceContracts; using BeWo.Service.ServiceContracts;
using BS.Shared; using BS.Shared;
using BS.Shared.Core; using BS.Shared.Core;

View File

@@ -1,6 +1,5 @@
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.Core; using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper;
using BS.Shared.Core; using BS.Shared.Core;
using BS.Shared.Core.Facade; using BS.Shared.Core.Facade;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;

View File

@@ -1,7 +1,6 @@
using AICore.Context.Summary; using AICore.Context.Summary;
using BeWo.Data.Access; using BeWo.Data.Access;
using BeWo.Data.Entities; using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BS.Shared; using BS.Shared;
using BS.Shared.DataContracts.Compact; using BS.Shared.DataContracts.Compact;
using BS.Shared.DataContracts; using BS.Shared.DataContracts;

View File

@@ -4,7 +4,6 @@ using System.ServiceModel.Channels;
using System.ServiceModel.Dispatcher; using System.ServiceModel.Dispatcher;
using BeWo.Data; using BeWo.Data;
using BeWo.Service.ServiceUtils;
namespace BeWo.Service.UnitOfWork namespace BeWo.Service.UnitOfWork
{ {

View File

@@ -57,6 +57,7 @@
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="app.config" />
<None Include="invoicetest.json"> <None Include="invoicetest.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None> </None>

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encoding.CodePages" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.AttributedModel" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.TypedParts" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Composition.Hosting" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.7" newVersion="9.0.0.7" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.5.1.0" newVersion="2.5.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.6.0" newVersion="4.1.6.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>