Ejemplo n.º 1
0
        /// <summary>
        /// Load object from file
        /// </summary>
        /// <param name="fileName"></param>
        /// <returns></returns>
        public async Task <T> LoadAsync(string fileName)
        {
            fileName = fileName + _fileExtension;
            try
            {
                IFile   file   = null;
                IFolder folder = await GetFolderAsync().ConfigureAwait(false);

                var contains = await folder.ContainsFileAsync(fileName).ConfigureAwait(false);

                if (contains)
                {
                    file = await folder.GetFileAsync(fileName);


                    try
                    {
                        var fileStream = await file.OpenAsync(PCLStorage.FileAccess.Read);

                        // Read the data.
                        using (StreamReader streamReader = new StreamReader(fileStream))
                        {
                            var data = streamReader.ReadToEnd();
                            //Deserialize to object
                            T result = JsonConvert.DeserializeObject <T>(data);
                            return(result);
                        }
                    }
                    catch
                    {
                        return(default(T));
                    }
                }
                else
                {
                    return(default(T));
                }
            }
            catch (Exception x)
            {
                //Unable to load contents of file
                //Logger.WriteLine(x);
                throw;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Delete file
        /// </summary>
        /// <param name="fileName"></param>
        public async Task DeleteAsync(string fileName)
        {
            fileName = fileName + _fileExtension;
            try
            {
                IFolder folder = await GetFolderAsync().ConfigureAwait(false);

                var contains = await folder.ContainsFileAsync(fileName).ConfigureAwait(false);

                if (contains)
                {
                    var file = await folder.GetFileAsync(fileName);

                    await file.DeleteAsync();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }