public ContentTypeInformation(SmartFormConfigurationData ContentTypeData)
    {
        this.Name = ContentTypeData.SmartformTitle;
        this.ID   = ContentTypeData.Id;

        if (string.IsNullOrWhiteSpace(ContentTypeData.FieldList))
        {
            throw new ApplicationException("Smartform loading error for " + ContentTypeData.Id + ":" + ContentTypeData.SmartformTitle);
            //return;
        }


        var typeFields = GetFields(ContentTypeData.FieldList);

        this.Fields = ConvertFieldsToHtml(typeFields);

        this.FieldCount = typeFields.Count();
        this.Volume     = GetTypeVolume(ContentTypeData.Id);

        if (this.Volume > 0)
        {
            List <long> folderIds = null;

            decimal           tmpVelocity = CalculateVelocity(ContentTypeData.Id, out folderIds);
            List <FolderData> typeFolders = new List <FolderData>();
            if (folderIds.Count > 2000)
            {
                var splitFids = SliceBy(folderIds, 2000);

                foreach (var splitfid in splitFids)
                {
                    var typefolderdata = GetFolders(splitfid);
                    typeFolders.Concat(typefolderdata);
                }
            }
            else
            {
                typeFolders = GetFolders(folderIds);
            }


            var folderArray = typeFolders.Select(f => f.NameWithPath).ToArray();
            this.Folders = ConvertFieldsToHtml(folderArray);

            this.Velocity = Math.Round(tmpVelocity, 4);

            this.RequiresApproval = CheckRequiresApproval(typeFolders);
        }
        else
        {
            this.Velocity         = 0;
            this.RequiresApproval = Approval.No;
        }
    }
    public ContentTypeInformation(SmartFormConfigurationData ContentTypeData)
    {
        this.Name = ContentTypeData.SmartformTitle;
        this.ID = ContentTypeData.Id;

        var typeFields = GetFields(ContentTypeData.FieldList);

        this.Fields = ConvertFieldsToHtml(typeFields);

        this.FieldCount = typeFields.Count();
        this.Volume = GetTypeVolume(ContentTypeData.Id);

        if (this.Volume > 0)
        {
            List<long> folderIds = null;

            decimal tmpVelocity = CalculateVelocity(ContentTypeData.Id, out folderIds);

            List<FolderData> typeFolders = GetFolders(folderIds);
            var folderArray = typeFolders.Select(f => f.NameWithPath).ToArray();
            this.Folders = ConvertFieldsToHtml(folderArray);

            this.Velocity = Math.Round(tmpVelocity, 4);

            this.RequiresApproval = CheckRequiresApproval(typeFolders);
        }
        else
        {
            this.Velocity = 0;
            this.RequiresApproval = Approval.No;
        }
    }