Files
BeWoPlaner/Service/DCEntityMapper/AiConversationMessageDC_AiConversationMessage.cs
2026-07-28 11:16:58 +02:00

68 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BS.Shared;
using BS.Shared.DataContracts.Feature.AI;
namespace BeWo.Service.DCEntityMapper
{
public class AiConversationMessageDC_AiConversationMessage : AbstractIDCEntityMapper<AiConversationMessage, AiConversationMessageDC>
{
public override AiConversationMessageDC MergeWithDC(AiConversationMessage pEntity, AiConversationMessageDC pDataContract)
{
pDataContract.Oid = pEntity.Oid;
pDataContract.Version = pEntity.Version;
pDataContract.Notice = pEntity.Notice;
pDataContract.Role = pEntity.Role;
pDataContract.Created = pEntity.Created;
pDataContract.Duration = pEntity.Duration;
pDataContract.ModelName = pEntity.ModelName;
pDataContract.ShowMessage = pEntity.ShowMessage;
pDataContract.UsedPromptbausteinTitle = pEntity.UsedPromptbausteinTitle;
pDataContract.StepCount = pEntity.StepCount;
if(pDataContract.Oid == 1616)
{
}
var promptbaustein = pEntity.UsedPromptbaustein;
// Sichtbar nur, wenn der Promptbaustein global (vgl. AiPromptbausteinPromptVM.IsPromptVisible).
pDataContract.ShowPrompt = promptbaustein != null && promptbaustein.ShowPrompt;
// Prompt-Inhalt nur ausliefern, wenn sichtbar (sonst "Versteckt").
pDataContract.UsedPromptbausteinContent = pDataContract.ShowPrompt ? promptbaustein.Prompt : null;
pDataContract.Message = pDataContract.ShowMessage ? pEntity.Message : null;
return pDataContract;
}
public override AiConversationMessage MergeWithEntity(AiConversationMessageDC pDataContract, AiConversationMessage pEntity)
{
throw new InvalidOperationException();
ConcurrencyCheck(pDataContract.Version, pEntity);
pEntity.Oid = pDataContract.Oid;
pEntity.Version = pDataContract.Version;
pEntity.Notice = pDataContract.Notice;
pEntity.Message = pDataContract.Message;
pEntity.Role = pDataContract.Role;
pEntity.Created = pDataContract.Created;
pEntity.Duration = pDataContract.Duration;
pEntity.ModelName = pDataContract.ModelName;
return pEntity;
}
protected override bool AreDCAndEntityEqual(AiConversationMessageDC pDC, AiConversationMessage pEntity)
{
throw new System.NotImplementedException();
}
}
}