Files
BeWoPlaner/BeWo/ViewModel/AiConversationMessageVM.cs
2025-03-19 16:30:27 +01:00

112 lines
2.3 KiB
C#

using System;
using BS.Shared;
using BS.Shared.DataContracts;
namespace BeWo.ViewModel
{
public class AiConversationMessageVM : AbstractDCMapperVM<AiConversationMessageDC>
{
private long? _Oid;
private string _Context;
private string _Prompt;
private string _Model;
private string _Result;
public AiConversationMessageVM(AiConversationMessageDC dc) : base(dc, dc.Oid is null)
{
}
public long? Oid
{
get { return _Oid; }
set
{
if (!AreDifferent(_Oid, value))
return;
_Oid = value;
StoreDirtyInformation(AreDifferent(DataContract.Oid, value), nameof(Oid));
FirePropertyChanged(nameof(Oid));
}
}
public string Context
{
get { return _Context; }
set
{
if (!AreDifferent(_Context, value))
return;
_Context = value;
StoreDirtyInformation(AreDifferent(DataContract.Context, value), nameof(Context));
FirePropertyChanged(nameof(Context));
}
}
public string Prompt
{
get { return _Prompt; }
set
{
if (!AreDifferent(_Prompt, value))
return;
_Prompt = value;
StoreDirtyInformation(AreDifferent(DataContract.Prompt, value), nameof(Prompt));
FirePropertyChanged(nameof(Prompt));
}
}
public string Model
{
get { return _Model; }
set
{
if (!AreDifferent(_Model, value))
return;
_Model = value;
StoreDirtyInformation(AreDifferent(DataContract.Model, value), nameof(Model));
FirePropertyChanged(nameof(Model));
}
}
public string Result
{
get { return _Result; }
set
{
if (!AreDifferent(_Result, value))
return;
_Result = value;
StoreDirtyInformation(AreDifferent(DataContract.Result, value), nameof(Result));
FirePropertyChanged(nameof(Result));
}
}
protected override void InitByDataContract(AiConversationMessageDC pDataContract)
{
_Oid = pDataContract.Oid;
_Context = pDataContract.Context;
_Prompt = pDataContract.Prompt;
_Model = pDataContract.Model;
_Result = pDataContract.Result;
}
protected override AiConversationMessageDC MapToDataContract(AiConversationMessageDC pDataContract, bool doCommit)
{
pDataContract.Oid = _Oid;
pDataContract.Context = _Context;
pDataContract.Prompt = _Prompt;
pDataContract.Model = _Model;
pDataContract.Result = _Result;
return pDataContract;
}
}
}