//------------------------------------------------------------------------------
// This is auto-generated code.
//------------------------------------------------------------------------------
// This code was generated by Entity Developer tool using NHibernate template.
// Code is generated on: 19.06.2012 15:52:43
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
//------------------------------------------------------------------------------

using System;
using System.Collections;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Collections.Generic;

namespace CompositeID
{

    /// <summary>
    /// There are no comments for CompositeID.Factory, CompositeID in the schema.
    /// </summary>
    public partial class Factory {

        private int _FactoryID;

        private int _FactoryCode;

        private string _FactoryName;

        private Iesi.Collections.Generic.ISet<Company> _Companies;
    
        #region Extensibility Method Definitions
        
        partial void OnCreated();

        public override bool Equals(object obj)
        {
          Factory toCompare = obj as Factory;
          if (toCompare == null)
          {
            return false;
          }

          if (!Object.Equals(this.FactoryID, toCompare.FactoryID))
            return false;
          if (!Object.Equals(this.FactoryCode, toCompare.FactoryCode))
            return false;
          
          return true;
        }

        public override int GetHashCode()
        {
          int hashCode = 13;
          hashCode = (hashCode * 7) + FactoryID.GetHashCode();
          hashCode = (hashCode * 7) + FactoryCode.GetHashCode();
          return hashCode;
        }
        
        #endregion

        public Factory()
        {
            this._Companies = new Iesi.Collections.Generic.HashedSet<Company>();
            OnCreated();
        }

    
        /// <summary>
        /// There are no comments for FactoryID in the schema.
        /// </summary>
        public virtual int FactoryID
        {
            get
            {
                return this._FactoryID;
            }
            set
            {
                this._FactoryID = value;
            }
        }

    
        /// <summary>
        /// There are no comments for FactoryCode in the schema.
        /// </summary>
        public virtual int FactoryCode
        {
            get
            {
                return this._FactoryCode;
            }
            set
            {
                this._FactoryCode = value;
            }
        }

    
        /// <summary>
        /// There are no comments for FactoryName in the schema.
        /// </summary>
        public virtual string FactoryName
        {
            get
            {
                return this._FactoryName;
            }
            set
            {
                this._FactoryName = value;
            }
        }

    
        /// <summary>
        /// There are no comments for Companies in the schema.
        /// </summary>
        public virtual Iesi.Collections.Generic.ISet<Company> Companies
        {
            get
            {
                return this._Companies;
            }
            set
            {
                this._Companies = value;
            }
        }
    }

    /// <summary>
    /// There are no comments for CompositeID.Company, CompositeID in the schema.
    /// </summary>
    public partial class Company {

        private int _CompanyID;

        private int _CompanyCode;

        private string _CompanyName;

        private Iesi.Collections.Generic.ISet<Factory> _Factories;
    
        #region Extensibility Method Definitions
        
        partial void OnCreated();

        public override bool Equals(object obj)
        {
          Company toCompare = obj as Company;
          if (toCompare == null)
          {
            return false;
          }

          if (!Object.Equals(this.CompanyID, toCompare.CompanyID))
            return false;
          if (!Object.Equals(this.CompanyCode, toCompare.CompanyCode))
            return false;
          
          return true;
        }

        public override int GetHashCode()
        {
          int hashCode = 13;
          hashCode = (hashCode * 7) + CompanyID.GetHashCode();
          hashCode = (hashCode * 7) + CompanyCode.GetHashCode();
          return hashCode;
        }
        
        #endregion

        public Company()
        {
            this._Factories = new Iesi.Collections.Generic.HashedSet<Factory>();
            OnCreated();
        }

    
        /// <summary>
        /// There are no comments for CompanyID in the schema.
        /// </summary>
        public virtual int CompanyID
        {
            get
            {
                return this._CompanyID;
            }
            set
            {
                this._CompanyID = value;
            }
        }

    
        /// <summary>
        /// There are no comments for CompanyCode in the schema.
        /// </summary>
        public virtual int CompanyCode
        {
            get
            {
                return this._CompanyCode;
            }
            set
            {
                this._CompanyCode = value;
            }
        }

    
        /// <summary>
        /// There are no comments for CompanyName in the schema.
        /// </summary>
        public virtual string CompanyName
        {
            get
            {
                return this._CompanyName;
            }
            set
            {
                this._CompanyName = value;
            }
        }

    
        /// <summary>
        /// There are no comments for Factories in the schema.
        /// </summary>
        public virtual Iesi.Collections.Generic.ISet<Factory> Factories
        {
            get
            {
                return this._Factories;
            }
            set
            {
                this._Factories = value;
            }
        }
    }

}
