/// <summary> /// Class file that reads the json file from disk. If the file isn't empty we return it's contents. /// Otherwise we return null. /// </summary> /// <returns></returns> public DaylightStatModel.Playerstats ReadIndividualPlayerFile(string id) { DaylightStatModel.Playerstats obj = new DaylightStatModel.Playerstats(); try { if (!File.Exists(StaticDetails.BuildFilePath(StaticDetails.DataDirectoryPath, $"{id}.json"))) { var SteamIDJson = File.Create(StaticDetails.BuildFilePath(StaticDetails.DataDirectoryPath, $"{id}.json")); SteamIDJson.Close(); return(null); } var file = File.ReadAllText(StaticDetails.BuildFilePath(StaticDetails.DataDirectoryPath, $"{id}.json")); if (file != "") { JsonConvert.PopulateObject(file, obj); return(obj); } else { return(null); } } catch (Exception msg) { Console.WriteLine(msg); throw; } }
public async Task <string> SCreateDBoxClient(DaylightStatModel.Playerstats PlayerData) { using (var dbox = new DropboxClient(StaticDetails.DropboxToken)) { using (var mem = new MemoryStream(File.ReadAllBytes(StaticDetails.BuildFilePath(StaticDetails.DataDirectoryPath, $"{PlayerData.SteamId}.json")))) { try { var UploadFileDbox = dbox.Files.UploadAsync($"/{PlayerData.SteamId}.json", WriteMode.Overwrite.Instance, body: mem); UploadFileDbox.Wait(); var DboxListSharedLinks = dbox.Sharing.ListSharedLinksAsync($"/{PlayerData.SteamId}.json"); DboxListSharedLinks.Wait(); //SharedLinkSettings Settings = new SharedLinkSettings(); //Settings.Expires.Value.Add foreach (var current in DboxListSharedLinks.Result.Links) { if (current.Name == $"{PlayerData.SteamId}.json") { return(current.Url); } } var DownloadLink = dbox.Sharing.CreateSharedLinkWithSettingsAsync($"/{PlayerData.SteamId}.json"); DownloadLink.Wait(); return(DownloadLink.Result.Url); } catch (Exception msg) { return("Failed to created link"); } } } }
/// <summary> /// Class file designed to save our list of player's stats, steam ID and Game to a JSON file. /// </summary> /// <param name="newEntryObj"></param> public void WriteToFile(DaylightStatModel.Playerstats newEntryObj) { using (StreamWriter file = File.CreateText(StaticDetails.BuildFilePath(StaticDetails.DataDirectoryPath, $"{newEntryObj.SteamId}.json"))) { JsonSerializer serializer = new JsonSerializer(); serializer.Formatting = Formatting.Indented; serializer.Serialize(file, newEntryObj); } }