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