/// <summary>
        /// Used to process the current request.
        /// </summary>
        public override void ProcessRequest()
        {
            RootElement.RemoveAll();

            ContentSignifSettingsParameters parameters = new ContentSignifSettingsParameters();
            TryGetPageParams(ref parameters);
            
            ContentSignifSettings contentSignifSettings = new ContentSignifSettings(InputContext);
            if(parameters.UpdateSiteSettings)
            {
                contentSignifSettings.SetSiteSpecificContentSignifSettings(InputContext.CurrentSite.SiteID, parameters);
            }
            else if (parameters.DecrementContentSignif)
            {
                contentSignifSettings.DecrementContentSignif(InputContext.CurrentSite.SiteID);
            }
            contentSignifSettings.GetSiteSpecificContentSignifSettings(InputContext.CurrentSite.SiteID);

            // Add the sites topic list
            //RootElement.AppendChild(ImportNode(InputContext.CurrentSite.GetTopicListXml()));
            // Add site list xml
            //RootElement.AppendChild(ImportNode(InputContext.TheSiteList.GenerateAllSitesXml().FirstChild));

            AddInside(contentSignifSettings);
        }
        private static int FillParameters(ContentSignifSettingsParameters parameters, NameValueCollection collectionParams, int count)
        {
            foreach (string paramname in collectionParams)
            {
#if DEBUG
                //if d_identityuserid passed ignore it
                if (paramname.ToUpper() == "D_IDENTITYUSERID")
                {
                    continue;
                }
#endif
                count++;
                switch (count)
                {
                    case 1: parameters.Param1 = paramname + "=" + collectionParams[paramname]; break;
                    case 2: parameters.Param2 = paramname + "=" + collectionParams[paramname]; break;
                    case 3: parameters.Param3 = paramname + "=" + collectionParams[paramname]; break;
                    case 4: parameters.Param4 = paramname + "=" + collectionParams[paramname]; break;
                    case 5: parameters.Param5 = paramname + "=" + collectionParams[paramname]; break;
                    case 6: parameters.Param6 = paramname + "=" + collectionParams[paramname]; break;
                    case 7: parameters.Param7 = paramname + "=" + collectionParams[paramname]; break;
                    case 8: parameters.Param8 = paramname + "=" + collectionParams[paramname]; break;
                    case 9: parameters.Param9 = paramname + "=" + collectionParams[paramname]; break;
                    case 10: parameters.Param10 = paramname + "=" + collectionParams[paramname]; break;
                    case 11: parameters.Param11 = paramname + "=" + collectionParams[paramname]; break;
                    case 12: parameters.Param12 = paramname + "=" + collectionParams[paramname]; break;
                    case 13: parameters.Param13 = paramname + "=" + collectionParams[paramname]; break;
                    case 14: parameters.Param14 = paramname + "=" + collectionParams[paramname]; break;
                    case 15: parameters.Param15 = paramname + "=" + collectionParams[paramname]; break;
                    case 16: parameters.Param16 = paramname + "=" + collectionParams[paramname]; break;
                    case 17: parameters.Param17 = paramname + "=" + collectionParams[paramname]; break;
                    case 18: parameters.Param18 = paramname + "=" + collectionParams[paramname]; break;
                    case 19: parameters.Param19 = paramname + "=" + collectionParams[paramname]; break;
                    case 20: parameters.Param20 = paramname + "=" + collectionParams[paramname]; break;
                    case 21: parameters.Param21 = paramname + "=" + collectionParams[paramname]; break;
                    case 22: parameters.Param22 = paramname + "=" + collectionParams[paramname]; break;
                    case 23: parameters.Param23 = paramname + "=" + collectionParams[paramname]; break;
                    case 24: parameters.Param24 = paramname + "=" + collectionParams[paramname]; break;
                    case 25: parameters.Param25 = paramname + "=" + collectionParams[paramname]; break;
                    case 26: parameters.Param26 = paramname + "=" + collectionParams[paramname]; break;
                    case 27: parameters.Param27 = paramname + "=" + collectionParams[paramname]; break;
                    case 28: parameters.Param28 = paramname + "=" + collectionParams[paramname]; break;
                    case 29: parameters.Param29 = paramname + "=" + collectionParams[paramname]; break;
                    case 30: parameters.Param30 = paramname + "=" + collectionParams[paramname]; break;
                    case 31: parameters.Param31 = paramname + "=" + collectionParams[paramname]; break;
                    case 32: parameters.Param32 = paramname + "=" + collectionParams[paramname]; break;
                    case 33: parameters.Param33 = paramname + "=" + collectionParams[paramname]; break;
                    case 34: parameters.Param34 = paramname + "=" + collectionParams[paramname]; break;
                    case 35: parameters.Param35 = paramname + "=" + collectionParams[paramname]; break;
                }
            }
            return count;
        }
        /// <summary>
        /// Sets the Site Specific Settings for the given site with the parameters
        /// </summary>
        /// <param name="siteID">The site</param>
        /// <param name="parameter">The parameters</param>
        public void SetSiteSpecificContentSignifSettings(int siteID, ContentSignifSettingsParameters parameter)
        {
            using (IDnaDataReader dataReader = InputContext.CreateDnaDataReader("updatesitespecificcontentsignifsettings"))
            {
                dataReader.AddParameter("siteID", siteID)
                    .AddParameter("param1", parameter.Param1)
                    .AddParameter("param2", parameter.Param2)
                    .AddParameter("param3", parameter.Param3)
                    .AddParameter("param4", parameter.Param4)
                    .AddParameter("param5", parameter.Param5)
                    .AddParameter("param6", parameter.Param6)
                    .AddParameter("param7", parameter.Param7)
                    .AddParameter("param8", parameter.Param8)
                    .AddParameter("param9", parameter.Param9)
                    .AddParameter("param10", parameter.Param10)
                    .AddParameter("param11", parameter.Param11)
                    .AddParameter("param12", parameter.Param12)
                    .AddParameter("param13", parameter.Param13)
                    .AddParameter("param14", parameter.Param14)
                    .AddParameter("param15", parameter.Param15)
                    .AddParameter("param16", parameter.Param16)
                    .AddParameter("param17", parameter.Param17)
                    .AddParameter("param18", parameter.Param18)
                    .AddParameter("param19", parameter.Param19)
                    .AddParameter("param20", parameter.Param20)
                    .AddParameter("param21", parameter.Param21)
                    .AddParameter("param22", parameter.Param22)
                    .AddParameter("param23", parameter.Param23)
                    .AddParameter("param24", parameter.Param24)
                    .AddParameter("param25", parameter.Param25)
                    .AddParameter("param26", parameter.Param26)
                    .AddParameter("param27", parameter.Param27)
                    .AddParameter("param28", parameter.Param28)
                    .AddParameter("param29", parameter.Param29)
                    .AddParameter("param30", parameter.Param30)
                    .AddParameter("param31", parameter.Param31)
                    .AddParameter("param32", parameter.Param32)
                    .AddParameter("param33", parameter.Param33)
                    .AddParameter("param34", parameter.Param34)
                    .AddParameter("param35", parameter.Param35);

                dataReader.Execute();
            }
        }
        /// <summary>
        /// Gets the params for the page
        /// </summary>
        /// <param name="parameters">Class containing all the Content Signif Settings parameters.</param>
        private void TryGetPageParams(ref ContentSignifSettingsParameters parameters)
        {
            if (InputContext.DoesParamExist("updatesitesettings", _docDnaUpdateSiteSettings))
            {
                parameters.UpdateSiteSettings = true;

                NameValueCollection decrementParams = new NameValueCollection();
                NameValueCollection incrementParams = new NameValueCollection();

                decrementParams = InputContext.GetAllParamsWithPrefix("d_");
                incrementParams = InputContext.GetAllParamsWithPrefix("i_");

                int count = 0;

                count = FillParameters(parameters, decrementParams, count);
                count = FillParameters(parameters, incrementParams, count);
            }
            else if (InputContext.DoesParamExist("decrementcontentsignif", _docDnaDecrementContentSignif))
            {
                parameters.DecrementContentSignif = true;
            }
        }