// ------------------------------------------------------------------------------
// This class was auto-generated for use with the Habanero Enterprise Framework.
// NB Custom code should be placed in the provided stub class.
// Please do not modify this class directly!
// ------------------------------------------------------------------------------

using System;
using Habanero.BO;
<<|IF(HasSuperClass):<<|IF(!SuperClassAssemblyName EQUALS BOPROJECTNAME):using <<|=SuperClassAssemblyName|>>;|>>|>>

namespace <<|=ASSEMBLYNAME|>>
{

// ReSharper disable RedundantNameQualifier
// ReSharper disable RedundantBaseQualifier
// ReSharper disable VirtualMemberNeverOverriden.Global

    /// <summary>
    /// This is the <<|=CLASSNAME|>> class
	///<<|=CLASSDescription|>>
    /// </summary>
    public partial class <<|=CLASSNAME|>> : <<|IF(HasSuperClass):<<|=SuperClassName|>>|>><<|IF(!HasSuperClass):BusinessObject<<<|=CLASSNAME|>>>|>>
    {
        #region Properties
        
        <<| FOREACH(Properties):
        <<| IF(GenerateCode):
        /// <summary>
        /// <<|=Description|>>The property <<|=PROPERTYNAME|>> that is part of the class <<|=CLASSNAME|>> 
        /// </summary>
        public virtual <<|=PROPERTYTYPESTRING|>><<| IF(PropertyType.IsValueType):?|>> <<|=PROPERTYNAME|>>
        {
            get
            {
                return ((<<|=PROPERTYTYPESTRING|>><<| IF(PropertyType.IsValueType):?|>>)(base.GetPropertyValue("<<|=PROPERTYNAME|>>")));
            }
            set
            {
                base.SetPropertyValue("<<|=PROPERTYNAME|>>", value);
            }
        }
        
        |>>
        |>>        
        #endregion
        
        #region Relationships
        
        <<| FOREACH(Relationships):
        <<| IF(GenerateCode):
        /// <summary>
        /// <<|=RelationshipDescription|>>The relationship <<|=RELATIONSHIPNAME|>> that the class <<|=CLASSNAME|>> forms with the <<|=RELATEDCLASS|>> class.
        /// </summary> 
        <<|IF(!IsMultiple):      
        public virtual <<|=RELATEDASSEMBLY|>>.<<|=RELATEDCLASS|>> <<|=RELATIONSHIPNAME|>>
        {
            get
            {
                return Relationships.GetRelatedObject<<<|=RELATEDASSEMBLY|>>.<<|=RELATEDCLASS|>>>("<<|=RELATIONSHIPNAME|>>");
            }
            set
            {
                Relationships.SetRelatedObject("<<|=RELATIONSHIPNAME|>>", value);
            }
        }
        |>>
        <<|IF(IsMultiple):        
        public virtual BusinessObjectCollection<<<|=RELATEDASSEMBLY|>>.<<|=RELATEDCLASS|>>> <<|=RELATIONSHIPNAME|>>
        {
            get
            {
                return Relationships.GetRelatedCollection<<<|=RELATEDASSEMBLY|>>.<<|=RELATEDCLASS|>>>("<<|=RELATIONSHIPNAME|>>");
            }
        }
        |>>
        
        |>>
        |>>        
        #endregion
        
    }

// ReSharper restore VirtualMemberNeverOverriden.Global
// ReSharper restore RedundantNameQualifier
// ReSharper restore RedundantBaseQualifier

}
