2018-04-25 15:25:47 +02:00
|
|
|
|
using System.IO;
|
|
|
|
|
|
using CSharpTest.Net.Serialization;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Umbraco.Web.PublishedCache.NuCache.DataSource
|
|
|
|
|
|
{
|
|
|
|
|
|
class ContentDataSerializer : ISerializer<ContentData>
|
|
|
|
|
|
{
|
|
|
|
|
|
private static readonly DictionaryOfPropertyDataSerializer PropertiesSerializer = new DictionaryOfPropertyDataSerializer();
|
|
|
|
|
|
private static readonly DictionaryOfCultureVariationSerializer CultureVariationsSerializer = new DictionaryOfCultureVariationSerializer();
|
|
|
|
|
|
|
|
|
|
|
|
public ContentData ReadFrom(Stream stream)
|
|
|
|
|
|
{
|
|
|
|
|
|
return new ContentData
|
|
|
|
|
|
{
|
|
|
|
|
|
Published = PrimitiveSerializer.Boolean.ReadFrom(stream),
|
|
|
|
|
|
Name = PrimitiveSerializer.String.ReadFrom(stream),
|
2019-03-05 11:15:30 +01:00
|
|
|
|
UrlSegment = PrimitiveSerializer.String.ReadFrom(stream),
|
2018-04-25 15:25:47 +02:00
|
|
|
|
VersionId = PrimitiveSerializer.Int32.ReadFrom(stream),
|
|
|
|
|
|
VersionDate = PrimitiveSerializer.DateTime.ReadFrom(stream),
|
|
|
|
|
|
WriterId = PrimitiveSerializer.Int32.ReadFrom(stream),
|
|
|
|
|
|
TemplateId = PrimitiveSerializer.Int32.ReadFrom(stream),
|
|
|
|
|
|
Properties = PropertiesSerializer.ReadFrom(stream),
|
|
|
|
|
|
CultureInfos = CultureVariationsSerializer.ReadFrom(stream)
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void WriteTo(ContentData value, Stream stream)
|
|
|
|
|
|
{
|
|
|
|
|
|
PrimitiveSerializer.Boolean.WriteTo(value.Published, stream);
|
|
|
|
|
|
PrimitiveSerializer.String.WriteTo(value.Name, stream);
|
2019-03-05 11:15:30 +01:00
|
|
|
|
PrimitiveSerializer.String.WriteTo(value.UrlSegment, stream);
|
2018-04-25 15:25:47 +02:00
|
|
|
|
PrimitiveSerializer.Int32.WriteTo(value.VersionId, stream);
|
|
|
|
|
|
PrimitiveSerializer.DateTime.WriteTo(value.VersionDate, stream);
|
|
|
|
|
|
PrimitiveSerializer.Int32.WriteTo(value.WriterId, stream);
|
2018-11-15 07:23:09 +00:00
|
|
|
|
if (value.TemplateId.HasValue)
|
|
|
|
|
|
{
|
|
|
|
|
|
PrimitiveSerializer.Int32.WriteTo(value.TemplateId.Value, stream);
|
|
|
|
|
|
}
|
2018-04-25 15:25:47 +02:00
|
|
|
|
PropertiesSerializer.WriteTo(value.Properties, stream);
|
|
|
|
|
|
CultureVariationsSerializer.WriteTo(value.CultureInfos, stream);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2018-11-15 07:23:09 +00:00
|
|
|
|
}
|