Ejemplo n.º 1
0
        /// <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;
            }
        }
Ejemplo n.º 2
0
        static SettingsStore <AppSettings> LoadSettings()
        {
            var path  = SettingsDirectory.GetDefaultSettingsFilePath(AppSettings.DefaultSettingsFile);
            var store = SettingsStore <AppSettings> .Create(path);

            return(store);
        }
Ejemplo n.º 3
0
 private void ShowDirectory(SettingsDirectory directory)
 {
     if (directory != null)
     {
         PathText = string.Format(string.Format("/{0}/{1}/{2}/", Application.Name, CurrentVersion.Version, directory.Name));
     }
 }
Ejemplo n.º 4
0
        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();
                        }
                    }
                }
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
 internal static void CreateDirectories()
 {
     if (!SettingsDirectory.Exists)
     {
         SettingsDirectory.Create();
     }
     if (!PluginDirectory.Exists)
     {
         PluginDirectory.Create();
     }
 }
Ejemplo n.º 7
0
        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;
            }
        }
Ejemplo n.º 8
0
        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();
            }
        }
Ejemplo n.º 9
0
        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);
            }
        }