using System;
using System.Collections.Generic;

using BS.Shared;

namespace BeWo.Data.Entities
{
    public class Customer2OrganisationHistory : BeWoEntityBase
    {
        public static string PropertyName_Organisation = "Organisation";

        public static string PropertyName_Type = "Type";

        public static string PropertyName_Info1 = "Info1";

        public static string PropertyName_Info2 = "Info2";

        public static string PropertyName_Info3 = "Info3";

        public static string PropertyName_Info4 = "Info4";

        public static string PropertyName_Info5 = "Info5";

        public static string PropertyName_ChangeType = "ChangeType";

        public static string PropertyName_Customer2OrganisationOid = "Customer2OrganisationOid";

        public static string PropertyName_Customer2OrganisationInsTs = "Customer2OrganisationInsTs";

        public static string PropertyName_Customer2OrganisationInsUser = "Customer2OrganisationInsUser";

        public static string PropertyName_Customer2OrganisationUdpUser = "Customer2OrganisationUdpUser";

        public static string PropertyName_Customer2OrganisationVersion = "Customer2OrganisationVersion";

        public static string PropertyName_CustomerOid = "CustomerOid";


        private Organisation _Organisation;

        private string _Info1;

        private string _Info2;

        private string _Info3;

        private string _Info4;

        private string _Info5;

        private StatementType _ChangeType;

        private long? _Customer2OrganisationOid;

        private DateTime? _Customer2OrganisationInsTs;

        private string _Customer2OrganisationInsUser;

        private string _Customer2OrganisationUdpUser;

        private long _Customer2OrganisationVersion;

        private long? _CustomerOid;


        public Customer2OrganisationHistory()
        {
            this._Tid = TableID.Customer2OrganisationHistory;
        }

        public virtual string Info1
        {
            get
            {
                return this._Info1;
            }

            set
            {
                if (this.AreDifferent(this._Info1, value))
                {
                    this._Info1 = value;
                }
            }
        }

        public virtual string Info2
        {
            get
            {
                return this._Info2;
            }

            set
            {
                if (this.AreDifferent(this._Info2, value))
                {
                    this._Info2 = value;
                }
            }
        }

        public virtual string Info3
        {
            get
            {
                return this._Info3;
            }

            set
            {
                if (this.AreDifferent(this._Info3, value))
                {
                    this._Info3 = value;
                }
            }
        }

        public virtual string Info4
        {
            get
            {
                return this._Info4;
            }

            set
            {
                if (this.AreDifferent(this._Info4, value))
                {
                    this._Info4 = value;
                }
            }
        }

        public virtual string Info5
        {
            get
            {
                return this._Info5;
            }

            set
            {
                if (this.AreDifferent(this._Info5, value))
                {
                    this._Info5 = value;
                }
            }
        }

        public virtual Organisation Organisation
        {
            get
            {
                return this._Organisation;
            }

            set
            {
                if (this.AreDifferent(this._Organisation, value))
                {
                    this._Organisation = value;
                }
            }
        }

        public virtual StatementType ChangeType
        {
            get { return _ChangeType; }

            set
            {
                if(AreDifferent(_ChangeType, value))
                    _ChangeType = value;
            }
        }

        public virtual DateTime? Customer2OrganisationInsTs
        {
            get { return _Customer2OrganisationInsTs; }

            set
            {
                if(AreDifferent(_Customer2OrganisationInsTs, value))
                    _Customer2OrganisationInsTs = value;
            }
        }

        public virtual string Customer2OrganisationInsUser
        {
            get { return _Customer2OrganisationInsUser; }

            set
            {
                if(AreDifferent(_Customer2OrganisationInsUser, value))
                    _Customer2OrganisationInsUser = value;
            }
        }

        public virtual string Customer2OrganisationUdpUser
        {
            get { return _Customer2OrganisationUdpUser; }
            set
            {
                if(AreDifferent(_Customer2OrganisationUdpUser, value))
                    _Customer2OrganisationUdpUser = value;
            }
        }

        public virtual long Customer2OrganisationVersion
        {
            get { return _Customer2OrganisationVersion; }

            set
            {
                if(AreDifferent(_Customer2OrganisationVersion, value))
                    _Customer2OrganisationVersion = value;
            }
        }

        public virtual long? Customer2OrganisationOid
        {
            get { return _Customer2OrganisationOid; }

            set
            {
                if(AreDifferent(_Customer2OrganisationOid, value))
                    _Customer2OrganisationOid = value;
            }
        }

        public virtual long? CustomerOid
        {
            get { return _CustomerOid; }

            set
            {
                if (AreDifferent(_CustomerOid, value))
                    _CustomerOid = value;
            }
        }
    }
}
