From a0d06b16b51d53de77f8772e11bae730f9073b79 Mon Sep 17 00:00:00 2001 From: Rene Evertz Date: Mon, 1 Jun 2026 13:08:19 +0200 Subject: [PATCH] =?UTF-8?q?Gel=C3=B6schte=20Prompts=20(deakitivert)=20erze?= =?UTF-8?q?ugen=20invalide=20RoutineSteps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AI/AiPromptbausteinRoutineView.xaml.cs | 1 + .../BusinessLogic/AiPromptbausteinFolderLogic.cs | 16 +++++++++++++++- ...nRoutineStepDC_AiPromptbausteinRoutineStep.cs | 2 +- Service/Plugins/AiService2.cs | 1 - .../Enhanced/AiEnhancedServiceImp.cs | 2 +- 5 files changed, 18 insertions(+), 4 deletions(-) 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);