using BeWo.ViewModel.ListViewModel; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BeWo.ViewModel.View.Administration { public class AiPromptbausteinRoutineViewModel : AcceptCancelDialogViewModel { private readonly bool _IsNew; public AiPromptbausteinRoutineStepVM _SelectedStep; public AiPromptbausteinRoutineViewModel(AiPromptbausteinRoutineVM viewModel, AiPromptbausteinFolderListVM folders, bool isNew) : base() { ViewModel = viewModel; FolderListVM = folders; _IsNew = isNew; ViewModel.PropertyChanged += (s, e) => { AcceptCommand.RaiseCanExecuteChanged(); }; ViewModel.Steps.VMList.ListChanged += (s, e) => { AcceptCommand.RaiseCanExecuteChanged(); }; } public AiPromptbausteinFolderListVM FolderListVM { get; set; } public AiPromptbausteinRoutineVM ViewModel { get; private set; } public AiPromptbausteinRoutineStepVM SelectedStep { get => _SelectedStep; set => SetProperty(ref _SelectedStep, value, nameof(SelectedStep)); } public string AcceptButtonText => _IsNew ? "Hinzufügen" : "Speichern"; protected override bool canAccept() { return (_IsNew || ViewModel.IsDirty) && !string.IsNullOrWhiteSpace(ViewModel.Title) && (ViewModel.Steps?.VMList.Any() ?? false); } } }