using System;

using BS.Shared;

namespace BeWo.Data.Entities
{
    public class ResourceBooking : BeWoEntityBase
    {
        public static string PropertyName_Employee = "Employee";

        public static string PropertyName_End = "End";

        public static string PropertyName_IsDeleted = "IsDeleted";

        public static string PropertyName_Sequence = "Sequence";

        public static string PropertyName_SequencePosition = "SequencePosition";

        public static string PropertyName_Start = "Start";

        private Employee _Employee;

        private DateTime? _End;

        private bool _IsDeleted;

        private ResourceBookingSequence _Sequence;

        private int _SequencePosition;

        private DateTime? _Start;

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

        public virtual Employee Employee
        {
            get
            {
                return this._Employee;
            }

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

        public virtual DateTime? End
        {
            get
            {
                return this._End;
            }

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

        public virtual bool IsDeleted
        {
            get
            {
                return this._IsDeleted;
            }

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

        public virtual ResourceBookingSequence Sequence
        {
            get
            {
                return this._Sequence;
            }

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

        public virtual int SequencePosition
        {
            get
            {
                return this._SequencePosition;
            }

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

        public virtual DateTime? Start
        {
            get
            {
                return this._Start;
            }

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