public IEnumerable <TaskItemByDateView> GetClosedTasks(string filename) { var file = ItemsManager.GetFiles().FirstOrDefault(f => f.Name == filename); if (file == null) { return(null); } if (!file.IsEncrypted) { ItemsManager.LoadFile(filename, null); } var items = TasksManager.GetFirstLevelItems(file, null); TasksManager.SetChildItems(file, items, true); TasksManager.FilterClosedItems(items); items = items.OrderByDescending(i => i.MostRecentCompletedOnDateValue).ToList(); var grouped = items .GroupBy(k => k.MostRecentCompletedOnDate, v => v); var list = new List <TaskItemByDateView>(); foreach (var gr in grouped) { var newGr = new TaskItemByDateView() { Date = gr.Key, Tasks = gr.ToList(), CompletedCount = gr.ToList().Sum(s => s.CompletedCount) }; list.Add(newGr); } return(list); }
public IEnumerable <TaskItemView> GetOpenTasks(string filename) { var file = ItemsManager.GetFiles().FirstOrDefault(f => f.Name == filename); if (file == null) { return(null); } if (!file.IsEncrypted) { ItemsManager.LoadFile(filename, null); } var items = TasksManager.GetFirstLevelItems(file, false); TasksManager.SetChildItems(file, items, false); return(items); }