112 lines
2.3 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|