52 lines
1.1 KiB
C#
52 lines
1.1 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using BS.Shared.DataContracts.Feature.AI;
|
|
|
|
namespace BeWo.ViewModel.ListViewModel
|
|
{
|
|
public class AiPromptbausteinTreeListVM : AbstractDCListMapperVM<AiPromptbausteinTreeDC, AiPromptbausteinTreeVM>
|
|
{
|
|
public AiPromptbausteinTreeListVM() : this(null)
|
|
{
|
|
if (BeWoApp.IsInDesignMode)
|
|
{
|
|
InitDesigner();
|
|
}
|
|
}
|
|
|
|
public AiPromptbausteinTreeListVM(IEnumerable<AiPromptbausteinTreeDC> pDataContracts = null, AiPromptbausteinTreeVM aiPromptbausteinTreeVM = null) : base(pDataContracts)
|
|
{
|
|
foreach (var vm in VMList)
|
|
{
|
|
vm.Parent = aiPromptbausteinTreeVM;
|
|
}
|
|
}
|
|
|
|
public bool ContainsDirtyNode()
|
|
{
|
|
if (IsDirty)
|
|
return true;
|
|
|
|
foreach (var vm in VMList)
|
|
{
|
|
if (vm.Children is object && vm.Children.ContainsDirtyNode())
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
#region Designer
|
|
private void InitDesigner()
|
|
{
|
|
var prompts = PredefinedAiPromptbausteine.GenerateDesignerInstance();
|
|
|
|
foreach (var vm in prompts)
|
|
{
|
|
VMList.Add(new AiPromptbausteinTreeVM(vm));
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|