using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using BS.Shared.DataContracts.Feature.AI; using DevExpress.CodeParser; using DevExpress.Xpf.Scheduling.Editors; namespace BeWo.ViewModel.ListViewModel { public class AiPromptbausteinFolderListVM : AbstractDCListMapperVM { public AiPromptbausteinFolderListVM(IEnumerable pDataContracts = null, AiPromptbausteinFolderVM parent = null) : base(pDataContracts) { foreach (var vm in VMList) { vm.Parent = parent; if(vm.DataContract.ParentFolderOid != null) { vm.ParentFolderOid = parent?.DataContract?.Oid; } } } public bool ContainsDirtyObject() { if (IsDirty) return true; foreach (var vm in VMList) { if (vm.SubFolders is object && vm.SubFolders.ContainsDirtyObject()) return true; if (vm.SubPrompts is object && vm.SubPrompts.IsDirty) return true; } return false; } //public IEnumerable GetNewFolders() //{ // foreach(var folder in VMList) // { // if (folder.IsNew) // { // yield return folder; // continue; // } // var new_sub_folders = folder.SubFolders.GetNewFolders(); // foreach (var new_sub_folder in new_sub_folders) // { // yield return new_sub_folder; // } // } //} //public IEnumerable GetNewPrompts() //{ // foreach (var folder in VMList) // { // if (folder.IsNew) // continue; // var new_prompts = folder.SubPrompts.CommitAdded(); // foreach (var new_prompt in new_prompts) // { // yield return new_prompt; // } // var new_sub_prompts = folder.SubFolders.GetNewPrompts(); // foreach (var new_sub_prompt in new_sub_prompts) // { // yield return new_sub_prompt; // } // } //} //public IEnumerable GetUpdatedFolder() //{ // foreach (var folder in VMList) // { // if (folder.IsNew) // continue; // var new_prompts = folder.SubPrompts.CommitAdded(); // foreach (var new_prompt in new_prompts) // { // yield return new_prompt; // } // var new_sub_prompts = folder.SubFolders.GetNewPrompts(); // foreach (var new_sub_prompt in new_sub_prompts) // { // yield return new_sub_prompt; // } // } //} //public IEnumerable GetUpdatedPrompt() //{ // foreach (var folder in VMList) // { // if (folder.IsNew) // continue; // var new_prompts = folder.SubPrompts.CommitAdded(); // foreach (var new_prompt in new_prompts) // { // yield return new_prompt; // } // var new_sub_prompts = folder.SubFolders.GetNewPrompts(); // foreach (var new_sub_prompt in new_sub_prompts) // { // yield return new_sub_prompt; // } // } //} } }