/// <summary>
		/// Gets the property value by name.
		/// </summary>
		/// <param name="entity">The entity.</param>
		/// <param name="propertyName">Name of the property.</param>
		/// <returns></returns>
		public static object GetPropertyValueByName(VcsMemberType entity, string propertyName)
		{
			switch (propertyName)
			{
				case "MemberType":
					return entity.MemberType;
				case "Description":
					return entity.Description;
				case "IsActive":
					return entity.IsActive;
				case "Remark":
					return entity.Remark;
			}
			return null;
		}
		///<summary>
		/// A simple factory method to create a new <see cref="VcsMemberType"/> instance.
		///</summary>
		///<param name="_memberType"></param>
		///<param name="_description"></param>
		///<param name="_isActive"></param>
		///<param name="_remark"></param>
		public static VcsMemberType CreateVcsMemberType(System.String _memberType, System.String _description, System.Boolean _isActive, System.String _remark)
		{
			VcsMemberType newVcsMemberType = new VcsMemberType();
			newVcsMemberType.MemberType = _memberType;
			newVcsMemberType.Description = _description;
			newVcsMemberType.IsActive = _isActive;
			newVcsMemberType.Remark = _remark;
			return newVcsMemberType;
		}
		///<summary>
		///  Returns a Typed VcsMemberTypeBase Entity 
		///</summary>
		public virtual VcsMemberTypeBase Copy()
		{
			//shallow copy entity
			VcsMemberType copy = new VcsMemberType();
				copy.MemberType = this.MemberType;
				copy.Description = this.Description;
				copy.IsActive = this.IsActive;
				copy.Remark = this.Remark;
			copy.AcceptChanges();
			return (VcsMemberType)copy;
		}