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