Files
BeWoPlaner/Service/ServiceImplementations/AiEnhancedServiceImp.cs
2025-07-16 12:25:28 +02:00

95 lines
3.0 KiB
C#

using BeWo.Data;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Data.Security;
using BeWo.Service.AI;
using BeWo.Service.Core;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Plugins;
using BeWo.Service.ServiceContracts;
using BeWo.Service.ServiceProxy;
using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Feature.AI;
using BS.Shared.Exceptions;
using BS.Shared.Extensions;
using DevExpress.Drawing.Internal.Interop;
using DevExpress.Entity.Model.Metadata;
using DevExpress.XtraCharts.Native;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.ExceptionServices;
using System.Runtime.Remoting.Metadata.W3cXsd2001;
using System.Security.Cryptography;
using System.ServiceModel;
using System.ServiceModel.Description;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Interop;
namespace BeWo.Service.ServiceImplementations
{
[ServiceBehavior(InstanceContextMode = InstanceContextMode.PerCall, ConcurrencyMode = ConcurrencyMode.Single)]
public class AiEnhancedServiceImp : IAiEnhancedService
{
public AiConfigDC GetAiConfig()
{
var p = PluginLoader.FindClass<AiService2>();
return p.GetAiConfig();
}
public AiConfigDC UpdateAiConfig(AiConfigDC toUpdate)
{
var p = PluginLoader.FindClass<AiService2>();
return p.UpdateAiConfig(toUpdate);
}
public IEnumerable<AiModelDC> GetAiModels()
{
var p = PluginLoader.FindClass<AiService2>();
return p.GetAiModels();
}
public IEnumerable<AiConversationDC> GetAiConversations(int uicontext, long? oid)
{
var p = PluginLoader.FindClass<AiService2>();
return p.GetAiConversations(uicontext, oid);
}
public AiConversationDC CreateAiConversation(AiConversationDC conversation, long modell_oid)
{
var p = PluginLoader.FindClass<AiService2>();
return p.CreateAiConversation(conversation, modell_oid);
}
public AiConversationDC CreateAiConversationWithMessage(AiConversationDC conversation, long modell_oid, string message)
{
var p = PluginLoader.FindClass<AiService2>();
return p.CreateAiConversationWithMessage(conversation, modell_oid, message);
}
public AiConversationDC CloneAiConversation(long conversation_oid, long? last_message_oid)
{
var p = PluginLoader.FindClass<AiService2>();
return p.CloneAiConversation(conversation_oid, last_message_oid);
}
public long UpdateAiConversationDisplayname(long oid, long version, string displayname)
{
var p = PluginLoader.FindClass<AiService2>();
return p.UpdateAiConversationDisplayname(oid, version, displayname);
}
public void DeleteAiConversation(long conversation_oid)
{
var p = PluginLoader.FindClass<AiService2>();
p.DeleteAiConversation(conversation_oid);
}
public AiConversationMessageDC[] SendNewMessage(long conversation, string message)
{
var p = PluginLoader.FindClass<AiService2>();
return p.SendNewMessage(conversation, message);
}
}
}