public virtual void Synchronize(SirenOfShameSettings settings, string exportedBuilds, string exportedAchievements, Action <DateTime> onSuccess, Action <string, ServerUnavailableException> onFail) { WebClientXml webClientXml = new WebClientXml(); AddSosOnlineCredentials(settings, webClientXml); webClientXml.Add("Builds", exportedBuilds); webClientXml.Add("Achievements", exportedAchievements); if (settings.SoftwareInstanceId.HasValue) { webClientXml.Add("SoftwareInstanceId", settings.SoftwareInstanceId.Value.ToString(CultureInfo.InvariantCulture)); } webClientXml.UploadValuesAndReturnXmlAsync(SOS_URL + "/ApiV1/Synchronize", doc => { string success = doc.Descendants("Success").First().Value; if (success == "true") { string newHighWaterMarkStr = doc.Descendants("NewHighWaterMark").First().Value; DateTime newHighWaterMark = new DateTime(long.Parse(newHighWaterMarkStr)); onSuccess(newHighWaterMark); } else { string errorMessage = doc.Descendants("ErrorMessage").First().Value; onFail(errorMessage, null); } }, OnConnectionFail(onFail), settings.GetSosOnlineProxy()); }
public virtual void VerifyCredentialsAsync(SirenOfShameSettings settings, Action onSuccess, Action <string, ServerUnavailableException> onFail) { WebClientXml webClientXml = new WebClientXml(); AddSosOnlineCredentials(settings, webClientXml); webClientXml.UploadValuesAndReturnXmlAsync(SOS_URL + "/ApiV1/VerifyCredentials", doc => { string success = doc.Descendants("Success").First().Value; if (success == "true") { onSuccess(); } else { string errorMessage = doc.Descendants("ErrorMessage").First().Value; onFail(errorMessage, null); } }, OnConnectionFail(onFail), settings.GetSosOnlineProxy()); }
public virtual void SendMessage(SirenOfShameSettings settings, string message) { WebClientXml webClientXml = new WebClientXml(); AddSosOnlineCredentials(settings, webClientXml); webClientXml.Add("Message", message); webClientXml.UploadValuesAndReturnXmlAsync(SOS_URL + "/ApiV1/AddMessage", doc => { string success = doc.Descendants("Success").First().Value; if (success == "true") { _log.Debug("Message successfully added"); } else { string errorMessage = doc.Descendants("ErrorMessage").First().Value; _log.Error("Failed to add message: " + errorMessage); } }, OnConnectionFail, settings.GetSosOnlineProxy()); }