Example #1
0
        public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> suspensionState)
        {
            if (suspensionState.Any())
            {
                Sets = suspensionState[nameof(Sets)] as ObservableCollection <SetViewModel>;
            }

            if (parameter != null)
            {
                var sets = parameter as IEnumerable <Set>;
                if (sets != null && sets.Any())
                {
                    ShowNothingHere = false;
                    ContainsData    = true;

                    foreach (var set in sets)
                    {
                        Sets.Add(new SetViewModel(set));
                    }
                }
            }
            else
            {
                var allSetsFromStorage = await SetStorage.GetAllSets();

                Sets.Clear();
                foreach (var set in allSetsFromStorage)
                {
                    Sets.Add(new SetViewModel(set));
                }
            }

            await Task.CompletedTask;
        }