/// <summary>
    /// Saves template texts.
    /// </summary>
    public void Save()
    {
        if (GatewayCount > 10)
        {
            return;
        }

        foreach (Control ctrl in plcTexts.Controls)
        {
            Panel pnl = ctrl as Panel;
            if (pnl != null)
            {
                Panel gatewayPnl = pnl.Controls[0] as Panel;

                if (gatewayPnl != null)
                {
                    TemplateTextEdit tte = gatewayPnl.Controls[0] as TemplateTextEdit;
                    if (tte != null)
                    {
                        tte.SaveData();
                    }
                }
            }
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        // For up to 10 Gateways edit all on one page, hide UniGrid
        if (GatewayCount <= 10)
        {
            gridGateways.StopProcessing = true;
            pnlGrid.Visible             = false;

            // Generate controls
            foreach (DataRow dr in dsGateways.Tables[0].Rows)
            {
                try
                {
                    Panel pnlGrouping = new Panel();
                    if (CultureHelper.IsCultureRTL(CMSContext.CurrentUser.PreferredUICultureCode))
                    {
                        pnlGrouping.GroupingText = "<strong>" + HTMLHelper.HTMLEncode(dr["GatewayDisplayName"].ToString()) + "</strong> :" + ValidationHelper.GetString(GetString("notification.template.gateway"), "");
                    }
                    else
                    {
                        pnlGrouping.GroupingText = ValidationHelper.GetString(GetString("notification.template.gateway") + ": <strong>" + HTMLHelper.HTMLEncode(dr["GatewayDisplayName"].ToString()) + "</strong>", "");
                    }
                    pnlGrouping.Attributes.Add("style", "margin-bottom: 15px;");

                    Panel gatewayContent = new Panel();
                    gatewayContent.Attributes.Add("style", "margin-top: 15px;");

                    TemplateTextEdit ctrl = Page.LoadUserControl("~/CMSModules/Notifications/Controls/TemplateTextEdit.ascx") as TemplateTextEdit;
                    if (ctrl != null)
                    {
                        ctrl.ID         = "templateEdit" + ValidationHelper.GetInteger(dr["GatewayID"], 0);
                        ctrl.TemplateID = TemplateID;
                        ctrl.GatewayID  = ValidationHelper.GetInteger(dr["GatewayID"], 0);
                        gatewayContent.Controls.Add(ctrl);

                        // Add gateway edit control to the container panel
                        pnlGrouping.Controls.Add(gatewayContent);
                        plcTexts.Controls.Add(pnlGrouping);
                    }
                }
                catch
                {
                }
            }
        }
        else
        {
            // Hook event handlers
            gridGateways.OnExternalDataBound += new OnExternalDataBoundEventHandler(gridGateways_OnExternalDataBound);
            gridGateways.OnAction            += new OnActionEventHandler(gridGateways_OnAction);
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        // For up to 10 Gateways edit all on one page, hide UniGrid
        if (GatewayCount <= 10)
        {
            gridGateways.StopProcessing = true;
            pnlGrid.Visible             = false;
            string heading;
            string gatewayLbl = GetString("notification.template.gateway");
            bool   isRTL      = CultureHelper.IsCultureRTL(MembershipContext.AuthenticatedUser.PreferredUICultureCode);

            // Generate controls
            foreach (NotificationGatewayInfo info in mDsGateways)
            {
                if (isRTL)
                {
                    heading = HTMLHelper.HTMLEncode(ResHelper.LocalizeString(info.GatewayDisplayName)) + gatewayLbl;
                }
                else
                {
                    heading = String.Format("{0}: {1}", gatewayLbl, HTMLHelper.HTMLEncode(ResHelper.LocalizeString(info.GatewayDisplayName)));
                }
                var headingControl = new LocalizedHeading()
                {
                    Level = 4,
                    Text  = heading
                };

                Panel pnlGrouping = new Panel();
                pnlGrouping.Controls.Add(headingControl);

                TemplateTextEdit ctrl = Page.LoadUserControl("~/CMSModules/Notifications/Controls/TemplateTextEdit.ascx") as TemplateTextEdit;
                if (ctrl != null)
                {
                    ctrl.ID         = "templateEdit" + info.GatewayID;
                    ctrl.TemplateID = TemplateID;
                    ctrl.GatewayID  = info.GatewayID;

                    // Add gateway edit control to the container panel
                    pnlGrouping.Controls.Add(ctrl);
                    plcTexts.Controls.Add(pnlGrouping);
                }
            }
        }
        else
        {
            // Hook event handlers
            gridGateways.OnExternalDataBound += gridGateways_OnExternalDataBound;
            gridGateways.OnAction            += gridGateways_OnAction;
        }
    }
    /// <summary>
    /// Saves template texts.
    /// </summary>
    public void Save()
    {
        if (GatewayCount > 10)
        {
            return;
        }

        foreach (Control ctrl in plcTexts.Controls)
        {
            Panel pnl = ctrl as Panel;
            if (pnl != null)
            {
                TemplateTextEdit tte = ControlsHelper.GetControlOfTypeRecursive <TemplateTextEdit>(pnl);
                if (tte != null)
                {
                    tte.SaveData();
                }
            }
        }
    }