本文整理汇总了C#中SirenOfShame.Lib.Settings.SirenOfShameSettings.Save方法的典型用法代码示例。如果您正苦于以下问题:C# SirenOfShameSettings.Save方法的具体用法?C# SirenOfShameSettings.Save怎么用?C# SirenOfShameSettings.Save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SirenOfShame.Lib.Settings.SirenOfShameSettings
的用法示例。
在下文中一共展示了SirenOfShameSettings.Save方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UpdateStatsInSettings
private static void UpdateStatsInSettings(BuildStatus buildStatus, SirenOfShameSettings settings)
{
if (string.IsNullOrEmpty(buildStatus.RequestedBy)) return;
var personSetting = settings.FindAddPerson(buildStatus.RequestedBy);
if (buildStatus.BuildStatusEnum == BuildStatusEnum.Broken)
{
personSetting.FailedBuilds++;
}
personSetting.TotalBuilds++;
settings.Save();
}
示例2: TryToGetAndSendNewSosOnlineAlerts
public virtual void TryToGetAndSendNewSosOnlineAlerts(SirenOfShameSettings settings, DateTime now, Action<NewAlertEventArgs> invokeNewAlert)
{
if (!settings.GetSosOnlineContent()) return;
bool weHaveAlreadyCheckedForAlertsToday = settings.LastCheckedForAlert != null && (now - settings.LastCheckedForAlert.Value).TotalHours < 24;
if (weHaveAlreadyCheckedForAlertsToday) return;
settings.LastCheckedForAlert = DateTime.Now;
settings.Save();
var webClient = GetWebClient();
webClient.DownloadStringCompleted += (s, e) =>
{
try
{
if (e.Error != null)
{
_log.Error("Error retrieving alert", e.Error);
return;
}
NewAlertEventArgs args = new NewAlertEventArgs();
var successParsing = args.Instantiate(e.Result);
if (successParsing)
{
if (settings.SoftwareInstanceId == null)
{
settings.SoftwareInstanceId = args.SoftwareInstanceId;
settings.Save();
}
if (settings.AlertClosed == null || args.AlertDate > settings.AlertClosed)
{
invokeNewAlert(args);
}
}
}
catch (Exception ex)
{
_log.Error("Error retrieving alert", ex);
}
};
string url = string.Format(SOS_URL + "/GetAlert?SirenEverConnected={0}&SoftwareInstanceId={1}&ServerType={2}&Version={3}",
settings.SirenEverConnected,
settings.SoftwareInstanceId,
string.Join(",", settings.CiEntryPointSettings.Select(cip => cip.Name)),
Application.ProductVersion
);
webClient.DownloadStringAsync(new Uri(url));
}
示例3: AddSound
public Sound AddSound(SirenOfShameSettings settings, string fileNameAndPath, string fileNameAndExtension)
{
var existingSound = settings.Sounds.FirstOrDefault(i => i.DisplayName == fileNameAndExtension);
if (existingSound != null) DeleteSound(settings, existingSound);
var soundsDir = GetSoundsDirAndEnsureExists();
var fileNameAsWav = Path.ChangeExtension(fileNameAndExtension, "wav");
var destinationFileNameAndPath = Path.Combine(soundsDir, fileNameAsWav);
CopyOrConvertToWav(fileNameAndPath, destinationFileNameAndPath);
Sound sound = new Sound
{
Location = destinationFileNameAndPath,
DisplayName = fileNameAndExtension
};
settings.Sounds.Add(sound);
settings.Save();
return sound;
}
示例4: DeleteSound
public void DeleteSound(SirenOfShameSettings settings, Sound sound)
{
try
{
settings.Sounds.Remove(sound);
settings.Save();
var sosAppDataFolder = SirenOfShameSettings.GetSosAppDataFolder();
var fileIsInOurFolder = sound.Location.StartsWith(sosAppDataFolder);
// should be, but we can't assume someone hasn't tampered with the settings file
if (fileIsInOurFolder)
{
File.Delete(sound.Location);
}
}
catch (Exception ex)
{
_log.Warn("Unable to delete file", ex);
}
}
示例5: SendNewCustomImages
private void SendNewCustomImages(SirenOfShameSettings settings, List<InstanceUserDto> changedUsers)
{
var changedPeople = changedUsers
.Select(changedUser => settings.FindPersonByRawName(changedUser.RawName))
.Where(person => person != null);
var changedPeopleWithUnUploadedCustomImages = changedPeople
.Where(i => !string.IsNullOrEmpty(i.AvatarImageName) && !i.AvatarImageUploaded);
foreach (var person in changedPeopleWithUnUploadedCustomImages)
{
var webClientXml = new WebClientXml();
AddSosOnlineCredentials(settings, webClientXml);
webClientXml.Add("AvatarImageName", person.AvatarImageName);
var avatarImagePath = SirenOfShameSettings.GetAvatarImagePath(person.AvatarImageName);
var imageAsBytes = File.ReadAllBytes(avatarImagePath);
var imageAsString = Convert.ToBase64String(imageAsBytes);
webClientXml.Add("AvatarImage", imageAsString);
string url = SOS_URL + "/ApiV1/AddImage";
var person1 = person;
webClientXml.UploadValuesAndReturnStringAsync(url, s => _log.Debug("Uploaded " + person1.AvatarImageName), ex => _log.Error("Error uploading image for " + person1.AvatarImageName), settings.GetSosOnlineProxy());
person.AvatarImageUploaded = true;
settings.Save();
}
}