using BS.Shared;

namespace BeWo.Data.Entities
{
    public class VarFieldValue : BeWoEntityBase
    {
        public static string PropertyName_ObjectOid = "ObjectOid";

        public static string PropertyName_ObjectTid = "ObjectTid";

        public static string PropertyName_SerializedValue = "SerializedValue";

        public static string PropertyName_TypeName = "TypeName";

        public static string PropertyName_VarFieldDef = "VarFieldDefOid";

        private long? _ObjectOid;

        private TableID _ObjectTid;

        private string _SerializedValue;

        private string _TypeName;

        private long? _VarFieldDefOid;

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

        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.AreDifferent(this._ObjectTid, value))
                {
                    this._ObjectTid = value;
                }
            }
        }

        public virtual string SerializedValue
        {
            get
            {
                return this._SerializedValue;
            }

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

        public virtual string TypeName
        {
            get
            {
                return this._TypeName;
            }

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

        public virtual long? VarFieldDefOid
        {
            get
            {
                return this._VarFieldDefOid;
            }

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