예제 #1
0
    /// <summary>
    /// Handles the settings key action event.
    /// </summary>
    /// <param name="actionName">Name of item (button) that throws event</param>
    /// <param name="actionArgument">ID (value of Primary key) of corresponding data row</param>
    protected void grpEdit_OnKeyAction(string actionName, object actionArgument)
    {
        int             keyId = ValidationHelper.GetInteger(actionArgument, 0);
        SettingsKeyInfo ski   = SettingsKeyProvider.GetSettingsKeyInfo(keyId);

        switch (actionName.ToLowerCSafe())
        {
        case ("edit"):
            // Redirect to key-editing page
            if (ski != null)
            {
                URLHelper.Redirect("~/CMSModules/Settings/Development/CustomSettings/SettingsKey_Edit.aspx?treeroot=" + mTreeRoot + "&keyname=" + ski.KeyName + "&siteid=" + mSiteId);
            }
            break;

        case ("delete"):
            try
            {
                // Delete all keys
                DataSet ds = SiteInfoProvider.GetSites(null, null, "[SiteName]");
                if (!DataHelper.DataSourceIsEmpty(ds))
                {
                    DataTable tbl = ds.Tables[0];
                    foreach (DataRow row in tbl.Rows)
                    {
                        string siteName = ValidationHelper.GetString(row[0], "");
                        if (!string.IsNullOrEmpty(siteName))
                        {
                            SettingsKeyProvider.DeleteKey(string.Format("{0}.{1}", siteName, ski.KeyName));
                        }
                    }
                }
                SettingsKeyProvider.DeleteKey(ski.KeyName);
            }
            catch
            {
                lblError.Text    = GetString("settingsedit.settingskey_edit.errordelete");
                lblError.Visible = true;
            }
            break;

        case ("moveup"):
            SettingsKeyProvider.MoveSettingsKeyUp(ski.KeyName);
            break;

        case ("movedown"):
            SettingsKeyProvider.MoveSettingsKeyDown(ski.KeyName);
            break;
        }
    }