Exemplo n.º 1
0
    /// <summary>
    /// Reload data from node to controls.
    /// </summary>
    private ObjectQuery <AmpFilterInfo> GetAmpFilterInfoForGuid(String nodeGuid)
    {
        ObjectQuery <AmpFilterInfo> q = AmpFilterInfoProvider.GetAmpFilters().WhereEquals("PageNodeGuid", nodeGuid)
                                        .WhereEquals("SiteID", SiteContext.CurrentSiteID);

        return(q);
    }
Exemplo n.º 2
0
    /// <summary>
    /// Creates or removes a record in database for current page according to state of amp filter (enabled/disabled)
    /// </summary>
    /// <param name="sender">Sender object</param>
    /// <param name="e">Event arguments</param>
    protected void DocumentManager_OnSaveData(object sender, DocumentManagerEventArgs e)
    {
        if (Node != null)
        {
            string nodeGuid = Node.NodeGUID.ToString();
            ObjectQuery <AmpFilterInfo> q = GetAmpFilterInfoForGuid(nodeGuid);

            if (chkEnableAmpFilter.Checked)
            {
                AmpFilterInfo ampInfo;

                // First check if any record exists for this page
                if (q.Count == 0)
                {
                    // Insert new record to AmpFilterInfo table
                    ampInfo = new AmpFilterInfo();
                }
                else
                {
                    // Update existing record
                    ampInfo = q.FirstOrDefault();
                }

                if (ampInfo != null)
                {
                    // Update object properties
                    ampInfo.PageNodeGUID         = nodeGuid;
                    ampInfo.SiteID               = SiteContext.CurrentSiteID;
                    ampInfo.UseDefaultStylesheet = chkDefaultCss.Checked;
                    ampInfo.StylesheetID         = ValidationHelper.GetInteger(selectStyleSheet.Value, 0);
                    AmpFilterInfoProvider.SetAmpFilterInfo(ampInfo);
                }
            }
            else
            {
                // First check if any record exists for this page
                if (q.Count != 0)
                {
                    // Remove record from AmpFilterInfo table
                    AmpFilterInfoProvider.DeleteAmpFilterInfo(q.FirstOrDefault());
                }
            }
        }
    }