This commit is contained in:
2026-05-15 12:28:37 +02:00
parent c1d9c3fa86
commit bc5f716f7d
3 changed files with 31 additions and 96 deletions

View File

@@ -1,5 +1,6 @@
using System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
namespace BeWo.Converter
@@ -11,7 +12,13 @@ namespace BeWo.Converter
try
{
var count = (int) value;
return count > 0;
if (parameter is string s && s == "reverse")
{
return !(count > 0);
}
return count > 0;
}
catch (Exception)
{

View File

@@ -563,8 +563,13 @@
<StackPanel
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsHitTestVisible="False"
Visibility="{Binding SelectedFolder.AlleFolderItems.Count, Converter={StaticResource CollectionCountToVisibilityConverter}, ConverterParameter=reverse}">
IsHitTestVisible="False">
<StackPanel.Visibility>
<MultiBinding Converter="{StaticResource BooleanAndVisibilityMultiConverter}">
<Binding Path="SelectedFolder.AlleFolderItems.Count" Converter="{StaticResource CollectionCountToBoolConverter}" ConverterParameter="reverse" />
<Binding Path="SelectedFolder.CanAddPrompt" />
</MultiBinding>
</StackPanel.Visibility>
<Path Fill="Black" Stretch="Uniform" Height="32" Margin="6"
Data="{StaticResource GeometryFileAdd2}">
</Path>
@@ -615,8 +620,13 @@
<StackPanel
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsHitTestVisible="False"
Visibility="{Binding SelectedFolder.AlleFolderItems.Count, Converter={StaticResource CollectionCountToVisibilityConverter}, ConverterParameter=reverse}">
IsHitTestVisible="False">
<StackPanel.Visibility>
<MultiBinding Converter="{StaticResource BooleanAndVisibilityMultiConverter}">
<Binding Path="SelectedFolder.Prompts.Count" Converter="{StaticResource CollectionCountToBoolConverter}" ConverterParameter="reverse" />
<Binding Path="SelectedFolder.CanAddPrompt" />
</MultiBinding>
</StackPanel.Visibility>
<Path Fill="Black" Stretch="Uniform" Height="32" Margin="6"
Data="{StaticResource GeometryFileAdd2}">
</Path>
@@ -661,8 +671,13 @@
<StackPanel
HorizontalAlignment="Center"
VerticalAlignment="Center"
IsHitTestVisible="False"
Visibility="{Binding SelectedFolder.AlleFolderItems.Count, Converter={StaticResource CollectionCountToVisibilityConverter}, ConverterParameter=reverse}">
IsHitTestVisible="False">
<StackPanel.Visibility>
<MultiBinding Converter="{StaticResource BooleanAndVisibilityMultiConverter}">
<Binding Path="SelectedFolder.Routines.Count" Converter="{StaticResource CollectionCountToBoolConverter}" ConverterParameter="reverse" />
<Binding Path="SelectedFolder.CanAddRoutine" />
</MultiBinding>
</StackPanel.Visibility>
<Path Fill="Black" Stretch="Uniform" Height="32" Margin="6"
Data="{StaticResource GeometryFileAdd2}">
</Path>

View File

@@ -41,93 +41,6 @@ namespace BeWo.Service.Plugins
return result;
}
public IEnumerable<AiPromptbausteinFolderDC> InsertAiPromptbausteinFolder(IEnumerable<AiPromptbausteinFolderDC> folders)
{
var entities = MapperFactory.AiPromptbausteinFolder.MapToNewEntities(folders);
DAOFactory.GenericDAO.Insert(entities);
return null;
}
public IEnumerable<AiPromptbausteinPromptDC> InsertAiPromptbausteinPrompt(IEnumerable<AiPromptbausteinPromptDC> prompts)
{
var entities = MapperFactory.AiPromptbausteinPrompt.MapToNewEntities(prompts);
DAOFactory.GenericDAO.Insert(entities);
return null;
}
public IEnumerable<AiPromptbausteinRoutineDC> InsertAiPromptbausteinRoutine(IEnumerable<AiPromptbausteinRoutineDC> routine)
{
var entities = MapperFactory.AiPromptbausteinRoutine.MapToNewEntities(routine);
DAOFactory.GenericDAO.Insert(entities);
return null;
}
public IEnumerable<AiPromptbausteinFolderDC> UpdateAiPromptbausteinFolder(IEnumerable<AiPromptbausteinFolderDC> folders)
{
var originale = DAOFactory.GenericDAO.LoadByIDs<AiPromptbausteinFolder>(folders.Select(sc => sc.Oid.Value));
var folders2 = folders.ToList();
MapperFactory.AiPromptbausteinFolder.MergeWithEntitys(folders2, originale);
DAOFactory.GenericDAO.Update(originale);
return null;
}
public IEnumerable<AiPromptbausteinPromptDC> UpdateAiPromptbausteinPrompt(IEnumerable<AiPromptbausteinPromptDC> prompts)
{
var originale = DAOFactory.GenericDAO.LoadByIDs<AiPromptbausteinPrompt>(prompts.Select(sc => sc.Oid.Value));
var prompts2 = prompts.ToList();
MapperFactory.AiPromptbausteinPrompt.MergeWithEntitys(prompts2, originale);
DAOFactory.GenericDAO.Update(originale);
return null;
}
public IEnumerable<AiPromptbausteinRoutineDC> UpdateAiPromptbausteinRoutine(IEnumerable<AiPromptbausteinRoutineDC> routine)
{
var originale = DAOFactory.GenericDAO.LoadByIDs<AiPromptbausteinRoutine>(routine.Select(sc => sc.Oid.Value));
var routine2 = routine.ToList();
MapperFactory.AiPromptbausteinRoutine.MergeWithEntitys(routine2, originale);
DAOFactory.GenericDAO.Update(originale);
return null;
}
public void DeleteAiPromptbausteinFolder(Dictionary<long, long> oid2version)
{
var originale = DAOFactory.GenericDAO.LoadByIDs<AiPromptbausteinFolder>(oid2version.Select(e => e.Key));
originale.DoForEach(or => MapperFactory.AiPromptbausteinFolder.ConcurrencyCheck(oid2version[or.Oid.Value], or));
DAOFactory.GenericDAO.SetActivationType(originale, BS.Shared.ActivationTypeId.Deleted);
}
private void delete_folder_rec(AiPromptbausteinFolder folder)
{
foreach (var sub_folder in folder.SubFolders)
{
delete_folder_rec(sub_folder);
}
DAOFactory.GenericDAO.SetActivationType(folder, BS.Shared.ActivationTypeId.Deleted);
}
public void DeleteAiPromptbausteinPrompt(Dictionary<long, long> oid2version)
{
var originale = DAOFactory.GenericDAO.LoadByIDs<AiPromptbausteinPrompt>(oid2version.Select(e => e.Key));
originale.DoForEach(or => MapperFactory.AiPromptbausteinPrompt.ConcurrencyCheck(oid2version[or.Oid.Value], or));
DAOFactory.GenericDAO.SetActivationType(originale, BS.Shared.ActivationTypeId.Deleted);
}
public void DeleteAiPromptbausteinRoutine(Dictionary<long, long> oid2version)
{
var originale = DAOFactory.GenericDAO.LoadByIDs<AiPromptbausteinRoutine>(oid2version.Select(e => e.Key));
originale.DoForEach(or => MapperFactory.AiPromptbausteinRoutine.ConcurrencyCheck(oid2version[or.Oid.Value], or));
DAOFactory.GenericDAO.SetActivationType(originale, BS.Shared.ActivationTypeId.Deleted);
}
private AiPromptbausteinFolderDC getOwnFolder(AiActionType aiActionType)
{
@@ -155,8 +68,6 @@ namespace BeWo.Service.Plugins
own_bib.SubPrompts.AddRange(own_prompts_dcs);
var example_routine = new AiPromptbausteinRoutineDC();
example_routine.ActionType = aiActionType;
example_routine.CanEdit = true;
@@ -190,10 +101,12 @@ namespace BeWo.Service.Plugins
return own_bib;
}
private void initOwnFolder(AiPromptbausteinFolderDC folder)
{
folder.CanAddFolder = true;
folder.CanAddPrompt = true;
folder.CanAddRoutine = true;
folder.CanEdit = true;
foreach (var prompt in folder.SubPrompts)