Example #1
0
		public void Save()
		{
			var now = DateTime.Now;

			var version = new ContentVersion();
			version.Expired = now;
			version.FuturePublish = now;
			version.ItemCount = 3;
			version.Published = now;
			version.Saved = now;
			version.SavedBy = "Ben";
			version.State = ContentState.Published;
			version.Title = "Hello";
			version.VersionDataXml = "duh";
			version.VersionIndex = 3;

			using(repository)
			{
				repository.SaveOrUpdate(version);
			}
			var read = repository.Get(version.ID);

			read.Expired.ShouldBe(now);
			read.FuturePublish.ShouldBe(now);
			read.ItemCount.ShouldBe(3);
			read.Published.ShouldBe(now);
			read.Saved.ShouldBe(now);
			read.SavedBy.ShouldBe("Ben");
			read.State.ShouldBe(ContentState.Published);
			read.Title.ShouldBe("Hello");
			read.VersionDataXml.ShouldBe("duh");
			read.VersionIndex.ShouldBe(3);
		}
Example #2
0
		public void Serialize_ContentItem()
		{
			var version = new ContentVersion();
			version.Title = "Hello";

			

			using (repository)
			{
				repository.SaveOrUpdate(version);
			}

			var read = repository.Get(version.ID);
			read.Title.ShouldBe(version.Title);
		}
 internal ContentVersion Inject(ContentVersion v)
 {
     v.Serializer = Serialize;
     v.Deserializer = Deserialize;
     return v;
 }
Example #4
0
		private static DraftInfo CreateDraftInfo(ContentVersion draft, int itemID)
		{
			return new DraftInfo
			{
				ItemID = itemID,
				Saved = draft.Saved,
				SavedBy = draft.SavedBy,
				VersionIndex = draft.VersionIndex
			};
		}
		public virtual void SerializeVersion(ContentVersion version, ContentItem item)
		{
			if (item == null)
			{
				version.Published = null;
				version.FuturePublish = null;
				version.Expired = null;
				version.VersionDataXml = null;
				version.VersionIndex = 0;
				version.Title = null;
				version.State = ContentState.None;
				version.ItemCount = 0;
				version.VersionDataXml = null;
			}
			else
			{
				version.VersionIndex = item.VersionIndex;
				version.Published = item.Published;
				version.FuturePublish = item["FuturePublishDate"] as DateTime?;
				if (version.FuturePublish.HasValue)
					item["FuturePublishDate"] = null;
				version.Expired = item.Expires;
				version.SavedBy = item.SavedBy;
				version.Title = item.Title;
				version.State = item.State;
				version.VersionDataXml = Serialize(item);
			}
		}
		public virtual ContentItem DeserializeVersion(ContentVersion version)
		{
			var initialIgnoreMissingTypes = importer.Reader.IgnoreMissingTypes;
			importer.Reader.IgnoreMissingTypes = true;
			try
			{
				var item = ContentVersion.Deserialize(importer, parser, version.VersionDataXml);
				if (version.FuturePublish.HasValue)
					item["FuturePublishDate"] = version.FuturePublish;
				item.Updated = version.Saved;
				return item;
			}
			finally
			{
				importer.Reader.IgnoreMissingTypes = initialIgnoreMissingTypes;
			}
		}
 private void InitialializeRelations(ContentVersion version, IEventSource session)
 {
     if (version == null)
         return;
     version.Master.ValueAccessor = o => GetByID(o, session);
 }
 private void InitialializeRelations(ContentVersion version, IEventSource session)
 {
     if (version == null)
         return;
     version.Master.ValueAccessor = session.Get<ContentItem>;
 }
 public ContentItem Deserialize(string xml)
 {
     return(ContentVersion.Deserialize(importer, parser, xml));
 }
 internal ContentVersion Inject(ContentVersion v)
 {
     v.Serializer   = Serialize;
     v.Deserializer = Deserialize;
     return(v);
 }
		public virtual ContentItem DeserializeVersion(ContentVersion version)
		{
			var item = ContentVersion.Deserialize(importer, parser, version.VersionDataXml);
			if (version.FuturePublish.HasValue)
				item["FuturePublishDate"] = version.FuturePublish;
			item.Updated = version.Saved;
			return item;
		}
 private static string ToJson(ContentVersion c)
 {
     return string.Format("{{\"index\":{0}, " +
                          "\"state\":\"{1}\", " +
                          "\"saved\":\"{4}\", " +
                          "\"savedBy\":\"{3}\", " +
                          "\"title\":\"{2}\"}}",
         c.VersionIndex, c.State.ToString(), Encode(c.Title),
         c.SavedBy, c.Saved.ToShortDateString() + " " + c.Saved.ToShortTimeString());
 }