public IActionResult EditArticle(KnowledgebaseArticleModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageKnowledgebase)) { return(AccessDeniedView()); } var knowledgebaseArticle = _knowledgebaseService.GetKnowledgebaseArticle(model.Id); if (knowledgebaseArticle == null) { return(RedirectToAction("List")); } if (ModelState.IsValid) { knowledgebaseArticle = model.ToEntity(knowledgebaseArticle); knowledgebaseArticle.UpdatedOnUtc = DateTime.UtcNow; knowledgebaseArticle.Locales = UpdateLocales(knowledgebaseArticle, model); knowledgebaseArticle.CustomerRoles = model.SelectedCustomerRoleIds != null?model.SelectedCustomerRoleIds.ToList() : new List <string>(); model.SeName = knowledgebaseArticle.ValidateSeName(model.SeName, knowledgebaseArticle.Name, true); knowledgebaseArticle.SeName = model.SeName; knowledgebaseArticle.Stores = model.SelectedStoreIds != null?model.SelectedStoreIds.ToList() : new List <string>(); knowledgebaseArticle.AllowComments = model.AllowComments; _knowledgebaseService.UpdateKnowledgebaseArticle(knowledgebaseArticle); _urlRecordService.SaveSlug(knowledgebaseArticle, model.SeName, ""); _customerActivityService.InsertActivity("UpdateKnowledgebaseArticle", knowledgebaseArticle.Id, _localizationService.GetResource("ActivityLog.UpdateKnowledgebaseArticle"), knowledgebaseArticle.Name); model.AvailableCustomerRoles = _customerService .GetAllCustomerRoles(true) .Select(cr => cr.ToModel()) .ToList(); model.AvailableStores = _storeService .GetAllStores() .Select(s => s.ToModel()) .ToList(); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.Knowledgebase.KnowledgebaseArticle.Updated")); return(continueEditing ? RedirectToAction("EditArticle", new { knowledgebaseArticle.Id }) : RedirectToAction("EditCategory", new { id = model.ParentCategoryId })); } //If we got this far, something failed, redisplay form return(View(model)); }
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); }
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); }