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()); } }
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()); } }