private async Task SaveRenderingMarkdownModel()
        {
            var model = new RenderingMarkdownSettingsModel();

            foreach (var renderModel in RenderMarkdownToHtmlModels)
            {
                switch (renderModel.Type)
                {
                case RenderMarkdownToHtmlType.Core:
                {
                    var sourceModel = (CoreRenderModel)renderModel;
                    model.IsHtmlEnabled                    = sourceModel.IsHtmlTagEnabled;
                    model.IsAbbreviationEnabled            = sourceModel.IsAbbreviationEnabled;
                    model.IsAutoIdentifierEnabled          = sourceModel.IsAutoIdentifierEnabled;
                    model.IsAutoLinkEnabled                = sourceModel.IsAutoLinkEnabled;
                    model.IsBootstrapEnabled               = sourceModel.IsBootstrapEnabled;
                    model.IsCitationEnabled                = sourceModel.IsCitationEnabled;
                    model.IsDefinitionListEnabled          = sourceModel.IsDefinitionListEnabled;
                    model.IsEmojiSmileyEnabled             = sourceModel.IsEmojiSmileyEnabled;
                    model.IsFigureEnabled                  = sourceModel.IsFigureEnabled;
                    model.IsFooterEnabled                  = sourceModel.IsFooterEnabled;
                    model.IsFootnoteEnabled                = sourceModel.IsFootnoteEnabled;
                    model.IsMedialinkEnabled               = sourceModel.IsMediaLinkEnabled;
                    model.IsSoftlineAsHardlineBreakEnabled = sourceModel.IsSoftLineAsHardlineBreakEnabled;
                    model.IsSmartyPantEnabled              = sourceModel.IsSmartyPantEnabled;
                    model.IsGenericAttributeEnabled        = sourceModel.IsGenericAttributeEnabled;
                    break;
                }

                case RenderMarkdownToHtmlType.CustomContainer:
                {
                    break;
                }

                case RenderMarkdownToHtmlType.EmphasisExtra:
                {
                    var sourceModel = (EmphasisExtraRenderModel)renderModel;

                    model.IsEmphasisEnabled = sourceModel.IsEnabled;

                    model.IsStrikethroughEnabled  = sourceModel.IsStrikethroughEnabled;
                    model.IsSuperSubScriptEnabled = sourceModel.IsSuperSubScriptEnabled;
                    model.IsInsertedEnabled       = sourceModel.IsInsertedEnabled;
                    model.IsMarkedEnabled         = sourceModel.IsMarkedEnabled;
                    break;
                }

                case RenderMarkdownToHtmlType.List:
                {
                    var sourceModel = (ListRenderModel)renderModel;

                    model.IsListEnabled      = sourceModel.IsEnabled;
                    model.IsTaskListEnabled  = sourceModel.IsTaskListEnabled;
                    model.IsListExtraEnabled = sourceModel.IsListExtraEnabled;

                    break;
                }

                case RenderMarkdownToHtmlType.Mathematics:
                {
                    var sourceModel = (MathRenderModel)renderModel;

                    model.IsMathEnabled = sourceModel.IsEnabled;

                    break;
                }

                case RenderMarkdownToHtmlType.Table:
                {
                    var sourceModel = (TableRenderModel)renderModel;

                    model.IsTableEnabled = sourceModel.IsEnabled;

                    model.IsGridTableEnabled = sourceModel.IsGridTableEnabled;
                    model.IsPipeTableEnabled = sourceModel.IsPipeTableEnabled;

                    break;
                }

                case RenderMarkdownToHtmlType.YamlFrontMatter:
                    break;

                case RenderMarkdownToHtmlType.SyntaxHighlighting:
                {
                    var sourceModel = (SyntaxHighlightingRenderModel)renderModel;

                    model.IsSyntaxHighlightingEnabled = sourceModel.IsEnabled;
                    break;
                }

                case RenderMarkdownToHtmlType.Diagram:
                {
                    var sourceModel = (DiagramRenderModel)renderModel;

                    model.IsDiagramEnabled = sourceModel.IsEnabled;

                    model.IsMermaidEnabled = sourceModel.IsMermaidEnabled;
                    model.IsNomnomlEnabled = sourceModel.IsNomnomlEnabled;

                    break;
                }

                case RenderMarkdownToHtmlType.Globalization:
                    break;

                case RenderMarkdownToHtmlType.JiraLinks:
                    break;

                case RenderMarkdownToHtmlType.PreciseSourceLocation:
                    break;

                case RenderMarkdownToHtmlType.SelfPipeline:
                    break;

                default:
                    throw new ArgumentOutOfRangeException(nameof(renderModel));
                }
            }

            await _markdown.SaveRenderingMarkdownSettingsModelAsync(model);

            RenderMarkdownToHtmlModels.Clear();

            await LoadMarkdownToHtmlListItems();
        }