diff --git a/BeWo/View/Detail/AI/AiPromptbausteinRoutineView.xaml.cs b/BeWo/View/Detail/AI/AiPromptbausteinRoutineView.xaml.cs index 223fe563b..fd28ad6df 100644 --- a/BeWo/View/Detail/AI/AiPromptbausteinRoutineView.xaml.cs +++ b/BeWo/View/Detail/AI/AiPromptbausteinRoutineView.xaml.cs @@ -75,6 +75,7 @@ namespace BeWo.View.Detail.AI var step = new AiPromptbausteinRoutineStepDC(); step.PromptReference = prompt.DataContract; step.ReferenceVersion = prompt.DataContract.Version.Value; + step.IsValid = true; var step_vm = new AiPromptbausteinRoutineStepVM(step); ViewModel.ViewModel.Steps.VMList.Add(step_vm); diff --git a/Service/BusinessLogic/AiPromptbausteinFolderLogic.cs b/Service/BusinessLogic/AiPromptbausteinFolderLogic.cs index f8f016e49..e785f9ab6 100644 --- a/Service/BusinessLogic/AiPromptbausteinFolderLogic.cs +++ b/Service/BusinessLogic/AiPromptbausteinFolderLogic.cs @@ -1,6 +1,7 @@ using BeWo.Data.Access; using BeWo.Data.Entities; using BeWo.Service.DCEntityMapper; +using BeWo.Service.ServiceImplementations.Enhanced; using BS.Shared.DataContracts.Feature.AI; using System; using System.Collections.Generic; @@ -49,12 +50,25 @@ namespace BeWo.Service.BusinessLogic } public override void Deactivate(AiPromptbausteinFolderDC dc) + { + throw new InvalidOperationException(); + } + + public void Deactivate(AiPromptbausteinFolderDC dc, AiPromptbausteinPromptLogic prompt_logic) { if(dc.SubFolders?.Any() ?? false) { foreach(var subfolder in dc.SubFolders) { - Deactivate(subfolder); + Deactivate(subfolder, prompt_logic); + } + } + + if(dc.SubPrompts?.Any() ?? false) + { + foreach (var prompt in dc.SubPrompts) + { + prompt_logic.Deactivate(prompt); } } diff --git a/Service/DCEntityMapper/AiPromptbausteinRoutineStepDC_AiPromptbausteinRoutineStep.cs b/Service/DCEntityMapper/AiPromptbausteinRoutineStepDC_AiPromptbausteinRoutineStep.cs index 6b28f66db..908d0947c 100644 --- a/Service/DCEntityMapper/AiPromptbausteinRoutineStepDC_AiPromptbausteinRoutineStep.cs +++ b/Service/DCEntityMapper/AiPromptbausteinRoutineStepDC_AiPromptbausteinRoutineStep.cs @@ -22,7 +22,7 @@ namespace BeWo.Service.DCEntityMapper pDataContract.Position = pEntity.Position; pDataContract.PromptReference = MapperFactory.AiPromptbausteinPrompt.MapToNewDC(pEntity.PromptReference); pDataContract.ReferenceVersion = pEntity.ReferenceVersion; - pDataContract.IsValid = (pEntity.IsActive == ActivationTypeId.Active); + pDataContract.IsValid = (pEntity.PromptReference.IsActive == ActivationTypeId.Active); //&& (pDataContract.PromptReference.Creator == null // || pDataContract.PromptReference.Creator.EmployeeOid == CurrentUser.Oid // || pDataContract.PromptReference.IsPublic); diff --git a/Service/Plugins/AiService2.cs b/Service/Plugins/AiService2.cs index 97eca1d1f..a7ac5a04e 100644 --- a/Service/Plugins/AiService2.cs +++ b/Service/Plugins/AiService2.cs @@ -498,7 +498,6 @@ namespace BeWo.Service.Plugins else if (actionType == AiActionType.ServiceRecordDocumentation) { userRightType = UserRightType.AiModuleServiceRecordDocu; - } else { diff --git a/Service/ServiceImplementations/Enhanced/AiEnhancedServiceImp.cs b/Service/ServiceImplementations/Enhanced/AiEnhancedServiceImp.cs index 5dc993d23..dc8020418 100644 --- a/Service/ServiceImplementations/Enhanced/AiEnhancedServiceImp.cs +++ b/Service/ServiceImplementations/Enhanced/AiEnhancedServiceImp.cs @@ -97,7 +97,7 @@ namespace BeWo.Service.ServiceImplementations.Enhanced => GetRoutineLogic().Update(routine); public void DeleteAiPromptbausteinFolder(AiPromptbausteinFolderDC folder) - => GetFolderLogic().Deactivate(folder); + => GetFolderLogic().Deactivate(folder, GetPromptLogic()); public void DeleteAiPromptbausteinPrompt(AiPromptbausteinPromptDC prompt) => GetPromptLogic().Deactivate(prompt);