Files
BeWoPlaner/Service/ServiceImplementations/Enhanced/AiEnhancedServiceImp.cs
Rene Evertz 2832bb9c5e Merge branch 'master' into feature_rene_18_ai - kein kommentar...
# Conflicts:
#	BeWo/BeWo.csproj
#	BeWo/BeWoApp.xaml.cs
#	BeWo/ServiceProxy/GeneratedAiEnhancedService.cs
#	BeWo/Services/BeWoControlFactory.cs
#	BeWo/Services/BeWoWindowFactory.cs
#	BeWo/Services/BeWoWindowService.cs
#	BeWo/Services/IControlFactory.cs
#	BeWo/Services/IWindowFactory.cs
#	BeWo/Services/IWindowService.cs
#	BeWo/View/BeWoFileView.xaml
#	BeWo/View/Detail/Report/AbwesenheitsView.xaml
#	BeWo/View/Windows/AnimatedBeWoWindow.xaml.cs
#	BeWo/app.config
#	BeWoAllReports.sln
#	BeWoPlanerMobil.sln
#	BeWoPlanerMobil/.vs/BeWoPlanerMobil.csproj.dtbcache.json
#	BeWoTests.sln
#	Dakota/DakotaUtils.cs
#	Dakota/Logic/DakotaInfoCreator.cs
#	Dakota/Models/DakotaFile.cs
#	Data/Access/GenericDAO.cs
#	Data/Access/SearchDAO.cs
#	Data/Data.csproj
#	Host/Web.config
#	Server/Components/ServerUtils/ApiFacade/WebClientFacade.cs
#	Service/BeWoServiceEnums.cs
#	Service/Core/ServiceHelper.cs
#	Service/Core/ServiceValidator.cs
#	Service/Extensions/ServiceEnumExtension.cs
#	Service/Service.csproj
#	Service/ServiceContracts/Enhanced/IAiEnhancedService.cs
#	Service/ServiceContracts/Enhanced/IOperationsEnhancedService.cs
#	Service/ServiceImplementations/EmployeeServiceImp.cs
#	Service/ServiceImplementations/Enhanced/AiEnhancedServiceImp.cs
#	Service/ServiceImplementations/Enhanced/OperationsEnhancedServiceImp.cs
#	Service/ServiceProxy/OpenWebUIFacade.cs
#	Service/ServiceProxy/ServiceFacade.cs
#	Service/ServiceUtils/DistanceCalculator/GoogleDistanceMatrixAPI.cs
#	Shared/BeWoEntityEnums.cs
#	Shared/Core/AppError.cs
#	Shared/Core/Facade/WebClientFacade.cs
#	Shared/Core/WebClientFacade.cs
#	Shared/Shared.csproj
2025-11-28 12:07:35 +01:00

92 lines
3.5 KiB
C#

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;
using System.Collections.Generic;
using System.ServiceModel;
namespace BeWo.Service.ServiceImplementations.Enhanced
{
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Single)]
public class AiEnhancedServiceImp : IAiEnhancedService
{
#region General AI
public AiConfigDC GetAiConfig()
=> GetAiService().GetAiConfig();
public AiConfigDC UpdateAiConfig(AiConfigDC toUpdate)
=> GetAiService().UpdateAiConfig(toUpdate);
public IEnumerable<AiModelDC> GetAiModels()
=> GetAiService().GetAiModels();
public IEnumerable<AiConversationDC> GetAiConversations(AiContextType uicontext, long? oid)
=> GetAiService().GetAiConversations(uicontext, oid);
public AiConversationDC CreateAiConversation(AiConversationDC conversation, long modell_oid)
=> GetAiService().CreateAiConversation(conversation, modell_oid);
public AiConversationDC CreateAiConversationWithMessage(AiConversationDC conversation, long modell_oid, string message)
=> GetAiService().CreateAiConversationWithMessage(conversation, modell_oid, message);
public AiConversationDC CloneAiConversation(long conversation_oid, long? last_message_oid)
=> GetAiService().CloneAiConversation(conversation_oid, last_message_oid);
public long UpdateAiConversationDisplayname(long oid, long version, string displayname)
=> GetAiService().UpdateAiConversationDisplayname(oid, version, displayname);
public void DeleteAiConversation(long conversation_oid)
=> GetAiService().DeleteAiConversation(conversation_oid);
public AiConversationMessageDC[] SendNewMessage(long conversation, string message)
=> GetAiService().SendNewMessage(conversation, message);
private AiService2 GetAiService()
{
var plugin = PluginLoader.FindClass<AiService2>();
return plugin;
}
#endregion
#region Promptbausteine
public IEnumerable<AiPromptbausteinTreeDC> GetAiPromptbausteine()
=> GetAiPromptbausteineService().GetAiPromptbausteine();
public IEnumerable<AiPromptbausteinTreeDC> CreateAiPromptbausteine(IEnumerable<AiPromptbausteinTreeDC> aiPromptbausteinDC)
=> GetAiPromptbausteineService().CreateAiPromptbausteine(aiPromptbausteinDC);
public Dictionary<long, long> UpdateAiPromptbausteine(IEnumerable<AiPromptbausteinTreeDC> aiPromptbausteinDCs)
=> GetAiPromptbausteineService().UpdateAiPromptbausteine(aiPromptbausteinDCs);
public void DeleteAiPromptbausteine(Dictionary<long, long> oid2version)
=> GetAiPromptbausteineService().DeleteAiPromptbausteine(oid2version);
private AiPromptbausteineService GetAiPromptbausteineService()
{
return new AiPromptbausteineService();
//var plugin = PluginLoader.FindClass<AiPromptbausteineService>();
//return plugin;
}
#endregion
#region Functions
public AiFunctionDocResponse ExecuteAiFunctionServiceRecordDocumentation(AiFunctionDocRequest request)
=> GetAiFunctionService().ExecuteAiFunctionServiceRecordDocumentation(request);
private AiFunctionService GetAiFunctionService()
{
return new AiFunctionService();
//var plugin = PluginLoader.FindClass<AiPromptbausteineService>();
//return plugin;
}
#endregion
}
}