/// <summary> /// /// </summary> /// <param name="Os">TransOS context</param> internal SettingsService(Context Os, SettingsServiceType type, string Path) : base(Os) { switch (type) { case SettingsServiceType.Database: var NameParts = Path.Split('.'); int?ParentId = null; SettingsDirectory CurrentDirectory = null; foreach (var namePart in NameParts) { ParentId = CurrentDirectory?.Id; CurrentDirectory = this.Os.MainDatabase.EntityContext.SettingsDirectory.FirstOrDefault(x => x.Name == namePart && x.ParentId == ParentId); if (CurrentDirectory == null) { CurrentDirectory = new SettingsDirectory { Name = namePart, ParentId = ParentId }; this.Os.MainDatabase.EntityContext.SettingsDirectory.Add(CurrentDirectory); this.Os.MainDatabase.EntityContext.SaveChanges(); } } this.Init(CurrentDirectory); break; } }
static SettingsStore <AppSettings> LoadSettings() { var path = SettingsDirectory.GetDefaultSettingsFilePath(AppSettings.DefaultSettingsFile); var store = SettingsStore <AppSettings> .Create(path); return(store); }
private void ShowDirectory(SettingsDirectory directory) { if (directory != null) { PathText = string.Format(string.Format("/{0}/{1}/{2}/", Application.Name, CurrentVersion.Version, directory.Name)); } }
public async Task EditButtonClicked() { if (Level == ApplicationControlLevel.Directory) { var directory = gridViewDirectories.GetRow(gridViewDirectories.FocusedRowHandle) as SettingsDirectory; if (directory == null) { return; } SettingsDirectory ediDirectory = new SettingsDirectory { Name = directory.Name, Description = directory.Description }; DirectoryEditForm form = new DirectoryEditForm(ediDirectory, applicationName); if (form.ShowDialog() == DialogResult.OK) { try { OnShowProgress(); if (await settingsManager.UpdateDirectoryAsync(Application.Name, directory.Name, ediDirectory.Name, ediDirectory.Description)) { directory.Name = ediDirectory.Name; directory.Description = ediDirectory.Description; await RefreshButtonClicked(); } } finally { OnHideProgress(); } } } else { var setting = gridViewSettings.GetRow(gridViewSettings.FocusedRowHandle) as Setting; if (setting != null) { SettingEditForm form = new SettingEditForm(setting, currentDirectory); if (form.ShowDialog() == DialogResult.OK) { try { OnShowProgress(); await currentDirectory.SaveAsync(form.Setting); await RefreshButtonClicked(); } finally { OnHideProgress(); } } } } }
static string GetLocalHistoryText() { var filePath = SettingsDirectory.GetDefaultSettingsFilePath("spoken.txt"); var records = XmlFragmentHelper.ReadLog <Spoken>(filePath); var text = string.Join(Environment.NewLine, from r in records select r.Text); return(text); }
internal static void CreateDirectories() { if (!SettingsDirectory.Exists) { SettingsDirectory.Create(); } if (!PluginDirectory.Exists) { PluginDirectory.Create(); } }
public DirectoryEditForm(SettingsDirectory directory, string applicationName) { InitializeComponent(); this._directory = directory; this._applicationName = applicationName; this.settingsManager = new SettingsAPIClient.SettingsManager(ConfigurationManager.Current.Url, ConfigurationManager.Current.ApiKey); if (_directory != null) { textName.Text = _directory.Name; textDescription.Text = _directory.Description; } }
public async Task CopyButtonClicked() { if (Level == ApplicationControlLevel.Directory) { var directory = gridViewDirectories.GetRow(gridViewDirectories.FocusedRowHandle) as SettingsDirectory; if (directory == null) { return; } SettingsDirectory ediDirectory = new SettingsDirectory { Name = directory.Name, Description = directory.Description }; DirectoryEditForm form = new DirectoryEditForm(ediDirectory, applicationName); if (form.ShowDialog() == DialogResult.OK) { try { OnShowProgress(); if (await settingsManager.CopyDirectoryAsync(Application.Name, directory.Name, ediDirectory.Name, CurrentVersion.Version)) { directory.Name = ediDirectory.Name; directory.Description = ediDirectory.Description; //TODO: Copy description await settingsManager.UpdateDirectoryAsync(Application.Name, directory.Name, directory.Name, ediDirectory.Description); await RefreshButtonClicked(); } } finally { OnHideProgress(); } } } if (Level == ApplicationControlLevel.Directory) { await EditButtonClicked(); } }
private async Task <bool> ValidateInputAsync() { if (string.IsNullOrWhiteSpace(textName.Text)) { textName.ErrorText = "Enter a Name"; return(false); } else { if (_directory == null) { _directory = new SettingsDirectory(); } if (!string.Equals(_directory.Name, textName.Text, StringComparison.CurrentCultureIgnoreCase) && await settingsManager.DirectoryExists(_applicationName, textName.Text)) { textName.ErrorText = "Directory name already in use"; return(false); } return(true); } }