Files
BeWoPlaner/BeWo/ViewModel/ListViewModel/AiPromptbausteinTreeListVM.cs
2025-12-12 14:57:26 +01:00

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
}
}