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