示例#1
0
        public virtual KnowledgebaseArticle UpdateKnowledgebaseArticleModel(KnowledgebaseArticle knowledgebaseArticle, KnowledgebaseArticleModel model)
        {
            knowledgebaseArticle = model.ToEntity(knowledgebaseArticle);
            knowledgebaseArticle.UpdatedOnUtc = DateTime.UtcNow;
            knowledgebaseArticle.Locales      = model.Locales.ToLocalizedProperty(knowledgebaseArticle, x => x.Name, _urlRecordService);
            model.SeName = knowledgebaseArticle.ValidateSeName(model.SeName, knowledgebaseArticle.Name, true);
            knowledgebaseArticle.SeName        = model.SeName;
            knowledgebaseArticle.AllowComments = model.AllowComments;
            _knowledgebaseService.UpdateKnowledgebaseArticle(knowledgebaseArticle);

            _urlRecordService.SaveSlug(knowledgebaseArticle, model.SeName, "");

            _customerActivityService.InsertActivity("UpdateKnowledgebaseArticle", knowledgebaseArticle.Id,
                                                    _localizationService.GetResource("ActivityLog.UpdateKnowledgebaseArticle"), knowledgebaseArticle.Name);
            return(knowledgebaseArticle);
        }
示例#2
0
        public virtual async Task <KnowledgebaseArticle> UpdateKnowledgebaseArticleModel(KnowledgebaseArticle knowledgebaseArticle, KnowledgebaseArticleModel model)
        {
            knowledgebaseArticle = model.ToEntity(knowledgebaseArticle);
            knowledgebaseArticle.UpdatedOnUtc = DateTime.UtcNow;
            knowledgebaseArticle.Locales      = await model.Locales.ToTranslationProperty(knowledgebaseArticle, x => x.Name, _seoSettings, _slugService, _languageService);

            model.SeName = await knowledgebaseArticle.ValidateSeName(model.SeName, knowledgebaseArticle.Name, true, _seoSettings, _slugService, _languageService);

            knowledgebaseArticle.SeName        = model.SeName;
            knowledgebaseArticle.AllowComments = model.AllowComments;
            await _knowledgebaseService.UpdateKnowledgebaseArticle(knowledgebaseArticle);

            await _slugService.SaveSlug(knowledgebaseArticle, model.SeName, "");

            await _customerActivityService.InsertActivity("UpdateKnowledgebaseArticle", knowledgebaseArticle.Id,
                                                          _translationService.GetResource("ActivityLog.UpdateKnowledgebaseArticle"), knowledgebaseArticle.Name);

            return(knowledgebaseArticle);
        }
示例#3
0
        protected virtual List <LocalizedProperty> UpdateLocales(KnowledgebaseArticle article, KnowledgebaseArticleModel model)
        {
            List <LocalizedProperty> localized = new List <LocalizedProperty>();

            foreach (var local in model.Locales)
            {
                var seName = article.ValidateSeName(local.SeName, local.Name, false);
                _urlRecordService.SaveSlug(article, seName, local.LanguageId);

                if (!(String.IsNullOrEmpty(local.Name)))
                {
                    localized.Add(new LocalizedProperty()
                    {
                        LanguageId  = local.LanguageId,
                        LocaleKey   = "Name",
                        LocaleValue = local.Name,
                    });
                }

                if (!(String.IsNullOrEmpty(local.Content)))
                {
                    localized.Add(new LocalizedProperty()
                    {
                        LanguageId  = local.LanguageId,
                        LocaleKey   = "Content",
                        LocaleValue = local.Content,
                    });
                }

                if (!(String.IsNullOrEmpty(local.MetaDescription)))
                {
                    localized.Add(new LocalizedProperty()
                    {
                        LanguageId  = local.LanguageId,
                        LocaleKey   = "MetaDescription",
                        LocaleValue = local.MetaDescription,
                    });
                }

                if (!(String.IsNullOrEmpty(local.MetaKeywords)))
                {
                    localized.Add(new LocalizedProperty()
                    {
                        LanguageId  = local.LanguageId,
                        LocaleKey   = "MetaKeywords",
                        LocaleValue = local.MetaKeywords,
                    });
                }

                if (!(String.IsNullOrEmpty(local.MetaTitle)))
                {
                    localized.Add(new LocalizedProperty()
                    {
                        LanguageId  = local.LanguageId,
                        LocaleKey   = "MetaTitle",
                        LocaleValue = local.MetaTitle,
                    });
                }

                if (!(String.IsNullOrEmpty(seName)))
                {
                    localized.Add(new LocalizedProperty()
                    {
                        LanguageId  = local.LanguageId,
                        LocaleKey   = "SeName",
                        LocaleValue = seName,
                    });
                }
            }

            return(localized);
        }