internal static async Task Save() { if (isSaving) { while (isSaving) { await Task.Delay(100); } } UserInfo[] items = new UserInfo[Items.Count]; Items.CopyTo(items); isSaving = true; await Task.Run(() => { StringBuilder content = new StringBuilder(); for (int i = 0; i < items.Length; i++) { content.Append(((content.Length > 0) ? Environment.NewLine : string.Empty) + items[i].FullString()); } FileHelper.WriteAll(FilePath, content.ToString()); content.Clear(); }); isSaving = false; }
internal static void Error(Exception exp) { string error = "System: " + PCINFO.GetOperatingSystem() + (Environment.Is64BitOperatingSystem ? " x64" : string.Empty) + Environment.NewLine; error += "PlusFTP: " + VersionHelper.AppVersion + Environment.NewLine; error = error + formatException(exp); FileHelper.WriteAll(DirectoryHelper.CurrentDirectory + @"\Error-" + DateFormatHelper.GetShortDateTimeSafe() + ".txt", error); }
internal static async Task Save() { await Task.Run(() => { StringBuilder content = new StringBuilder(); StringBuilder subContent = new StringBuilder(); foreach (string key in settings.Keys) { subContent.Clear(); foreach (string subKey in settings[key].Keys) { subContent.Append(((subContent.Length > 0) ? ", " : string.Empty) + parse(subKey, settings[key][subKey])); } content.Append(((content.Length > 0) ? Environment.NewLine : string.Empty) + parse(key, "{" + subContent.ToString() + "}")); } FileHelper.WriteAll(FilePath, content.ToString()); subContent.Clear(); content.Clear(); }); }