/// <summary>
        /// Get all the properties of the entity.
        /// </summary>
        /// <param name="entityName">The name of any of the supported entities that
        /// are manageable.</param>
        /// <example>Given "Category" Returns :
        /// 1. Name
        /// 2. Id
        /// 3. Description. etc.</example>
        /// <returns></returns>
        public IList <PropertyInfo> GetProperties(string entityName)
        {
            // Validate.
            if (string.IsNullOrEmpty(entityName))
            {
                return(null);
            }
            if (!EntityRegistration.ContainsEntity(entityName))
            {
                return(null);
            }

            Type typ = Type.GetType(entityName);
            IList <PropertyInfo> props = ReflectionUtils.GetWritableProperties(typ, null);

            return(props);
        }