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;
            }

        }
        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;
            }
        }
Exemple #3
0
 public WorkingDirectoryObject(SettingsDirectory directory, string applicationName, int version, int objectId, string url, string apiKey)
 {
     this._directory       = directory;
     this._currentObjectId = objectId;
     this._provider        = new SettingsProvider(url, apiKey, applicationName, version, directory.Name);
 }
 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();
                        }
                    }
                }
            }
        }
        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();
            }
        }