Example #1
0
        private IDictionary <int, DraftInfo> GetPagesWithDrafts()
        {
            return(cache.GetOrCreate <IDictionary <int, DraftInfo> >("PagesWithDrafts", () =>
            {
                var drafts = new Dictionary <int, DraftInfo>();
                foreach (var draft in FindDrafts())
                {
                    if (!draft.Master.ID.HasValue)
                    {
                        continue;
                    }
                    int itemID = draft.Master.ID.Value;
                    if (drafts.ContainsKey(itemID) && drafts[itemID].Saved >= draft.Saved)
                    {
                        continue;
                    }

                    drafts[draft.Master.ID.Value] = new DraftInfo
                    {
                        ItemID = itemID,
                        Saved = draft.Saved,
                        SavedBy = draft.SavedBy,
                        VersionIndex = draft.VersionIndex
                    };
                }
                return drafts;
            }));
        }