Ejemplo n.º 1
0
        public override void OnNavigatedTo(object parameter, NavigationMode mode, IDictionary <string, object> state)
        {
            // no state restore when new or refreshed (after resume) page
            if (mode == NavigationMode.New || mode == NavigationMode.Refresh)
            {
                return;
            }

            if (state.ContainsKey(TEMPORARY_ITEM_KEY))
            {
                var deserializedTempItem = _serializationService.DeserializeJson <ItemModel>(state[TEMPORARY_ITEM_KEY] as string); // TODO: FIXME: deserialization/ser. done impl. ???
                TemporaryItem = new ItemViewModel(deserializedTempItem);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Load specific data.
        /// </summary>
        /// <param name="guid">Id of data to load.</param>
        /// <returns>Return data.</returns>
        public virtual async Task <T> LoadAsync(Guid guid)
        {
            // save all in dictionary
            if (!cache.ContainsKey(guid))
            {
                var file = await storageService.GetFileAsync(Path.Combine("Data", $"{guid}.json"));

                var data = serializationService.DeserializeJson <T>(await file.OpenStreamForReadAsync());

                if (data == null)
                {
                    System.Diagnostics.Debug.WriteLine(file.Path + " was not loaded");
                    return(await Task.FromResult <T>(default(T)));
                }

                cache.Add(guid, data);
            }

            return(cache[guid]);
        }