// TODO Get Items by Date
        // TODO Get Items by ID
        // TODO Get Items by QUERY?
        public void ShowItemsForPeriod(DailyListTimePeriod periodToRetrieve)
        {
            ItemsToDisplay = new ObservableCollection<DailyListItemViewModel>();

            using (var itemModel = new DailyListContext())
            {
                //var now = SystemClock.Instance.Now;
                //var dayNumber = now.InUtc().Day;

                //// Get all items for today
                //var currentItems = itemModel.DailyListItems
                //    .Where(i => i.CreatedDateTimeUtc.Day == dayNumber)
                //    .OrderByDescending(i => i.CreatedDateTimeUtc)
                //    .Include(i => i.Actions)
                //    .ToList();

                // TODO Stop ignoring the time period...
                // Get all items...
                var currentItems = itemModel.DailyListItems
                    .OrderByDescending(i => i.CreatedDateTimeUtc)
                    .Include(i => i.Actions)
                    .ToList();

                // TODO Actually we want to list the items in order of last run
                // I think. At the top of the list is not necessarily the last created
                // but the last run

                currentItems.ForEach(AddExistingItem);
            }
        }
예제 #2
0
        public void ShowActionsForPeriod(DailyListTimePeriod periodToRetrieve)
        {
            Actions = new ObservableCollection<ActionViewModel>();

            using (var itemModel = new DailyListContext())
            {
                var nowDate = SystemClock.Instance.Now.InUtc().Date;

                var periodStart = nowDate.AtMidnight().ToDateTimeUnspecified();
                var periodEnd = nowDate.AtMidnight().PlusDays(1).ToDateTimeUnspecified();

                //var actionEntities = itemModel.DailyListItemActions
                //    .Where(i => (i.ActionDateTimeUtc >= periodStart) &&
                //        (i.ActionDateTimeUtc < periodEnd))
                //    .Include(i => i.DailyListItem)
                //    .ToList();

                // TODO Implement the period properly
                var actionEntities = itemModel.DailyListItemActions
                    .Include(i => i.DailyListItem)
                    .ToList();

                actionEntities.ForEach(i => Actions.Add(new ActionViewModel(i, Context)));
            }
        }