コード例 #1
0
ファイル: ArchiveCore.cs プロジェクト: trowpa/WeBlog
        protected void LoadEntries(Item blogItem)
        {
            var entries = ManagerFactory.EntryManagerInstance.GetBlogEntries(blogItem);

            MonthsByYear = new Dictionary <int, int[]>();

            foreach (var entry in entries)
            {
                DateTime created = entry.Created;
                var      key     = (created.Year * 100) + created.Month;
                if (EntriesByMonthAndYear.ContainsKey(key))
                {
                    EntriesByMonthAndYear[key].Add(entry);
                }
                else
                {
                    var listTemp = new List <EntryItem> {
                        entry
                    };
                    EntriesByMonthAndYear.Add(key, listTemp);
                }
            }

            foreach (var blogEntryYear in GetYears(entries))
            {
                MonthsByYear.Add(blogEntryYear, GetMonths(blogEntryYear).ToArray());
            }
        }
コード例 #2
0
        protected void LoadEntries(Item blogItem)
        {
            var entries = ManagerFactory.EntryManagerInstance.GetBlogEntries(blogItem, EntryCriteria.AllEntries, ListOrder.Descending);

            MonthsByYear = new Dictionary <int, int[]>();

            foreach (var entry in entries.Results)
            {
                var item = Database.GetItem(entry.Uri);
                if (item == null)
                {
                    continue;
                }

                var entryItem = new EntryItem(item);

                var created = entry.EntryDate;
                var key     = (created.Year * 100) + created.Month;

                // todo: work out how to render the archive without loading the full item for each entry (index URL? or generate URL manually?)
                if (EntriesByMonthAndYear.ContainsKey(key))
                {
                    EntriesByMonthAndYear[key].Add(entryItem);
                }
                else
                {
                    var listTemp = new List <EntryItem> {
                        entryItem
                    };
                    EntriesByMonthAndYear.Add(key, listTemp);
                }
            }

            foreach (var blogEntryYear in GetYears(entries.Results))
            {
                MonthsByYear.Add(blogEntryYear, GetMonths(blogEntryYear).ToArray());
            }
        }