Skip to content

Commit ac6c934

Browse files
committed
feat(AssistantV2): Added converter to MessageInput
1 parent 60022b6 commit ac6c934

File tree

1 file changed

+68
-1
lines changed

1 file changed

+68
-1
lines changed

Scripts/Services/Assistant/v2/Models/MessageInput.cs

Lines changed: 68 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*
1616
*/
1717
using FullSerializer;
18+
using System;
1819
using System.Collections.Generic;
1920
using System.Runtime.Serialization;
2021

@@ -23,7 +24,7 @@ namespace IBM.WatsonDeveloperCloud.Assistant.v2
2324
/// <summary>
2425
/// The user input.
2526
/// </summary>
26-
[fsObject]
27+
[fsObject(Converter = typeof(MessageInputConverter))]
2728
public class MessageInput
2829
{
2930
/// <summary>
@@ -73,4 +74,70 @@ public enum MessageTypeEnum
7374
public string SuggestionId { get; set; }
7475
}
7576

77+
#region Message Input Converter
78+
public class MessageInputConverter : fsConverter
79+
{
80+
private fsSerializer _serializer = new fsSerializer();
81+
82+
public override bool CanProcess(Type type)
83+
{
84+
return type == typeof(MessageInput);
85+
}
86+
87+
public override fsResult TryDeserialize(fsData data, ref object instance, Type storageType)
88+
{
89+
throw new NotImplementedException();
90+
}
91+
92+
public override fsResult TrySerialize(object instance, out fsData serialized, Type storageType)
93+
{
94+
MessageInput messageInput = (MessageInput)instance;
95+
serialized = null;
96+
97+
Dictionary<string, fsData> serialization = new Dictionary<string, fsData>();
98+
99+
fsData tempData = null;
100+
101+
if (messageInput.MessageType != null)
102+
{
103+
_serializer.TrySerialize(messageInput.MessageType, out tempData);
104+
serialization.Add("message_type", tempData);
105+
}
106+
107+
if (messageInput.Text != null)
108+
{
109+
_serializer.TrySerialize(messageInput.Text, out tempData);
110+
serialization.Add("text", tempData);
111+
}
112+
113+
if (messageInput.Options != null)
114+
{
115+
_serializer.TrySerialize(messageInput.Options, out tempData);
116+
serialization.Add("options", tempData);
117+
}
118+
119+
if (messageInput.Intents != null)
120+
{
121+
_serializer.TrySerialize(messageInput.Intents, out tempData);
122+
serialization.Add("intents", tempData);
123+
}
124+
125+
if (messageInput.Entities != null)
126+
{
127+
_serializer.TrySerialize(messageInput.Entities, out tempData);
128+
serialization.Add("entities", tempData);
129+
}
130+
131+
if (messageInput.SuggestionId != null)
132+
{
133+
_serializer.TrySerialize(messageInput.SuggestionId, out tempData);
134+
serialization.Add("suggestion_id", tempData);
135+
}
136+
137+
serialized = new fsData(serialization);
138+
139+
return fsResult.Success;
140+
}
141+
#endregion
142+
}
76143
}

0 commit comments

Comments
 (0)