using BS.Shared;

namespace BeWo.Data.Entities
{
    public class FileAttachmentInfo : BeWoEntityBase
    {
        public static string PropertyName_IsLocked = "IsLocked";

        public static string PropertyName_LockedBy = "LockedBy";

        public static string PropertyName_ObjectOid = "ObjectOid";

        public static string PropertyName_ObjectTid = "ObjectTid";

        public static string PropertyName_Path = "Path";

        public static string PropertyName_Type = "Type";

        public static string PropertyName_BeWoFolderOid = "BeWoFolderOid";

        private bool _IsLocked;

        private string _LockedBy;

        private long? _ObjectOid;

        private TableID _ObjectTid;

        private string _Path;

        private FileAttachmentType _Type;

        private long? _BeWoFolderOid;

        public FileAttachmentInfo()
        {
            this._Tid = TableID.FileAttachment;
        }

        public virtual bool IsLocked
        {
            get
            {
                return this._IsLocked;
            }

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

        public virtual string LockedBy
        {
            get
            {
                return this._LockedBy;
            }

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

        public virtual long? ObjectOid
        {
            get
            {
                return this._ObjectOid;
            }

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

        public virtual TableID ObjectTid
        {
            get
            {
                return this._ObjectTid;
            }

            set
            {
                if (this._ObjectTid != value)
                {
                    this._ObjectTid = value;
                }
            }
        }

        public virtual string Path
        {
            get
            {
                return this._Path;
            }

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

        public virtual FileAttachmentType Type
        {
            get
            {
                return this._Type;
            }

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

        public virtual long? BeWoFolderOid
        {
            get
            {
                return this._BeWoFolderOid;
            }

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