1
- using Stacker . Models . Enums ;
1
+ using Codeplex . Data ;
2
+ using Stacker . Models . Enums ;
2
3
using System ;
3
4
4
5
namespace Stacker . Models
@@ -11,6 +12,8 @@ public AgReservation(AgManager manager)
11
12
}
12
13
13
14
public AgManager Manager { get ; set ; }
15
+
16
+ public abstract object Serialize ( ) ;
14
17
}
15
18
16
19
/// <summary>
@@ -27,6 +30,17 @@ public AgTimeReservation(string name, bool isRecordVideo, TimeSpan startTime, Ti
27
30
EndTime = endTime ;
28
31
}
29
32
33
+ public AgTimeReservation ( string jsonString , AgManager manager )
34
+ : base ( manager )
35
+ {
36
+ var j = DynamicJson . Parse ( jsonString ) ;
37
+
38
+ Name = ( string ) j . name ;
39
+ IsRecordVideo = ( bool ) j . is_record_video ;
40
+ StartTime = TimeSpan . FromMinutes ( ( int ) j . start_time ) ;
41
+ EndTime = TimeSpan . FromMinutes ( ( int ) j . end_time ) ;
42
+ }
43
+
30
44
/// <summary>
31
45
/// 名前を取得または設定します
32
46
/// </summary>
@@ -61,6 +75,22 @@ public bool NeedRecording
61
75
return nowTimeSpan >= StartTime && nowTimeSpan <= EndTime ;
62
76
}
63
77
}
78
+
79
+ /// <summary>
80
+ /// Jsonにシリアライズします
81
+ /// </summary>
82
+ /// <returns></returns>
83
+ public override object Serialize ( )
84
+ {
85
+ var data = new {
86
+ name = Name ,
87
+ is_record_video = IsRecordVideo ,
88
+ start_time = StartTime . TotalMinutes ,
89
+ end_time = EndTime . TotalMinutes
90
+ } ;
91
+
92
+ return data ;
93
+ }
64
94
}
65
95
66
96
/// <summary>
@@ -75,6 +105,15 @@ public AgKeywordReservation(AgKeywordReservationConditionType conditionType, str
75
105
Keyword = keyword ;
76
106
}
77
107
108
+ public AgKeywordReservation ( string jsonString , AgManager manager )
109
+ : base ( manager )
110
+ {
111
+ var j = DynamicJson . Parse ( jsonString ) ;
112
+
113
+ ConditionType = ( AgKeywordReservationConditionType ) j . condition_type ;
114
+ Keyword = ( string ) j . keyword ;
115
+ }
116
+
78
117
/// <summary>
79
118
/// 条件の種類
80
119
/// </summary>
@@ -84,5 +123,20 @@ public AgKeywordReservation(AgKeywordReservationConditionType conditionType, str
84
123
/// キーワード
85
124
/// </summary>
86
125
public string Keyword { get ; set ; }
126
+
127
+ /// <summary>
128
+ /// Jsonにシリアライズします
129
+ /// </summary>
130
+ /// <returns></returns>
131
+ public override object Serialize ( )
132
+ {
133
+ var data = new
134
+ {
135
+ condition_type = ( int ) ConditionType ,
136
+ keyword = Keyword
137
+ } ;
138
+
139
+ return data ;
140
+ }
87
141
}
88
142
}
0 commit comments