//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.3074
//
//     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<Runwayhomepage> Runwayhomepages
        {
            get
            {
                return this.LoadTree<Runwayhomepage>();
            }
        }

        public Tree<Runwaytextpage> Runwaytextpages
        {
            get
            {
                return this.LoadTree<Runwaytextpage>();
            }
        }

        public Tree<ContentFolder> ContentFolders
        {
            get
            {
                return this.LoadTree<ContentFolder>();
            }
        }

        public Tree<Person> Persons
        {
            get
            {
                return this.LoadTree<Person>();
            }
        }

        public Tree<InheritedFolder> InheritedFolders
        {
            get
            {
                return this.LoadTree<InheritedFolder>();
            }
        }

        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> TextpageThreeCols
        {
            get
            {
                return this.LoadTree<TextpageThreeCol>();
            }
        }
    }

    /// <summary>
    /// The homepage of a Runway website.
    /// </summary>
    [UmbracoInfo("RunwayHomepage")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class Runwayhomepage : DocTypeBase
    {

        private string _Bodytext;

        private string _Sitename;

        private string _Sitedescription;

        private AssociationTree<Runwaytextpage> _Runwaytextpages;

        public Runwayhomepage()
        {
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyText", DisplayName = "Body 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("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("siteDescription", DisplayName = "Site Description", Mandatory = false)]
        [Property()]
        public virtual string Sitedescription
        {
            get
            {
                return this._Sitedescription;
            }
            set
            {
                if ((this._Sitedescription != value))
                {
                    this.RaisePropertyChanging();
                    this._Sitedescription = value;
                    this.RaisePropertyChanged("Sitedescription");
                }
            }
        }

        public AssociationTree<Runwaytextpage> Runwaytextpages
        {
            get
            {
                if ((this._Runwaytextpages == null))
                {
                    this._Runwaytextpages = this.ChildrenOfType<Runwaytextpage>();
                }
                return this._Runwaytextpages;
            }
            set
            {
                this._Runwaytextpages = value;
            }
        }
    }

    /// <summary>
    /// Runway textpage; this is the standard content page for a Runway website.
    /// </summary>
    [UmbracoInfo("RunwayTextpage")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class Runwaytextpage : DocTypeBase
    {

        private string _Bodytext;

        private int _umbraconavihide;

        private AssociationTree<Runwaytextpage> _Runwaytextpages;

        public Runwaytextpage()
        {
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("bodyText", DisplayName = "Body 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("umbracoNaviHide", DisplayName = "Hide in navigation", Mandatory = false)]
        [Property()]
        public virtual int umbraconavihide
        {
            get
            {
                return this._umbraconavihide;
            }
            set
            {
                if ((this._umbraconavihide != value))
                {
                    this.RaisePropertyChanging();
                    this._umbraconavihide = value;
                    this.RaisePropertyChanged("umbraconavihide");
                }
            }
        }

        private bool umbraconavihideBoolean
        {
            get
            {
                return (this._umbraconavihide == 0);
            }
        }

        public AssociationTree<Runwaytextpage> Runwaytextpages
        {
            get
            {
                if ((this._Runwaytextpages == null))
                {
                    this._Runwaytextpages = this.ChildrenOfType<Runwaytextpage>();
                }
                return this._Runwaytextpages;
            }
            set
            {
                this._Runwaytextpages = value;
            }
        }
    }

    /// <summary>
    /// 
    /// </summary>
    [UmbracoInfo("Content Folder")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class ContentFolder : DocTypeBase
    {

        private AssociationTree<Person> _Persons;

        public ContentFolder()
        {
        }

        public AssociationTree<Person> Persons
        {
            get
            {
                if ((this._Persons == null))
                {
                    this._Persons = this.ChildrenOfType<Person>();
                }
                return this._Persons;
            }
            set
            {
                this._Persons = value;
            }
        }
    }

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

        private string _Firstname;

        private string _Lastname;

        public Person()
        {
        }

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

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

    /// <summary>
    /// 
    /// </summary>
    [UmbracoInfo("Inherited Folder")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class InheritedFolder : ContentFolder
    {

        public InheritedFolder()
        {
        }
    }

    /// <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");
                }
            }
        }

        private 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");
                }
            }
        }

        private 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");
                }
            }
        }

        private 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");
                }
            }
        }

        private 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");
                }
            }
        }

        private 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");
                }
            }
        }

        private 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");
                }
            }
        }

        private 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");
                }
            }
        }

        private 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");
                }
            }
        }

        private 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");
                }
            }
        }

        private 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");
                }
            }
        }

        private 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");
                }
            }
        }

        private 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");
                }
            }
        }

        private 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("Textpage (Three Col)")]
    [System.Runtime.Serialization.DataContractAttribute()]
    [DocType()]
    public partial class TextpageThreeCol : CwsTextpagetwocol
    {

        private string _Thirdcontentarea;

        public TextpageThreeCol()
        {
        }

        /// <summary>
        /// 
        /// </summary>
        [UmbracoInfo("ThirdContentArea", DisplayName = "Third content area", Mandatory = false)]
        [Property()]
        public virtual string Thirdcontentarea
        {
            get
            {
                return this._Thirdcontentarea;
            }
            set
            {
                if ((this._Thirdcontentarea != value))
                {
                    this.RaisePropertyChanging();
                    this._Thirdcontentarea = value;
                    this.RaisePropertyChanged("Thirdcontentarea");
                }
            }
        }
    }
}
