Files
BeWoPlaner/Shared/DataContracts/Feature/AI/AiPromptbausteinTreeDC.cs
2025-12-12 14:15:58 +01:00

139 lines
4.3 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 class PredefinedAiPromptbausteine
{
public AiPromptbausteinTreeDC Zeiterfassung { get; set; }
public AiPromptbausteinTreeDC Zeiterfassung_Doku { get; set; }
public AiPromptbausteinTreeDC Zeiterfassung_Doku_1 { get; set; }
public AiPromptbausteinTreeDC Zeiterfassung_Doku_2 { get; set; }
public AiPromptbausteinTreeDC Zeiterfassung_Conversation { get; set; }
public AiPromptbausteinTreeDC Zeiterfassung_Conversation_1 { get; set; }
public AiPromptbausteinTreeDC Zeiterfassung_Conversation_2 { get; set; }
public PredefinedAiPromptbausteine()
{
Zeiterfassung_Conversation_1 = new AiPromptbausteinTreeDC()
{
Oid = 7,
Version = 1,
Displayname = "Problemzusammenfassung",
AiActionType = AiActionType.ServiceRecordConversation,
Content = "Nenne mir die 3 größten Probleme des Klienten"
};
Zeiterfassung_Conversation_2 = new AiPromptbausteinTreeDC()
{
Oid = 6,
Version = 1,
Displayname = "Zielezusammenfassung",
AiActionType = AiActionType.ServiceRecordConversation,
Content = "Fasse mir alle erreichten Ziele des Klienten zusammen"
};
Zeiterfassung_Doku_1 = new AiPromptbausteinTreeDC()
{
Oid = 5,
Version = 1,
Displayname = "Vollständiger Text",
AiActionType = AiActionType.ServiceRecordDocumentation,
Content = "Erstelle aus dem vorliegenden Text einen fließenden Text."
};
Zeiterfassung_Doku_2 = new AiPromptbausteinTreeDC()
{
Oid = 4,
Version = 1,
Displayname = "Stichpunkte",
AiActionType = AiActionType.ServiceRecordDocumentation,
Content = "Übersetze den vorliegenden Text in Stichpunkte"
};
Zeiterfassung_Conversation = new AiPromptbausteinTreeDC()
{
Oid = 3,
Version = 1,
Displayname = "Konversation",
Content = "Kategorie der Zeiterfassung->Konversation",
AiActionType = AiActionType.ServiceRecordConversation,
PromptbausteinType = AiPromptbausteinType.Ordner,
Children = new List<AiPromptbausteinTreeDC>
{
Zeiterfassung_Conversation_1,
Zeiterfassung_Conversation_2
}
};
Zeiterfassung_Doku = new AiPromptbausteinTreeDC()
{
Oid = 2,
Version = 1,
Displayname = "Dokumentation",
Content = "Kategorie der Zeiterfassung->Dokumentation",
AiActionType = AiActionType.ServiceRecordDocumentation,
PromptbausteinType = AiPromptbausteinType.Ordner,
Children = new List<AiPromptbausteinTreeDC>
{
Zeiterfassung_Doku_1,
Zeiterfassung_Doku_2
}
};
Zeiterfassung = new AiPromptbausteinTreeDC()
{
Oid = 1,
Version = 1,
Displayname = "Zeiterfassung",
Content = "Kategorie der Zeiterfassung",
AiActionType = AiActionType.ServiceRecord,
PromptbausteinType = AiPromptbausteinType.Ordner,
Children = new List<AiPromptbausteinTreeDC>
{
Zeiterfassung_Doku,
Zeiterfassung_Conversation,
}
};
}
public IEnumerable<AiPromptbausteinTreeDC> GetFullPromptbausteineTree()
{
return new List<AiPromptbausteinTreeDC> { Zeiterfassung };
}
public IEnumerable<AiPromptbausteinTreeDC> GetAllPromptbausteine()
{
return new List<AiPromptbausteinTreeDC>()
{
Zeiterfassung, Zeiterfassung_Conversation, Zeiterfassung_Conversation_1, Zeiterfassung_Conversation_2,
Zeiterfassung_Doku, Zeiterfassung_Doku_1, Zeiterfassung_Doku_2
};
}
}
}