public dynamic TakeSnapshot(ContentItem contentItem) { var part = contentItem.As <FolderPart>(); if (part == null) { return(null); } FolderPartRecord oldData = new FolderPartRecord(); oldData.Title = part.Record.Title; oldData.Parent_Id = part.Record.Parent_Id; return(oldData); }
public IEnumerable <ActivityStreamChangeItem> GetChangesDescriptions(ActiviyStreamWriterContext context) { if (!this.CanApply(context)) { return(null); } List <string> changes = new List <string>(); FolderPartRecord old = context.Snapshot != null ? (context.Snapshot as FolderPartRecord) : null; FolderPartRecord newValue = (context.ContentItem.As <FolderPart>()).Record; if (old == null) { return(null); } // change Title if (old.Title != newValue.Title) { string newTitleString = !string.IsNullOrEmpty(newValue.Title) ? newValue.Title : this.T("Empty").Text; newTitleString = string.Format( CultureInfo.CurrentUICulture, T("changed the Title to: '{0}'").Text, newTitleString); changes.Add(newTitleString); } // change Parent if (old.Parent_Id != null && newValue.Parent_Id == null) { changes.Add(T("changes the folder to a root folder").Text); } else if (old.Parent_Id == null && newValue.Parent_Id != null) { var parentFolder = this.folderService.GetFolder(newValue.Parent_Id.Value); changes.Add(T("move the folder to {0}", parentFolder.Record.Title).Text); } else if (old.Parent_Id != null && newValue.Parent_Id != null && old.Parent_Id != newValue.Parent_Id) { var parentFolder = this.folderService.GetFolder(newValue.Parent_Id.Value); changes.Add(T("move the folder to {0}", parentFolder.Record.Title).Text); } return(changes.Select(c => new ActivityStreamChangeItem(c))); }
public IEnumerable <ActivityStreamChangeItem> GetChangesDescriptions(ActiviyStreamWriterContext context) { if (!this.CanApply(context)) { yield break; } var attachToFolderPart = context.ContentItem.As <AttachToFolderPart>(); FolderPartRecord newFolder = attachToFolderPart.Record.Folder; FolderPartRecord oldFolder = context.Snapshot != null ? context.Snapshot.Folder : null; if (oldFolder == null && newFolder == null) { yield break; } else if (oldFolder == null && newFolder != null) { newFolder = this.folderService.GetFolder(newFolder.Id).As <FolderPart>().Record; string change = T("{0} is added to the folder '{1}'", contentItemDescriptorManager.GetDescription(context.ContentItem), newFolder.Title).Text; yield return(new ActivityStreamChangeItem(change)); } else if (oldFolder != null && newFolder == null) { oldFolder = this.folderService.GetFolder(oldFolder.Id).As <FolderPart>().Record; string change = T("{0} is detached from the folder '{1}'", contentItemDescriptorManager.GetDescription(context.ContentItem), oldFolder.Title).Text; yield return(new ActivityStreamChangeItem(change)); } else if (oldFolder != null && newFolder != null && oldFolder.Id != newFolder.Id) { var oldFolderContentItem = this.folderService.GetFolder(oldFolder.Id); var newFolderContentItem = this.folderService.GetFolder(newFolder.Id); string change = T("{0} is detached from the folder '{1}'", contentItemDescriptorManager.GetDescription(context.ContentItem), oldFolderContentItem.Record.Title).Text; yield return(new ActivityStreamChangeItem(change, true, oldFolderContentItem.ContentItem.Id, oldFolderContentItem.ContentItem.VersionRecord.Id)); change = T("{0} is added to the folder '{1}'", contentItemDescriptorManager.GetDescription(context.ContentItem), newFolderContentItem.Record.Title).Text; yield return(new ActivityStreamChangeItem(change, true, newFolderContentItem.ContentItem.Id, newFolderContentItem.ContentItem.VersionRecord.Id)); } }