Example #1
0
        //-----------------------------------------------------------------
        #region -----------------PopulateXmlNodeFromPage-----------------
        //-----------------------------------------------------------------
        //PopulateXmlNodeFromPage
        //-----------------------------------------------------------------
        private XmlElement PopulateXmlNodeFromPage(SitePageOptions page, XmlElement node)
        {
            SitePageOptions defaultPage = new SitePageOptions();
            /****************************************************/

            Type myType = typeof(SitePageOptions);

            PropertyInfo[] piT = myType.GetProperties();
            object         propValue;
            object         defaultValue;

            foreach (PropertyInfo myPropInfo in piT)
            {
                if (myPropInfo.CanWrite)
                {
                    propValue    = myPropInfo.GetValue(page, null);
                    defaultValue = myPropInfo.GetValue(defaultPage, null);
                    if (propValue.ToString() != defaultValue.ToString())
                    {
                        AddAttribute(node, myPropInfo.Name, propValue);
                    }
                }
            }
            return(node);
        }
Example #2
0
        //-----------------------------------------------------------------
        public bool SavePage(SitePageOptions page)
        {
            XmlNodeList nodeList = XmlDoc.SelectNodes("/Pages/Page[@PageID='" + page.PageID + "']");

            if (nodeList.Count == 0)
            {
                return(AddPage(page));
            }
            else
            {
                return(UpdatePage(page));
            }
        }
Example #3
0
        //------------------------------------------------------------------
        public bool UpdatePage(SitePageOptions page)
        {
            bool        res       = false;
            XmlNodeList nodesList = XmlDoc.SelectNodes("/Pages/Page[@PageID='" + page.PageID + "']");

            if (nodesList.Count == 1)
            {
                XmlElement oldPageNode = (XmlElement)nodesList[0];
                oldPageNode.Attributes.RemoveAll();
                PopulateXmlNodeFromPage(page, oldPageNode);
                //XmlDoc.Save(DCServer.MapPath("~") + SiteDesign.ModulesOptionsConfigs+"SitePages.config");
                SiteConfigurationManager.UpdateSitePages(XmlDoc);
                res = true;
            }
            return(res);
        }
Example #4
0
        public bool AddPage(SitePageOptions page)
        {
            bool        res      = false;
            XmlNodeList nodeList = XmlDoc.SelectNodes("/Pages/Page[@PageID='" + page.PageID + "']");

            if (nodeList.Count == 0)
            {
                //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                XmlElement xmlNewPage = XmlDoc.CreateElement("Page");
                xmlNewPage = PopulateXmlNodeFromPage(page, xmlNewPage);
                XmlNode commonParent = XmlDoc.SelectSingleNode("/Pages");
                commonParent.AppendChild(xmlNewPage);
                //XmlDoc.Save(DCServer.MapPath("~") + SiteDesign.ModulesOptionsConfigs+"SitePages.config");
                SiteConfigurationManager.UpdateSitePages(XmlDoc);
                //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
                res = true;
            }
            return(res);
        }
Example #5
0
        //-----------------------------------------------------------------

        //-----------------------------------------------------------------
        #region -----------------PopulatePageFromXmlNode-----------------
        //-----------------------------------------------------------------
        private SitePageOptions PopulatePageFromXmlNode(XmlNode node)
        {
            SitePageOptions Page = new SitePageOptions();

            /****************************************************/
            //find all the public properties of list Type using reflection
            PropertyInfo[] piT = typeof(SitePageOptions).GetProperties();
            // Get the Type object corresponding to MyClass.
            Type         myType = typeof(SitePageOptions);
            PropertyInfo myPropInfo;
            string       exceptions = "";

            foreach (XmlAttribute attr in node.Attributes)
            {
                try
                {
                    myPropInfo = myType.GetProperty(attr.Name);
                    if (myPropInfo.CanWrite)
                    {
                        if (myPropInfo.PropertyType.BaseType == typeof(System.Enum))
                        {
                            //int intVal = Convert.ToInt32(attr.Value);
                            myPropInfo.SetValue(Page, Enum.Parse(myPropInfo.PropertyType, attr.Value), null);
                            //Enum.Parse(typeof(myPropInfo.), "FirstName");
                        }
                        else
                        {
                            myPropInfo.SetValue(Page, Convert.ChangeType(attr.Value, myPropInfo.PropertyType), null);
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception(attr.Name);
                }
            }
            return(Page);
        }
Example #6
0
 //------------------------------------------------------------------
 public bool UpdatePage(SitePageOptions page)
 {
     return(sitePages.UpdatePage(page));
 }
Example #7
0
 public bool AddPage(SitePageOptions page)
 {
     return(sitePages.AddPage(page));
 }
Example #8
0
 //-----------------------------------------------------------------
 public bool SavePage(SitePageOptions page)
 {
     return(sitePages.SavePage(page));
 }