private async Task PopulateItemsListAsync() { var viewModels = new List <ItemDetailViewModel>(); foreach (var location in _locations) { var locationReading = await DeviceReadingsReader.GetLatestAsync(location.Name); if (locationReading != null) { viewModels.Add(new ItemDetailViewModel(locationReading, _goals.Find(g => g.Location == locationReading.RoomName))); } } Items.AddRange(viewModels.OrderBy(vm => vm.Priority)); }
private async Task EnsureBasedataLoaded() { if (_locations == null) { _locations = await DeviceReadingsReader.GetLocationsAsync(); _goals = new List <Goal>(); foreach (var location in _locations) { var goal = await DeviceReadingsReader.GetGoalAsync(location.Name); if (goal != null) { _goals.Add(goal); } } } }