Engage.Dnn.Publish.Article.SetDefaultItemVersionSettings C# (CSharp) Method

SetDefaultItemVersionSettings() private method

This method will configure the default ItemVersionSettings for an article, it is called from the Create method on article so that users of the API do not have to pass in itemversionsettings.
private SetDefaultItemVersionSettings ( ) : void
return void
        private void SetDefaultItemVersionSettings()
        {
            var hostController = HostController.Instance;

            // Printer Friendly
            string hostPrinterFriendlySetting =
                hostController.GetString(Utility.PublishDefaultPrinterFriendly + this.PortalId.ToString(CultureInfo.InvariantCulture));
            Setting setting = Setting.PrinterFriendly;
            setting.PropertyValue = Convert.ToBoolean(hostPrinterFriendlySetting, CultureInfo.InvariantCulture).ToString();
            var itemVersionSetting = new ItemVersionSetting(setting);
            this.VersionSettings.Add(itemVersionSetting);

            // Email A Friend
            string hostEmailFriendSetting =
                hostController.GetString(Utility.PublishDefaultEmailAFriend + this.PortalId.ToString(CultureInfo.InvariantCulture));
            setting = Setting.EmailAFriend;
            setting.PropertyValue = Convert.ToBoolean(hostEmailFriendSetting, CultureInfo.InvariantCulture).ToString();
            itemVersionSetting = new ItemVersionSetting(setting);
            this.VersionSettings.Add(itemVersionSetting);

            // ratings
            string hostRatingSetting =
                hostController.GetString(Utility.PublishDefaultRatings + this.PortalId.ToString(CultureInfo.InvariantCulture));
            setting = Setting.Rating;
            setting.PropertyValue = Convert.ToBoolean(hostRatingSetting, CultureInfo.InvariantCulture).ToString();
            itemVersionSetting = new ItemVersionSetting(setting);
            this.VersionSettings.Add(itemVersionSetting);

            // comments
            string hostCommentSetting =
                hostController.GetString(Utility.PublishDefaultComments + this.PortalId.ToString(CultureInfo.InvariantCulture));
            setting = Setting.Comments;
            setting.PropertyValue = Convert.ToBoolean(hostCommentSetting, CultureInfo.InvariantCulture).ToString();
            itemVersionSetting = new ItemVersionSetting(setting);
            this.VersionSettings.Add(itemVersionSetting);

            if (ModuleBase.IsPublishCommentTypeForPortal(this.PortalId))
            {
                // forum comments
                setting = Setting.ForumComments;
                setting.PropertyValue = Convert.ToBoolean(hostCommentSetting, CultureInfo.InvariantCulture).ToString();
                itemVersionSetting = new ItemVersionSetting(setting);
                this.VersionSettings.Add(itemVersionSetting);
            }

            // include all articles from the parent category
            setting = Setting.ArticleSettingIncludeCategories;
            setting.PropertyValue = false.ToString();
            itemVersionSetting = new ItemVersionSetting(setting);
            this.VersionSettings.Add(itemVersionSetting);

            // display on current page option
            setting = Setting.ArticleSettingCurrentDisplay;
            setting.PropertyValue = false.ToString();
            itemVersionSetting = new ItemVersionSetting(setting);
            this.VersionSettings.Add(itemVersionSetting);

            // force display on specific page
            setting = Setting.ArticleSettingForceDisplay;
            setting.PropertyValue = false.ToString();
            itemVersionSetting = new ItemVersionSetting(setting);
            this.VersionSettings.Add(itemVersionSetting);

            // display return to list
            setting = Setting.ArticleSettingReturnToList;
            setting.PropertyValue = false.ToString();
            itemVersionSetting = new ItemVersionSetting(setting);
            this.VersionSettings.Add(itemVersionSetting);

            // show author
            string hostAuthorSetting =
                hostController.GetString(Utility.PublishDefaultShowAuthor + this.PortalId.ToString(CultureInfo.InvariantCulture));
            setting = Setting.Author;
            setting.PropertyValue = Convert.ToBoolean(hostAuthorSetting, CultureInfo.InvariantCulture).ToString();
            itemVersionSetting = new ItemVersionSetting(setting);
            this.VersionSettings.Add(itemVersionSetting);

            // show tags
            string hostTagsSetting = hostController.GetString(
                Utility.PublishDefaultShowTags + this.PortalId.ToString(CultureInfo.InvariantCulture));
            setting = Setting.ShowTags;
            setting.PropertyValue = Convert.ToBoolean(hostTagsSetting, CultureInfo.InvariantCulture).ToString();
            itemVersionSetting = new ItemVersionSetting(setting);
            this.VersionSettings.Add(itemVersionSetting);

            // use approvals
            string hostUseApprovalsSetting =
                hostController.GetString(Utility.PublishUseApprovals + this.PortalId.ToString(CultureInfo.InvariantCulture));
            setting = Setting.UseApprovals;
            setting.PropertyValue = Convert.ToBoolean(hostUseApprovalsSetting, CultureInfo.InvariantCulture).ToString();
            itemVersionSetting = new ItemVersionSetting(setting);
            this.VersionSettings.Add(itemVersionSetting);
        }

Usage Example

        /// <summary>
        /// Creates an Article object that you can continue to modify or save back into the database.
        /// </summary>
        /// <param name="name">Name of the Category to be created.</param>
        /// <param name="description">The description/abstract of the category to be created.</param>
        /// <param name="articleText"></param>
        /// <param name="authorUserId">The ID of the author of this category.</param>
        /// <param name="parentCategoryId"></param>
        /// <param name="moduleId">The moduleid for where this category will most likely be displayed.</param>
        /// <param name="portalId">The Portal ID of the portal this category belongs to.</param>
        /// <returns>A <see cref="Article" /> with the assigned values.</returns>
        public static Article Create(string name, string description, string articleText, int authorUserId, int parentCategoryId, int moduleId, int portalId)
        {
            var a = new Article
            {
                Name         = name,
                Description  = description.Replace("<br>", "<br />"),
                _articleText = articleText.Replace("<br>", "<br />"),
                AuthorUserId = authorUserId
            };
            //should we strip <br> tags now?

            var irel = new ItemRelationship
            {
                RelationshipTypeId = Util.RelationshipType.ItemToParentCategory.GetId(),
                ParentItemId       = parentCategoryId
            };

            a.Relationships.Add(irel);
            a.StartDate = a.LastUpdated = a.CreatedDate = DateTime.Now.ToString(CultureInfo.InvariantCulture);
            a.PortalId  = portalId;
            a.ModuleId  = moduleId;
            Category c = Category.GetCategory(parentCategoryId, portalId);

            a.DisplayTabId     = c.ChildDisplayTabId;
            a.ApprovalStatusId = ApprovalStatus.Approved.GetId();
            a.NewWindow        = false;
            a.SetDefaultItemVersionSettings();
            return(a);
        }
All Usage Examples Of Engage.Dnn.Publish.Article::SetDefaultItemVersionSettings