示例#1
0
 /// <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;
     }
 }
示例#2
0
        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");
                    }
                }
            }
        }
示例#3
0
        /// <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);
            }
        }