15
15
*
16
16
*/
17
17
using FullSerializer ;
18
+ using System ;
18
19
using System . Collections . Generic ;
19
20
using System . Runtime . Serialization ;
20
21
@@ -23,7 +24,7 @@ namespace IBM.WatsonDeveloperCloud.Assistant.v2
23
24
/// <summary>
24
25
/// The user input.
25
26
/// </summary>
26
- [ fsObject ]
27
+ [ fsObject ( Converter = typeof ( MessageInputConverter ) ) ]
27
28
public class MessageInput
28
29
{
29
30
/// <summary>
@@ -73,4 +74,70 @@ public enum MessageTypeEnum
73
74
public string SuggestionId { get ; set ; }
74
75
}
75
76
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
+ }
76
143
}
0 commit comments