86 lines
2.7 KiB
C#
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>()
|
|
};
|
|
}
|
|
}
|
|
}
|