public override string SerializeToString(object obj)
{
IPeriodList rdt = obj as IPeriodList;
ISerializerFactory factory = GetService<ISerializerFactory>();
if (rdt != null && factory != null)
{
IStringSerializer dtSerializer = factory.Build(typeof(IDateTime), SerializationContext) as IStringSerializer;
IStringSerializer periodSerializer = factory.Build(typeof(IPeriod), SerializationContext) as IStringSerializer;
if (dtSerializer != null && periodSerializer != null)
{
List<string> parts = new List<string>();
foreach (IPeriod p in rdt)
{
if (p.EndTime != null)
parts.Add(periodSerializer.SerializeToString(p));
else if (p.StartTime != null)
parts.Add(dtSerializer.SerializeToString(p.StartTime));
}
return Encode(rdt, string.Join(",", parts.ToArray()));
}
}
return null;
}