//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.4927
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace umbraco.Test
{
    using umbraco.Linq.Core;
    using umbraco.Linq.Core.Node;
    using System.Linq;


    public partial class MyUmbracoDataContext : UmbracoDataContext
    {

        #region Partials
        partial void OnCreated();
        #endregion


        public MyUmbracoDataContext() :
            base()
        {
            OnCreated();
        }

        public MyUmbracoDataContext(UmbracoDataProvider provider) :
            base(provider)
        {
            OnCreated();
        }

        public Tree<CWSContact> CWSContacts
        {
            get
            {
                return this.LoadTree<CWSContact>();
            }
        }

        public Tree<CWSEmailAFriend> CWSEmailAFriends
        {
            get
            {
                return this.LoadTree<CWSEmailAFriend>();
            }
        }

        public Tree<CWSEventItem> CWSEventItems
        {
            get
            {
                return this.LoadTree<CWSEventItem>();
            }
        }

        public Tree<CWSGalleryList> CWSGalleryLists
        {
            get
            {
                return this.LoadTree<CWSGalleryList>();
            }
        }

        public Tree<CWSGallery> CWSGalleries
        {
            get
            {
                return this.LoadTree<CWSGallery>();
            }
        }

        public Tree<CWSHome> CWSHomes
        {
            get
            {
                return this.LoadTree<CWSHome>();
            }
        }

        public Tree<CWSNewsEventsList> CWSNewsEventsLists
        {
            get
            {
                return this.LoadTree<CWSNewsEventsList>();
            }
        }

        public Tree<CWSNewsItem> CWSNewsItems
        {
            get
            {
                return this.LoadTree<CWSNewsItem>();
            }
        }

        public Tree<CWSPhoto> CWSPhotos
        {
            get
            {
                return this.LoadTree<CWSPhoto>();
            }
        }

        public Tree<CWSTextpage> CWSTextpages
        {
            get
            {
                return this.LoadTree<CWSTextpage>();
            }
        }

        public Tree<CWSTextpageTwoCol> CWSTextpageTwoCols
        {
            get
            {
                return this.LoadTree<CWSTextpageTwoCol>();
            }
        }

        public Tree<TextPageThreeCol> TextPageTwoCols
        {
            get
            {
                return this.LoadTree<TextPageThreeCol>();
            }
        }
    }

    /// <summary>
    /// This is the contact form document type for your site.
    /// </summary>
    [UmbracoInfo("CWS_Contact")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class CWSContact : DocTypeBase
    {

        private string _EmailTo;

        private string _EmailSubject;

        private string _EmailBody;

        private string _EmailReplyFrom;

        private string _EmailReplySubject;

        private string _EmailReplyBody;

        private int _EnableSSL;

        private string _UmbracoUrlName;

        private string _UmbracoUrlAlias;

        private string _MetaDescription;

        private string _MetaKeywords;

        private int _UmbracoRedirect;

        private int _UmbracoNaviHide;

        private string _HeaderText;

        private string _FormText;

        private string _ThankYouHeaderText;

        private string _ThankYouMessageText;

        private AssociationTree<CWSTextpage> _CWSTextpages;

        public CWSContact()
        {
        }

        /// <summary>
        /// The email address that you want the form to be sent to.
        /// </summary>
        [UmbracoInfo("emailTo", DisplayName = "Email To", Mandatory = true)]
        [Property()]
        public virtual string EmailTo
        {
            get
            {
                return this._EmailTo;
            }
            set
            {
                if ((this._EmailTo != value))
                {
                    this.RaisePropertyChanging();
                    this._EmailTo = value;
                    this.RaisePropertyChanged("EmailTo");
                }
            }
        }

        /// <summary>
        /// The subject of the email that will be sent to you.
        /// </summary>
        [UmbracoInfo("emailSubject", DisplayName = "Email Subject", Mandatory = true)]
        [Property()]
        public virtual string EmailSubject
        {
            get
            {
                return this._EmailSubject;
            }
            set
            {
                if ((this._EmailSubject != value))
                {
                    this.RaisePropertyChanging();
                    this._EmailSubject = value;
                    this.RaisePropertyChanged("EmailSubject");
                }
            }
        }

        /// <summary>
        /// Use placeholders [Name], [AddressLine1], [AddressLine2], [Email], [Message], [Time] and [Date]
        /// </summary>
        [UmbracoInfo("emailBody", DisplayName = "Email Message", Mandatory = true)]
        [Property()]
        public virtual string EmailBody
        {
            get
            {
                return this._EmailBody;
            }
            set
            {
                if ((this._EmailBody != value))
                {
                    this.RaisePropertyChanging();
                    this._EmailBody = value;
                    this.RaisePropertyChanged("EmailBody");
                }
            }
        }

        /// <summary>
        /// The email address that you want the automated reply to be sent from.
        /// </summary>
        [UmbracoInfo("emailReplyFrom", DisplayName = "Email Reply From", Mandatory = true)]
        [Property()]
        public virtual string EmailReplyFrom
        {
            get
            {
                return this._EmailReplyFrom;
            }
            set
            {
                if ((this._EmailReplyFrom != value))
                {
                    this.RaisePropertyChanging();
                    this._EmailReplyFrom = value;
                    this.RaisePropertyChanged("EmailReplyFrom");
                }
            }
        }

        /// <summary>
        /// The subject of the email that will be sent as the automated reply.
        ///
        /// </summary>
        [UmbracoInfo("emailReplySubject", DisplayName = "Email Reply Subject", Mandatory = false)]
        [Property()]
        public virtual string EmailReplySubject
        {
            get
            {
                return this._EmailReplySubject;
            }
            set
            {
                if ((this._EmailReplySubject != value))
                {
                    this.RaisePropertyChanging();
                    this._EmailReplySubject = value;
                    this.RaisePropertyChanged("EmailReplySubject");
                }
            }
        }

        /// <summary>
        /// Use placeholder [Name]
        /// </summary>
        [UmbracoInfo("emailReplyBody", DisplayName = "Email Reply Body", Mandatory = false)]
        [Property()]
        public virtual string EmailReplyBody
        {
            get
            {
                return this._EmailReplyBody;
            }
            set
            {
                if ((this._EmailReplyBody != value))
                {
                    this.RaisePropertyChanging();
                    this._EmailReplyBody = value;
                    this.RaisePropertyChanged("EmailReplyBody");
                }
            }
        }

        /// <summary>
        /// Does your SMTP server require SSL?
        /// </summary>
        [UmbracoInfo("enableSSL", DisplayName = "Enable SSL", Mandatory = false)]
        [Property()]
        public virtual int EnableSSL
        {
            get
            {
                return this._EnableSSL;
            }
            set
            {
                if ((this._EnableSSL != value))
                {
                    this.RaisePropertyChanging();
                    this._EnableSSL = value;
                    this.RaisePropertyChanged("EnableSSL");
                }
            }
        }

        public virtual bool EnableSSLBoolean
        {
            get
            {
                return (this._EnableSSL == 0);
            }
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlName
        {
            get
            {
                return this._UmbracoUrlName;
            }
            set
            {
                if ((this._UmbracoUrlName != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlName = value;
                    this.RaisePropertyChanged("UmbracoUrlName");
                }
            }
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlAlias
        {
            get
            {
                return this._UmbracoUrlAlias;
            }
            set
            {
                if ((this._UmbracoUrlAlias != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlAlias = value;
                    this.RaisePropertyChanged("UmbracoUrlAlias");
                }
            }
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        public virtual string MetaDescription
        {
            get
            {
                return this._MetaDescription;
            }
            set
            {
                if ((this._MetaDescription != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaDescription = value;
                    this.RaisePropertyChanged("MetaDescription");
                }
            }
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        public virtual string MetaKeywords
        {
            get
            {
                return this._MetaKeywords;
            }
            set
            {
                if ((this._MetaKeywords != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaKeywords = value;
                    this.RaisePropertyChanged("MetaKeywords");
                }
            }
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        public virtual int UmbracoRedirect
        {
            get
            {
                return this._UmbracoRedirect;
            }
            set
            {
                if ((this._UmbracoRedirect != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoRedirect = value;
                    this.RaisePropertyChanged("UmbracoRedirect");
                }
            }
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        public virtual int UmbracoNaviHide
        {
            get
            {
                return this._UmbracoNaviHide;
            }
            set
            {
                if ((this._UmbracoNaviHide != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoNaviHide = value;
                    this.RaisePropertyChanged("UmbracoNaviHide");
                }
            }
        }

        public virtual bool UmbracoNaviHideBoolean
        {
            get
            {
                return (this._UmbracoNaviHide == 0);
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        public virtual string HeaderText
        {
            get
            {
                return this._HeaderText;
            }
            set
            {
                if ((this._HeaderText != value))
                {
                    this.RaisePropertyChanging();
                    this._HeaderText = value;
                    this.RaisePropertyChanged("HeaderText");
                }
            }
        }

        /// <summary>
        /// This is the text that sits to the left of the contact form.
        /// </summary>
        [UmbracoInfo("formText", DisplayName = "Form Text", Mandatory = false)]
        [Property()]
        public virtual string FormText
        {
            get
            {
                return this._FormText;
            }
            set
            {
                if ((this._FormText != value))
                {
                    this.RaisePropertyChanging();
                    this._FormText = value;
                    this.RaisePropertyChanged("FormText");
                }
            }
        }

        /// <summary>
        /// This is the header for the thankyou the user will see after sumbitting the contact form.
        /// </summary>
        [UmbracoInfo("thankYouHeaderText", DisplayName = "Thank You Header", Mandatory = true)]
        [Property()]
        public virtual string ThankYouHeaderText
        {
            get
            {
                return this._ThankYouHeaderText;
            }
            set
            {
                if ((this._ThankYouHeaderText != value))
                {
                    this.RaisePropertyChanging();
                    this._ThankYouHeaderText = value;
                    this.RaisePropertyChanged("ThankYouHeaderText");
                }
            }
        }

        /// <summary>
        /// This is the thankyou message that the user will see after submitting your form.
        /// </summary>
        [UmbracoInfo("thankYouMessageText", DisplayName = "Thank You Message", Mandatory = true)]
        [Property()]
        public virtual string ThankYouMessageText
        {
            get
            {
                return this._ThankYouMessageText;
            }
            set
            {
                if ((this._ThankYouMessageText != value))
                {
                    this.RaisePropertyChanging();
                    this._ThankYouMessageText = value;
                    this.RaisePropertyChanged("ThankYouMessageText");
                }
            }
        }

        public AssociationTree<CWSTextpage> CWSTextpages
        {
            get
            {
                if ((this._CWSTextpages == null))
                {
                    this._CWSTextpages = this.ChildrenOfType<CWSTextpage>();
                }
                return this._CWSTextpages;
            }
            set
            {
                this._CWSTextpages = value;
            }
        }
    }

    /// <summary>
    /// This is the email a friend form document type for your site.
    /// </summary>
    [UmbracoInfo("CWS_EmailAFriend")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class CWSEmailAFriend : DocTypeBase
    {

        private string _EmailFrom;

        private string _EmailSubjectToFriend;

        private string _EmailMessageToFriend;

        private int _EnableSSL;

        private string _UmbracoUrlName;

        private string _UmbracoUrlAlias;

        private string _MetaDescription;

        private string _MetaKeywords;

        private int _UmbracoRedirect;

        private int _UmbracoNaviHide;

        private string _HeaderText;

        private string _ThankYouHeaderText;

        private string _ThankYouMessageText;

        private AssociationTree<CWSTextpage> _CWSTextpages;

        public CWSEmailAFriend()
        {
        }

        /// <summary>
        /// The email address that you want the email to be sent from.
        /// </summary>
        [UmbracoInfo("emailFrom", DisplayName = "Email From", Mandatory = true)]
        [Property()]
        public virtual string EmailFrom
        {
            get
            {
                return this._EmailFrom;
            }
            set
            {
                if ((this._EmailFrom != value))
                {
                    this.RaisePropertyChanging();
                    this._EmailFrom = value;
                    this.RaisePropertyChanged("EmailFrom");
                }
            }
        }

        /// <summary>
        /// The subject of the email that will be sent to the friend.
        /// </summary>
        [UmbracoInfo("emailSubjectToFriend", DisplayName = "Email Subject to Friend", Mandatory = true)]
        [Property()]
        public virtual string EmailSubjectToFriend
        {
            get
            {
                return this._EmailSubjectToFriend;
            }
            set
            {
                if ((this._EmailSubjectToFriend != value))
                {
                    this.RaisePropertyChanging();
                    this._EmailSubjectToFriend = value;
                    this.RaisePropertyChanged("EmailSubjectToFriend");
                }
            }
        }

        /// <summary>
        /// Use placeholders [FriendName], [FriendEmail], [YourName], [YourEmail], [Message], [Date], [Time], [URL]
        /// </summary>
        [UmbracoInfo("emailMessageToFriend", DisplayName = "Email Message to Friend", Mandatory = true)]
        [Property()]
        public virtual string EmailMessageToFriend
        {
            get
            {
                return this._EmailMessageToFriend;
            }
            set
            {
                if ((this._EmailMessageToFriend != value))
                {
                    this.RaisePropertyChanging();
                    this._EmailMessageToFriend = value;
                    this.RaisePropertyChanged("EmailMessageToFriend");
                }
            }
        }

        /// <summary>
        /// Does your SMTP server require SSL?
        /// </summary>
        [UmbracoInfo("enableSSL", DisplayName = "Enable SSL", Mandatory = false)]
        [Property()]
        public virtual int EnableSSL
        {
            get
            {
                return this._EnableSSL;
            }
            set
            {
                if ((this._EnableSSL != value))
                {
                    this.RaisePropertyChanging();
                    this._EnableSSL = value;
                    this.RaisePropertyChanged("EnableSSL");
                }
            }
        }

        public virtual bool EnableSSLBoolean
        {
            get
            {
                return (this._EnableSSL == 0);
            }
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlName
        {
            get
            {
                return this._UmbracoUrlName;
            }
            set
            {
                if ((this._UmbracoUrlName != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlName = value;
                    this.RaisePropertyChanged("UmbracoUrlName");
                }
            }
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlAlias
        {
            get
            {
                return this._UmbracoUrlAlias;
            }
            set
            {
                if ((this._UmbracoUrlAlias != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlAlias = value;
                    this.RaisePropertyChanged("UmbracoUrlAlias");
                }
            }
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        public virtual string MetaDescription
        {
            get
            {
                return this._MetaDescription;
            }
            set
            {
                if ((this._MetaDescription != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaDescription = value;
                    this.RaisePropertyChanged("MetaDescription");
                }
            }
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        public virtual string MetaKeywords
        {
            get
            {
                return this._MetaKeywords;
            }
            set
            {
                if ((this._MetaKeywords != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaKeywords = value;
                    this.RaisePropertyChanged("MetaKeywords");
                }
            }
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        public virtual int UmbracoRedirect
        {
            get
            {
                return this._UmbracoRedirect;
            }
            set
            {
                if ((this._UmbracoRedirect != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoRedirect = value;
                    this.RaisePropertyChanged("UmbracoRedirect");
                }
            }
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        public virtual int UmbracoNaviHide
        {
            get
            {
                return this._UmbracoNaviHide;
            }
            set
            {
                if ((this._UmbracoNaviHide != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoNaviHide = value;
                    this.RaisePropertyChanged("UmbracoNaviHide");
                }
            }
        }

        public virtual bool UmbracoNaviHideBoolean
        {
            get
            {
                return (this._UmbracoNaviHide == 0);
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        public virtual string HeaderText
        {
            get
            {
                return this._HeaderText;
            }
            set
            {
                if ((this._HeaderText != value))
                {
                    this.RaisePropertyChanging();
                    this._HeaderText = value;
                    this.RaisePropertyChanged("HeaderText");
                }
            }
        }

        /// <summary>
        /// This is the header for the thankyou the user will see after sumbitting the contact form.
        /// </summary>
        [UmbracoInfo("thankYouHeaderText", DisplayName = "Thank You Header", Mandatory = true)]
        [Property()]
        public virtual string ThankYouHeaderText
        {
            get
            {
                return this._ThankYouHeaderText;
            }
            set
            {
                if ((this._ThankYouHeaderText != value))
                {
                    this.RaisePropertyChanging();
                    this._ThankYouHeaderText = value;
                    this.RaisePropertyChanged("ThankYouHeaderText");
                }
            }
        }

        /// <summary>
        /// This is the thankyou message that the user will see after submitting your form.
        /// </summary>
        [UmbracoInfo("thankYouMessageText", DisplayName = "Thank You Text", Mandatory = true)]
        [Property()]
        public virtual string ThankYouMessageText
        {
            get
            {
                return this._ThankYouMessageText;
            }
            set
            {
                if ((this._ThankYouMessageText != value))
                {
                    this.RaisePropertyChanging();
                    this._ThankYouMessageText = value;
                    this.RaisePropertyChanged("ThankYouMessageText");
                }
            }
        }

        public AssociationTree<CWSTextpage> CWSTextpages
        {
            get
            {
                if ((this._CWSTextpages == null))
                {
                    this._CWSTextpages = this.ChildrenOfType<CWSTextpage>();
                }
                return this._CWSTextpages;
            }
            set
            {
                this._CWSTextpages = value;
            }
        }
    }

    /// <summary>
    /// This is the event document type for your site and lives beneath the News & Events List document type.
    /// </summary>
    [UmbracoInfo("CWS_EventItem")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class CWSEventItem : DocTypeBase
    {

        private System.DateTime _EventDate;

        private string _BodyText;

        private string _ArticlePhoto;

        private string _UmbracoUrlName;

        private string _UmbracoUrlAlias;

        private string _MetaDescription;

        private string _MetaKeywords;

        private int _UmbracoRedirect;

        private int _UmbracoNaviHide;

        public CWSEventItem()
        {
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("eventDate", DisplayName = "Date", Mandatory = false)]
        [Property()]
        public virtual System.DateTime EventDate
        {
            get
            {
                return this._EventDate;
            }
            set
            {
                if ((this._EventDate != value))
                {
                    this.RaisePropertyChanging();
                    this._EventDate = value;
                    this.RaisePropertyChanged("EventDate");
                }
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyText", DisplayName = "Text", Mandatory = false)]
        [Property()]
        public virtual string BodyText
        {
            get
            {
                return this._BodyText;
            }
            set
            {
                if ((this._BodyText != value))
                {
                    this.RaisePropertyChanging();
                    this._BodyText = value;
                    this.RaisePropertyChanged("BodyText");
                }
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("articlePhoto", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        public virtual string ArticlePhoto
        {
            get
            {
                return this._ArticlePhoto;
            }
            set
            {
                if ((this._ArticlePhoto != value))
                {
                    this.RaisePropertyChanging();
                    this._ArticlePhoto = value;
                    this.RaisePropertyChanged("ArticlePhoto");
                }
            }
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlName
        {
            get
            {
                return this._UmbracoUrlName;
            }
            set
            {
                if ((this._UmbracoUrlName != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlName = value;
                    this.RaisePropertyChanged("UmbracoUrlName");
                }
            }
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlAlias
        {
            get
            {
                return this._UmbracoUrlAlias;
            }
            set
            {
                if ((this._UmbracoUrlAlias != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlAlias = value;
                    this.RaisePropertyChanged("UmbracoUrlAlias");
                }
            }
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        public virtual string MetaDescription
        {
            get
            {
                return this._MetaDescription;
            }
            set
            {
                if ((this._MetaDescription != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaDescription = value;
                    this.RaisePropertyChanged("MetaDescription");
                }
            }
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        public virtual string MetaKeywords
        {
            get
            {
                return this._MetaKeywords;
            }
            set
            {
                if ((this._MetaKeywords != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaKeywords = value;
                    this.RaisePropertyChanged("MetaKeywords");
                }
            }
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        public virtual int UmbracoRedirect
        {
            get
            {
                return this._UmbracoRedirect;
            }
            set
            {
                if ((this._UmbracoRedirect != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoRedirect = value;
                    this.RaisePropertyChanged("UmbracoRedirect");
                }
            }
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        public virtual int UmbracoNaviHide
        {
            get
            {
                return this._UmbracoNaviHide;
            }
            set
            {
                if ((this._UmbracoNaviHide != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoNaviHide = value;
                    this.RaisePropertyChanged("UmbracoNaviHide");
                }
            }
        }

        public virtual bool UmbracoNaviHideBoolean
        {
            get
            {
                return (this._UmbracoNaviHide == 0);
            }
        }
    }

    /// <summary>
    /// This is the Galleries document type for your site which stores the Gallery document type as children.
    /// </summary>
    [UmbracoInfo("CWS_GalleryList")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class CWSGalleryList : DocTypeBase
    {

        private string _UmbracoUrlName;

        private string _UmbracoUrlAlias;

        private string _MetaDescription;

        private string _MetaKeywords;

        private int _UmbracoRedirect;

        private int _UmbracoNaviHide;

        private string _HeaderText;

        private string _SortBy;

        private string _SortOrder;

        private AssociationTree<CWSGallery> _CWSGalleries;

        public CWSGalleryList()
        {
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlName
        {
            get
            {
                return this._UmbracoUrlName;
            }
            set
            {
                if ((this._UmbracoUrlName != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlName = value;
                    this.RaisePropertyChanged("UmbracoUrlName");
                }
            }
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlAlias
        {
            get
            {
                return this._UmbracoUrlAlias;
            }
            set
            {
                if ((this._UmbracoUrlAlias != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlAlias = value;
                    this.RaisePropertyChanged("UmbracoUrlAlias");
                }
            }
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        public virtual string MetaDescription
        {
            get
            {
                return this._MetaDescription;
            }
            set
            {
                if ((this._MetaDescription != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaDescription = value;
                    this.RaisePropertyChanged("MetaDescription");
                }
            }
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        public virtual string MetaKeywords
        {
            get
            {
                return this._MetaKeywords;
            }
            set
            {
                if ((this._MetaKeywords != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaKeywords = value;
                    this.RaisePropertyChanged("MetaKeywords");
                }
            }
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        public virtual int UmbracoRedirect
        {
            get
            {
                return this._UmbracoRedirect;
            }
            set
            {
                if ((this._UmbracoRedirect != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoRedirect = value;
                    this.RaisePropertyChanged("UmbracoRedirect");
                }
            }
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        public virtual int UmbracoNaviHide
        {
            get
            {
                return this._UmbracoNaviHide;
            }
            set
            {
                if ((this._UmbracoNaviHide != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoNaviHide = value;
                    this.RaisePropertyChanged("UmbracoNaviHide");
                }
            }
        }

        public virtual bool UmbracoNaviHideBoolean
        {
            get
            {
                return (this._UmbracoNaviHide == 0);
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        public virtual string HeaderText
        {
            get
            {
                return this._HeaderText;
            }
            set
            {
                if ((this._HeaderText != value))
                {
                    this.RaisePropertyChanging();
                    this._HeaderText = value;
                    this.RaisePropertyChanged("HeaderText");
                }
            }
        }

        /// <summary>
        /// Choose how you want to sort the child items.
        /// </summary>
        [UmbracoInfo("sortBy", DisplayName = "Sort By", Mandatory = true)]
        [Property()]
        public virtual string SortBy
        {
            get
            {
                return this._SortBy;
            }
            set
            {
                if ((this._SortBy != value))
                {
                    this.RaisePropertyChanging();
                    this._SortBy = value;
                    this.RaisePropertyChanged("SortBy");
                }
            }
        }

        /// <summary>
        /// Choose how you want to sort the child items.
        /// </summary>
        [UmbracoInfo("sortOrder", DisplayName = "Sort Order", Mandatory = true)]
        [Property()]
        public virtual string SortOrder
        {
            get
            {
                return this._SortOrder;
            }
            set
            {
                if ((this._SortOrder != value))
                {
                    this.RaisePropertyChanging();
                    this._SortOrder = value;
                    this.RaisePropertyChanged("SortOrder");
                }
            }
        }

        public AssociationTree<CWSGallery> CWSGalleries
        {
            get
            {
                if ((this._CWSGalleries == null))
                {
                    this._CWSGalleries = this.ChildrenOfType<CWSGallery>();
                }
                return this._CWSGalleries;
            }
            set
            {
                this._CWSGalleries = value;
            }
        }
    }

    /// <summary>
    /// This is the gallery document type which stores the Photo document type as children.
    /// </summary>
    [UmbracoInfo("CWS_Gallery")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class CWSGallery : DocTypeBase
    {

        private string _UmbracoUrlName;

        private string _UmbracoUrlAlias;

        private string _MetaDescription;

        private string _MetaKeywords;

        private int _UmbracoRedirect;

        private int _UmbracoNaviHide;

        private string _HeaderText;

        private string _SortBy;

        private string _SortOrder;

        private string _GalleryThumbnail;

        private AssociationTree<CWSPhoto> _CWSPhotos;

        public CWSGallery()
        {
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlName
        {
            get
            {
                return this._UmbracoUrlName;
            }
            set
            {
                if ((this._UmbracoUrlName != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlName = value;
                    this.RaisePropertyChanged("UmbracoUrlName");
                }
            }
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlAlias
        {
            get
            {
                return this._UmbracoUrlAlias;
            }
            set
            {
                if ((this._UmbracoUrlAlias != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlAlias = value;
                    this.RaisePropertyChanged("UmbracoUrlAlias");
                }
            }
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        public virtual string MetaDescription
        {
            get
            {
                return this._MetaDescription;
            }
            set
            {
                if ((this._MetaDescription != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaDescription = value;
                    this.RaisePropertyChanged("MetaDescription");
                }
            }
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        public virtual string MetaKeywords
        {
            get
            {
                return this._MetaKeywords;
            }
            set
            {
                if ((this._MetaKeywords != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaKeywords = value;
                    this.RaisePropertyChanged("MetaKeywords");
                }
            }
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        public virtual int UmbracoRedirect
        {
            get
            {
                return this._UmbracoRedirect;
            }
            set
            {
                if ((this._UmbracoRedirect != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoRedirect = value;
                    this.RaisePropertyChanged("UmbracoRedirect");
                }
            }
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        public virtual int UmbracoNaviHide
        {
            get
            {
                return this._UmbracoNaviHide;
            }
            set
            {
                if ((this._UmbracoNaviHide != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoNaviHide = value;
                    this.RaisePropertyChanged("UmbracoNaviHide");
                }
            }
        }

        public virtual bool UmbracoNaviHideBoolean
        {
            get
            {
                return (this._UmbracoNaviHide == 0);
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        public virtual string HeaderText
        {
            get
            {
                return this._HeaderText;
            }
            set
            {
                if ((this._HeaderText != value))
                {
                    this.RaisePropertyChanging();
                    this._HeaderText = value;
                    this.RaisePropertyChanged("HeaderText");
                }
            }
        }

        /// <summary>
        /// Choose how you want to sort the child items.
        /// </summary>
        [UmbracoInfo("sortBy", DisplayName = "Sort By", Mandatory = true)]
        [Property()]
        public virtual string SortBy
        {
            get
            {
                return this._SortBy;
            }
            set
            {
                if ((this._SortBy != value))
                {
                    this.RaisePropertyChanging();
                    this._SortBy = value;
                    this.RaisePropertyChanged("SortBy");
                }
            }
        }

        /// <summary>
        /// Choose how you want to sort the child items.
        /// </summary>
        [UmbracoInfo("sortOrder", DisplayName = "Sort Order", Mandatory = true)]
        [Property()]
        public virtual string SortOrder
        {
            get
            {
                return this._SortOrder;
            }
            set
            {
                if ((this._SortOrder != value))
                {
                    this.RaisePropertyChanging();
                    this._SortOrder = value;
                    this.RaisePropertyChanged("SortOrder");
                }
            }
        }

        /// <summary>
        /// 208px x 108px
        /// </summary>
        [UmbracoInfo("galleryThumbnail", DisplayName = "Thumbnail for Gallery", Mandatory = false)]
        [Property()]
        public virtual string GalleryThumbnail
        {
            get
            {
                return this._GalleryThumbnail;
            }
            set
            {
                if ((this._GalleryThumbnail != value))
                {
                    this.RaisePropertyChanging();
                    this._GalleryThumbnail = value;
                    this.RaisePropertyChanged("GalleryThumbnail");
                }
            }
        }

        public AssociationTree<CWSPhoto> CWSPhotos
        {
            get
            {
                if ((this._CWSPhotos == null))
                {
                    this._CWSPhotos = this.ChildrenOfType<CWSPhoto>();
                }
                return this._CWSPhotos;
            }
            set
            {
                this._CWSPhotos = value;
            }
        }
    }

    /// <summary>
    /// This is the homepage document type for your site.
    /// </summary>
    [UmbracoInfo("CWS_Home")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class CWSHome : DocTypeBase
    {

        private string _UmbracoUrlName;

        private string _UmbracoUrlAlias;

        private string _MetaDescription;

        private string _MetaKeywords;

        private int _UmbracoRedirect;

        private int _UmbracoNaviHide;

        private string _SiteName;

        private string _HeaderText;

        private string _HomepagePhoto;

        private string _BodyText;

        private AssociationTree<CWSContact> _CWSContacts;

        private AssociationTree<CWSEmailAFriend> _CWSEmailAFriends;

        private AssociationTree<CWSGalleryList> _CWSGalleryLists;

        private AssociationTree<CWSNewsEventsList> _CWSNewsEventsLists;

        private AssociationTree<CWSTextpage> _CWSTextpages;

        private AssociationTree<CWSTextpageTwoCol> _CWSTextpageTwoCols;

        public CWSHome()
        {
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlName
        {
            get
            {
                return this._UmbracoUrlName;
            }
            set
            {
                if ((this._UmbracoUrlName != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlName = value;
                    this.RaisePropertyChanged("UmbracoUrlName");
                }
            }
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlAlias
        {
            get
            {
                return this._UmbracoUrlAlias;
            }
            set
            {
                if ((this._UmbracoUrlAlias != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlAlias = value;
                    this.RaisePropertyChanged("UmbracoUrlAlias");
                }
            }
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        public virtual string MetaDescription
        {
            get
            {
                return this._MetaDescription;
            }
            set
            {
                if ((this._MetaDescription != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaDescription = value;
                    this.RaisePropertyChanged("MetaDescription");
                }
            }
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        public virtual string MetaKeywords
        {
            get
            {
                return this._MetaKeywords;
            }
            set
            {
                if ((this._MetaKeywords != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaKeywords = value;
                    this.RaisePropertyChanged("MetaKeywords");
                }
            }
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        public virtual int UmbracoRedirect
        {
            get
            {
                return this._UmbracoRedirect;
            }
            set
            {
                if ((this._UmbracoRedirect != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoRedirect = value;
                    this.RaisePropertyChanged("UmbracoRedirect");
                }
            }
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        public virtual int UmbracoNaviHide
        {
            get
            {
                return this._UmbracoNaviHide;
            }
            set
            {
                if ((this._UmbracoNaviHide != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoNaviHide = value;
                    this.RaisePropertyChanged("UmbracoNaviHide");
                }
            }
        }

        public virtual bool UmbracoNaviHideBoolean
        {
            get
            {
                return (this._UmbracoNaviHide == 0);
            }
        }

        /// <summary>
        /// This is what your site is called.
        /// </summary>
        [UmbracoInfo("siteName", DisplayName = "Site Name", Mandatory = false)]
        [Property()]
        public virtual string SiteName
        {
            get
            {
                return this._SiteName;
            }
            set
            {
                if ((this._SiteName != value))
                {
                    this.RaisePropertyChanging();
                    this._SiteName = value;
                    this.RaisePropertyChanged("SiteName");
                }
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        public virtual string HeaderText
        {
            get
            {
                return this._HeaderText;
            }
            set
            {
                if ((this._HeaderText != value))
                {
                    this.RaisePropertyChanging();
                    this._HeaderText = value;
                    this.RaisePropertyChanged("HeaderText");
                }
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("homepagePhoto", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        public virtual string HomepagePhoto
        {
            get
            {
                return this._HomepagePhoto;
            }
            set
            {
                if ((this._HomepagePhoto != value))
                {
                    this.RaisePropertyChanging();
                    this._HomepagePhoto = value;
                    this.RaisePropertyChanged("HomepagePhoto");
                }
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyText", DisplayName = "Text", Mandatory = false)]
        [Property()]
        public virtual string BodyText
        {
            get
            {
                return this._BodyText;
            }
            set
            {
                if ((this._BodyText != value))
                {
                    this.RaisePropertyChanging();
                    this._BodyText = value;
                    this.RaisePropertyChanged("BodyText");
                }
            }
        }

        public AssociationTree<CWSContact> CWSContacts
        {
            get
            {
                if ((this._CWSContacts == null))
                {
                    this._CWSContacts = this.ChildrenOfType<CWSContact>();
                }
                return this._CWSContacts;
            }
            set
            {
                this._CWSContacts = value;
            }
        }

        public AssociationTree<CWSEmailAFriend> CWSEmailAFriends
        {
            get
            {
                if ((this._CWSEmailAFriends == null))
                {
                    this._CWSEmailAFriends = this.ChildrenOfType<CWSEmailAFriend>();
                }
                return this._CWSEmailAFriends;
            }
            set
            {
                this._CWSEmailAFriends = value;
            }
        }

        public AssociationTree<CWSGalleryList> CWSGalleryLists
        {
            get
            {
                if ((this._CWSGalleryLists == null))
                {
                    this._CWSGalleryLists = this.ChildrenOfType<CWSGalleryList>();
                }
                return this._CWSGalleryLists;
            }
            set
            {
                this._CWSGalleryLists = value;
            }
        }

        public AssociationTree<CWSNewsEventsList> CWSNewsEventsLists
        {
            get
            {
                if ((this._CWSNewsEventsLists == null))
                {
                    this._CWSNewsEventsLists = this.ChildrenOfType<CWSNewsEventsList>();
                }
                return this._CWSNewsEventsLists;
            }
            set
            {
                this._CWSNewsEventsLists = value;
            }
        }

        public AssociationTree<CWSTextpage> CWSTextpages
        {
            get
            {
                if ((this._CWSTextpages == null))
                {
                    this._CWSTextpages = this.ChildrenOfType<CWSTextpage>();
                }
                return this._CWSTextpages;
            }
            set
            {
                this._CWSTextpages = value;
            }
        }

        public AssociationTree<CWSTextpageTwoCol> CWSTextpageTwoCols
        {
            get
            {
                if ((this._CWSTextpageTwoCols == null))
                {
                    this._CWSTextpageTwoCols = this.ChildrenOfType<CWSTextpageTwoCol>();
                }
                return this._CWSTextpageTwoCols;
            }
            set
            {
                this._CWSTextpageTwoCols = value;
            }
        }
    }

    /// <summary>
    /// This is the News & Events List document type for your site which stores the News and Event Item document types as children.
    /// </summary>
    [UmbracoInfo("CWS_NewsEventsList")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class CWSNewsEventsList : DocTypeBase
    {

        private string _UmbracoUrlName;

        private string _UmbracoUrlAlias;

        private string _MetaDescription;

        private string _MetaKeywords;

        private int _UmbracoRedirect;

        private int _UmbracoNaviHide;

        private string _SortBy;

        private string _SortOrder;

        private string _HeaderText;

        private AssociationTree<CWSEventItem> _CWSEventItems;

        private AssociationTree<CWSNewsItem> _CWSNewsItems;

        public CWSNewsEventsList()
        {
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlName
        {
            get
            {
                return this._UmbracoUrlName;
            }
            set
            {
                if ((this._UmbracoUrlName != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlName = value;
                    this.RaisePropertyChanged("UmbracoUrlName");
                }
            }
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlAlias
        {
            get
            {
                return this._UmbracoUrlAlias;
            }
            set
            {
                if ((this._UmbracoUrlAlias != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlAlias = value;
                    this.RaisePropertyChanged("UmbracoUrlAlias");
                }
            }
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        public virtual string MetaDescription
        {
            get
            {
                return this._MetaDescription;
            }
            set
            {
                if ((this._MetaDescription != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaDescription = value;
                    this.RaisePropertyChanged("MetaDescription");
                }
            }
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        public virtual string MetaKeywords
        {
            get
            {
                return this._MetaKeywords;
            }
            set
            {
                if ((this._MetaKeywords != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaKeywords = value;
                    this.RaisePropertyChanged("MetaKeywords");
                }
            }
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        public virtual int UmbracoRedirect
        {
            get
            {
                return this._UmbracoRedirect;
            }
            set
            {
                if ((this._UmbracoRedirect != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoRedirect = value;
                    this.RaisePropertyChanged("UmbracoRedirect");
                }
            }
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        public virtual int UmbracoNaviHide
        {
            get
            {
                return this._UmbracoNaviHide;
            }
            set
            {
                if ((this._UmbracoNaviHide != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoNaviHide = value;
                    this.RaisePropertyChanged("UmbracoNaviHide");
                }
            }
        }

        public virtual bool UmbracoNaviHideBoolean
        {
            get
            {
                return (this._UmbracoNaviHide == 0);
            }
        }

        /// <summary>
        /// Choose how you want to sort the child items.
        /// </summary>
        [UmbracoInfo("sortBy", DisplayName = "Sort By", Mandatory = true)]
        [Property()]
        public virtual string SortBy
        {
            get
            {
                return this._SortBy;
            }
            set
            {
                if ((this._SortBy != value))
                {
                    this.RaisePropertyChanging();
                    this._SortBy = value;
                    this.RaisePropertyChanged("SortBy");
                }
            }
        }

        /// <summary>
        /// Choose how you want to sort the child items.
        /// </summary>
        [UmbracoInfo("sortOrder", DisplayName = "Sort Order", Mandatory = true)]
        [Property()]
        public virtual string SortOrder
        {
            get
            {
                return this._SortOrder;
            }
            set
            {
                if ((this._SortOrder != value))
                {
                    this.RaisePropertyChanging();
                    this._SortOrder = value;
                    this.RaisePropertyChanged("SortOrder");
                }
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        public virtual string HeaderText
        {
            get
            {
                return this._HeaderText;
            }
            set
            {
                if ((this._HeaderText != value))
                {
                    this.RaisePropertyChanging();
                    this._HeaderText = value;
                    this.RaisePropertyChanged("HeaderText");
                }
            }
        }

        public AssociationTree<CWSEventItem> CWSEventItems
        {
            get
            {
                if ((this._CWSEventItems == null))
                {
                    this._CWSEventItems = this.ChildrenOfType<CWSEventItem>();
                }
                return this._CWSEventItems;
            }
            set
            {
                this._CWSEventItems = value;
            }
        }

        public AssociationTree<CWSNewsItem> CWSNewsItems
        {
            get
            {
                if ((this._CWSNewsItems == null))
                {
                    this._CWSNewsItems = this.ChildrenOfType<CWSNewsItem>();
                }
                return this._CWSNewsItems;
            }
            set
            {
                this._CWSNewsItems = value;
            }
        }
    }

    /// <summary>
    /// This is the news document type for your site and lives beneath the News & Events List document type.
    /// </summary>
    [UmbracoInfo("CWS_NewsItem")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class CWSNewsItem : DocTypeBase
    {

        private string _BodyText;

        private string _ArticlePhoto;

        private string _UmbracoUrlName;

        private string _UmbracoUrlAlias;

        private string _MetaDescription;

        private string _MetaKeywords;

        private int _UmbracoRedirect;

        private int _UmbracoNaviHide;

        private AssociationTree<CWSNewsItem> _CWSNewsItems;

        public CWSNewsItem()
        {
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyText", DisplayName = "Text", Mandatory = false)]
        [Property()]
        public virtual string BodyText
        {
            get
            {
                return this._BodyText;
            }
            set
            {
                if ((this._BodyText != value))
                {
                    this.RaisePropertyChanging();
                    this._BodyText = value;
                    this.RaisePropertyChanged("BodyText");
                }
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("articlePhoto", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        public virtual string ArticlePhoto
        {
            get
            {
                return this._ArticlePhoto;
            }
            set
            {
                if ((this._ArticlePhoto != value))
                {
                    this.RaisePropertyChanging();
                    this._ArticlePhoto = value;
                    this.RaisePropertyChanged("ArticlePhoto");
                }
            }
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlName
        {
            get
            {
                return this._UmbracoUrlName;
            }
            set
            {
                if ((this._UmbracoUrlName != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlName = value;
                    this.RaisePropertyChanged("UmbracoUrlName");
                }
            }
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlAlias
        {
            get
            {
                return this._UmbracoUrlAlias;
            }
            set
            {
                if ((this._UmbracoUrlAlias != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlAlias = value;
                    this.RaisePropertyChanged("UmbracoUrlAlias");
                }
            }
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        public virtual string MetaDescription
        {
            get
            {
                return this._MetaDescription;
            }
            set
            {
                if ((this._MetaDescription != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaDescription = value;
                    this.RaisePropertyChanged("MetaDescription");
                }
            }
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        public virtual string MetaKeywords
        {
            get
            {
                return this._MetaKeywords;
            }
            set
            {
                if ((this._MetaKeywords != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaKeywords = value;
                    this.RaisePropertyChanged("MetaKeywords");
                }
            }
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        public virtual int UmbracoRedirect
        {
            get
            {
                return this._UmbracoRedirect;
            }
            set
            {
                if ((this._UmbracoRedirect != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoRedirect = value;
                    this.RaisePropertyChanged("UmbracoRedirect");
                }
            }
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        public virtual int UmbracoNaviHide
        {
            get
            {
                return this._UmbracoNaviHide;
            }
            set
            {
                if ((this._UmbracoNaviHide != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoNaviHide = value;
                    this.RaisePropertyChanged("UmbracoNaviHide");
                }
            }
        }

        public virtual bool UmbracoNaviHideBoolean
        {
            get
            {
                return (this._UmbracoNaviHide == 0);
            }
        }

        public AssociationTree<CWSNewsItem> CWSNewsItems
        {
            get
            {
                if ((this._CWSNewsItems == null))
                {
                    this._CWSNewsItems = this.ChildrenOfType<CWSNewsItem>();
                }
                return this._CWSNewsItems;
            }
            set
            {
                this._CWSNewsItems = value;
            }
        }
    }

    /// <summary>
    /// This is the Photo document type for your site and lives beneath the Gallery document type.
    /// </summary>
    [UmbracoInfo("CWS_Photo")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class CWSPhoto : DocTypeBase
    {

        private string _PhotoText;

        private string _Photo;

        private string _PhotoThumbnail;

        private string _UmbracoUrlName;

        private string _UmbracoUrlAlias;

        private string _MetaDescription;

        private string _MetaKeywords;

        private int _UmbracoRedirect;

        private int _UmbracoNaviHide;

        public CWSPhoto()
        {
        }

        /// <summary>
        /// Enter a description
        /// </summary>
        [UmbracoInfo("photoText", DisplayName = "Photo Text", Mandatory = false)]
        [Property()]
        public virtual string PhotoText
        {
            get
            {
                return this._PhotoText;
            }
            set
            {
                if ((this._PhotoText != value))
                {
                    this.RaisePropertyChanging();
                    this._PhotoText = value;
                    this.RaisePropertyChanged("PhotoText");
                }
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("photo", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        public virtual string Photo
        {
            get
            {
                return this._Photo;
            }
            set
            {
                if ((this._Photo != value))
                {
                    this.RaisePropertyChanging();
                    this._Photo = value;
                    this.RaisePropertyChanged("Photo");
                }
            }
        }

        /// <summary>
        /// 151px x 108px
        /// </summary>
        [UmbracoInfo("photoThumbnail", DisplayName = "Thumbnail", Mandatory = false)]
        [Property()]
        public virtual string PhotoThumbnail
        {
            get
            {
                return this._PhotoThumbnail;
            }
            set
            {
                if ((this._PhotoThumbnail != value))
                {
                    this.RaisePropertyChanging();
                    this._PhotoThumbnail = value;
                    this.RaisePropertyChanged("PhotoThumbnail");
                }
            }
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlName
        {
            get
            {
                return this._UmbracoUrlName;
            }
            set
            {
                if ((this._UmbracoUrlName != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlName = value;
                    this.RaisePropertyChanged("UmbracoUrlName");
                }
            }
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlAlias
        {
            get
            {
                return this._UmbracoUrlAlias;
            }
            set
            {
                if ((this._UmbracoUrlAlias != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlAlias = value;
                    this.RaisePropertyChanged("UmbracoUrlAlias");
                }
            }
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        public virtual string MetaDescription
        {
            get
            {
                return this._MetaDescription;
            }
            set
            {
                if ((this._MetaDescription != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaDescription = value;
                    this.RaisePropertyChanged("MetaDescription");
                }
            }
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        public virtual string MetaKeywords
        {
            get
            {
                return this._MetaKeywords;
            }
            set
            {
                if ((this._MetaKeywords != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaKeywords = value;
                    this.RaisePropertyChanged("MetaKeywords");
                }
            }
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        public virtual int UmbracoRedirect
        {
            get
            {
                return this._UmbracoRedirect;
            }
            set
            {
                if ((this._UmbracoRedirect != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoRedirect = value;
                    this.RaisePropertyChanged("UmbracoRedirect");
                }
            }
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        public virtual int UmbracoNaviHide
        {
            get
            {
                return this._UmbracoNaviHide;
            }
            set
            {
                if ((this._UmbracoNaviHide != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoNaviHide = value;
                    this.RaisePropertyChanged("UmbracoNaviHide");
                }
            }
        }

        public virtual bool UmbracoNaviHideBoolean
        {
            get
            {
                return (this._UmbracoNaviHide == 0);
            }
        }
    }

    /// <summary>
    /// This is the Textpage document type for your site.
    /// </summary>
    [UmbracoInfo("CWS_Textpage")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class CWSTextpage : DocTypeBase
    {

        private string _UmbracoUrlName;

        private string _UmbracoUrlAlias;

        private string _MetaDescription;

        private string _MetaKeywords;

        private int _UmbracoRedirect;

        private int _UmbracoNaviHide;

        private string _HeaderText;

        private string _ArticlePhoto;

        private string _BodyText;

        private AssociationTree<CWSTextpage> _CWSTextpages;

        private AssociationTree<CWSTextpageTwoCol> _CWSTextpageTwoCols;

        public CWSTextpage()
        {
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlName
        {
            get
            {
                return this._UmbracoUrlName;
            }
            set
            {
                if ((this._UmbracoUrlName != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlName = value;
                    this.RaisePropertyChanged("UmbracoUrlName");
                }
            }
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlAlias
        {
            get
            {
                return this._UmbracoUrlAlias;
            }
            set
            {
                if ((this._UmbracoUrlAlias != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlAlias = value;
                    this.RaisePropertyChanged("UmbracoUrlAlias");
                }
            }
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        public virtual string MetaDescription
        {
            get
            {
                return this._MetaDescription;
            }
            set
            {
                if ((this._MetaDescription != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaDescription = value;
                    this.RaisePropertyChanged("MetaDescription");
                }
            }
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        public virtual string MetaKeywords
        {
            get
            {
                return this._MetaKeywords;
            }
            set
            {
                if ((this._MetaKeywords != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaKeywords = value;
                    this.RaisePropertyChanged("MetaKeywords");
                }
            }
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        public virtual int UmbracoRedirect
        {
            get
            {
                return this._UmbracoRedirect;
            }
            set
            {
                if ((this._UmbracoRedirect != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoRedirect = value;
                    this.RaisePropertyChanged("UmbracoRedirect");
                }
            }
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        public virtual int UmbracoNaviHide
        {
            get
            {
                return this._UmbracoNaviHide;
            }
            set
            {
                if ((this._UmbracoNaviHide != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoNaviHide = value;
                    this.RaisePropertyChanged("UmbracoNaviHide");
                }
            }
        }

        public virtual bool UmbracoNaviHideBoolean
        {
            get
            {
                return (this._UmbracoNaviHide == 0);
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        public virtual string HeaderText
        {
            get
            {
                return this._HeaderText;
            }
            set
            {
                if ((this._HeaderText != value))
                {
                    this.RaisePropertyChanging();
                    this._HeaderText = value;
                    this.RaisePropertyChanged("HeaderText");
                }
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("articlePhoto", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        public virtual string ArticlePhoto
        {
            get
            {
                return this._ArticlePhoto;
            }
            set
            {
                if ((this._ArticlePhoto != value))
                {
                    this.RaisePropertyChanging();
                    this._ArticlePhoto = value;
                    this.RaisePropertyChanged("ArticlePhoto");
                }
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyText", DisplayName = "Text", Mandatory = false)]
        [Property()]
        public virtual string BodyText
        {
            get
            {
                return this._BodyText;
            }
            set
            {
                if ((this._BodyText != value))
                {
                    this.RaisePropertyChanging();
                    this._BodyText = value;
                    this.RaisePropertyChanged("BodyText");
                }
            }
        }

        public AssociationTree<CWSTextpage> CWSTextpages
        {
            get
            {
                if ((this._CWSTextpages == null))
                {
                    this._CWSTextpages = this.ChildrenOfType<CWSTextpage>();
                }
                return this._CWSTextpages;
            }
            set
            {
                this._CWSTextpages = value;
            }
        }

        public AssociationTree<CWSTextpageTwoCol> CWSTextpageTwoCols
        {
            get
            {
                if ((this._CWSTextpageTwoCols == null))
                {
                    this._CWSTextpageTwoCols = this.ChildrenOfType<CWSTextpageTwoCol>();
                }
                return this._CWSTextpageTwoCols;
            }
            set
            {
                this._CWSTextpageTwoCols = value;
            }
        }
    }

    /// <summary>
    /// This is the Textpage document type for your site which has two columns.
    /// </summary>
    [UmbracoInfo("CWS_TextpageTwoCol")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class CWSTextpageTwoCol : DocTypeBase
    {

        private string _ArticlePhotoColOne;

        private string _ArticlePhotoColTwo;

        private string _BodyTextColTwo;

        private string _BodyTextColOne;

        private string _UmbracoUrlName;

        private string _UmbracoUrlAlias;

        private string _MetaDescription;

        private string _MetaKeywords;

        private int _UmbracoRedirect;

        private int _UmbracoNaviHide;

        private string _HeaderText;

        private AssociationTree<CWSTextpage> _CWSTextpages;

        private AssociationTree<CWSTextpageTwoCol> _CWSTextpageTwoCols;

        public CWSTextpageTwoCol()
        {
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("articlePhotoColOne", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        public virtual string ArticlePhotoColOne
        {
            get
            {
                return this._ArticlePhotoColOne;
            }
            set
            {
                if ((this._ArticlePhotoColOne != value))
                {
                    this.RaisePropertyChanging();
                    this._ArticlePhotoColOne = value;
                    this.RaisePropertyChanged("ArticlePhotoColOne");
                }
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("articlePhotoColTwo", DisplayName = "Photo", Mandatory = false)]
        [Property()]
        public virtual string ArticlePhotoColTwo
        {
            get
            {
                return this._ArticlePhotoColTwo;
            }
            set
            {
                if ((this._ArticlePhotoColTwo != value))
                {
                    this.RaisePropertyChanging();
                    this._ArticlePhotoColTwo = value;
                    this.RaisePropertyChanged("ArticlePhotoColTwo");
                }
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyTextColTwo", DisplayName = "Text", Mandatory = false)]
        [Property()]
        public virtual string BodyTextColTwo
        {
            get
            {
                return this._BodyTextColTwo;
            }
            set
            {
                if ((this._BodyTextColTwo != value))
                {
                    this.RaisePropertyChanging();
                    this._BodyTextColTwo = value;
                    this.RaisePropertyChanged("BodyTextColTwo");
                }
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyTextColOne", DisplayName = "Text", Mandatory = false)]
        [Property()]
        public virtual string BodyTextColOne
        {
            get
            {
                return this._BodyTextColOne;
            }
            set
            {
                if ((this._BodyTextColOne != value))
                {
                    this.RaisePropertyChanging();
                    this._BodyTextColOne = value;
                    this.RaisePropertyChanged("BodyTextColOne");
                }
            }
        }

        /// <summary>
        /// If you wish to change the URL of the node without changing the node name fill this in.
        ///
        ///eg: warren
        /// </summary>
        [UmbracoInfo("umbracoUrlName", DisplayName = "Umbraco URL Name", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlName
        {
            get
            {
                return this._UmbracoUrlName;
            }
            set
            {
                if ((this._UmbracoUrlName != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlName = value;
                    this.RaisePropertyChanged("UmbracoUrlName");
                }
            }
        }

        /// <summary>
        /// Use this to give a node multiple urls.
        ///
        ///eg: home,homepage/another-level
        /// </summary>
        [UmbracoInfo("umbracoUrlAlias", DisplayName = "Umbraco URL Alias", Mandatory = false)]
        [Property()]
        public virtual string UmbracoUrlAlias
        {
            get
            {
                return this._UmbracoUrlAlias;
            }
            set
            {
                if ((this._UmbracoUrlAlias != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoUrlAlias = value;
                    this.RaisePropertyChanged("UmbracoUrlAlias");
                }
            }
        }

        /// <summary>
        /// Enter the description for the page.
        /// </summary>
        [UmbracoInfo("metaDescription", DisplayName = "Meta Description", Mandatory = false)]
        [Property()]
        public virtual string MetaDescription
        {
            get
            {
                return this._MetaDescription;
            }
            set
            {
                if ((this._MetaDescription != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaDescription = value;
                    this.RaisePropertyChanged("MetaDescription");
                }
            }
        }

        /// <summary>
        /// Enter a comma seperated list of keywords.
        ///warren, keyword, test
        /// </summary>
        [UmbracoInfo("metaKeywords", DisplayName = "Meta Keywords", Mandatory = false)]
        [Property()]
        public virtual string MetaKeywords
        {
            get
            {
                return this._MetaKeywords;
            }
            set
            {
                if ((this._MetaKeywords != value))
                {
                    this.RaisePropertyChanging();
                    this._MetaKeywords = value;
                    this.RaisePropertyChanged("MetaKeywords");
                }
            }
        }

        /// <summary>
        /// Pick a node you wish to redirect to if the user lands on this node.
        /// </summary>
        [UmbracoInfo("umbracoRedirect", DisplayName = " Umbraco Redirect", Mandatory = false)]
        [Property()]
        public virtual int UmbracoRedirect
        {
            get
            {
                return this._UmbracoRedirect;
            }
            set
            {
                if ((this._UmbracoRedirect != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoRedirect = value;
                    this.RaisePropertyChanged("UmbracoRedirect");
                }
            }
        }

        /// <summary>
        /// Use this property if you wish to hide this page in the navigation.
        /// </summary>
        [UmbracoInfo("umbracoNaviHide", DisplayName = "Hide in Navi", Mandatory = false)]
        [Property()]
        public virtual int UmbracoNaviHide
        {
            get
            {
                return this._UmbracoNaviHide;
            }
            set
            {
                if ((this._UmbracoNaviHide != value))
                {
                    this.RaisePropertyChanging();
                    this._UmbracoNaviHide = value;
                    this.RaisePropertyChanged("UmbracoNaviHide");
                }
            }
        }

        public virtual bool UmbracoNaviHideBoolean
        {
            get
            {
                return (this._UmbracoNaviHide == 0);
            }
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("headerText", DisplayName = "Header", Mandatory = false)]
        [Property()]
        public virtual string HeaderText
        {
            get
            {
                return this._HeaderText;
            }
            set
            {
                if ((this._HeaderText != value))
                {
                    this.RaisePropertyChanging();
                    this._HeaderText = value;
                    this.RaisePropertyChanged("HeaderText");
                }
            }
        }

        public AssociationTree<CWSTextpage> CWSTextpages
        {
            get
            {
                if ((this._CWSTextpages == null))
                {
                    this._CWSTextpages = this.ChildrenOfType<CWSTextpage>();
                }
                return this._CWSTextpages;
            }
            set
            {
                this._CWSTextpages = value;
            }
        }

        public AssociationTree<CWSTextpageTwoCol> CWSTextpageTwoCols
        {
            get
            {
                if ((this._CWSTextpageTwoCols == null))
                {
                    this._CWSTextpageTwoCols = this.ChildrenOfType<CWSTextpageTwoCol>();
                }
                return this._CWSTextpageTwoCols;
            }
            set
            {
                this._CWSTextpageTwoCols = value;
            }
        }
    }

    /// <summary>
    /// 
    /// </summary>
    [UmbracoInfo("TextPageThreeCol")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class TextPageThreeCol : CWSTextpageTwoCol
    {

        public TextPageThreeCol()
        {
        }
    }
}

