Files
BeWoPlaner/Shared/DataContracts/Feature/AI/AiPromptbausteinTreeDC.cs
Rene Evertz 3933622216 Teilbaum in der Auswahl
+ Leitsatz mehr verfolgt: ViewModel -> Daten, View -> Ansicht
2025-12-17 11:10:14 +01:00

86 lines
2.7 KiB
C#

using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.Serialization;
using System.ServiceModel.ComIntegration;
using BS.Shared.DataContracts.Compact;
namespace BS.Shared.DataContracts.Feature.AI
{
[DataContract]
public partial class AiPromptbausteinTreeDC : BeWoDataContract
{
[DataMember] public string Displayname { get; set; }
[DataMember] public string Content { get; set; }
[DataMember] public AiPromptbausteinType PromptbausteinType { get; set; }
[DataMember] public string Metadata { get; set; }
[DataMember] public AiActionType AiActionType { get; set; }
[DataMember] public CompactEmployeeDC Creator { get; set; }
[DataMember] public bool IsOnlyForCreator { get; set; }
[DataMember] public bool ShowUserPrompt { get; set; }
[DataMember] public bool ShowUserPromptByTenant { get; set; }
[DataMember] public int Position { get; set; }
[DataMember] public bool IsExpanded { get; set; }
[DataMember] public long? ParentOid { get; set; }
[DataMember] public List<AiPromptbausteinTreeDC> Children { get; set; }
}
public static class PredefinedAiPromptbausteine
{
public static IEnumerable<AiPromptbausteinTreeDC> GenerateDesignerInstance()
{
var zeiterfassung = CreateZeiterfassungRoot();
zeiterfassung.Children.Add(CreateZeiterfassungDokuNode());
zeiterfassung.Children.Add(CreateZeiterfassungConversationNode());
return new AiPromptbausteinTreeDC[] { zeiterfassung };
}
public static AiPromptbausteinTreeDC CreateZeiterfassungRoot()
{
return new AiPromptbausteinTreeDC()
{
Oid = -1,
Version = 1,
Displayname = "Zeiterfassung",
Content = "Zeiterfassung",
IsExpanded = true,
AiActionType = AiActionType.ServiceRecord,
PromptbausteinType = AiPromptbausteinType.Ordner,
Children = new List<AiPromptbausteinTreeDC>()
};
}
public static AiPromptbausteinTreeDC CreateZeiterfassungDokuNode()
{
return new AiPromptbausteinTreeDC()
{
Oid = -3,
Version = 1,
Displayname = "Dokumentation",
Content = "Zeiterfassung->Dokumentation",
IsExpanded = true,
AiActionType = AiActionType.ServiceRecordDocumentation,
PromptbausteinType = AiPromptbausteinType.Ordner,
Children = new List<AiPromptbausteinTreeDC>()
};
}
public static AiPromptbausteinTreeDC CreateZeiterfassungConversationNode()
{
return new AiPromptbausteinTreeDC()
{
Oid = -2,
Version = 1,
Displayname = "Konversation",
Content = "Zeiterfassung->Konversation",
IsExpanded = true,
AiActionType = AiActionType.ServiceRecordConversation,
PromptbausteinType = AiPromptbausteinType.Ordner,
Children = new List<AiPromptbausteinTreeDC>()
};
}
}
}