Example #1
0
        public IActionResult ArticlesPopup(KnowledgebaseArticleModel.AddRelatedArticleModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageKnowledgebase))
            {
                return(AccessDeniedView());
            }

            if (model.SelectedArticlesIds != null)
            {
                var article = _knowledgebaseService.GetKnowledgebaseArticle(model.ArticleId);

                foreach (var id in model.SelectedArticlesIds)
                {
                    if (id != article.Id)
                    {
                        if (!article.RelatedArticles.Contains(id))
                        {
                            article.RelatedArticles.Add(id);
                        }
                    }
                }

                _knowledgebaseService.UpdateKnowledgebaseArticle(article);
            }

            ViewBag.RefreshPage = true;

            return(View(model));
        }
Example #2
0
        public virtual void DeleteKnowledgebaseRelatedArticle(KnowledgebaseArticleModel.AddRelatedArticleModel model)
        {
            var article = _knowledgebaseService.GetKnowledgebaseArticle(model.ArticleId);
            var related = _knowledgebaseService.GetKnowledgebaseArticle(model.Id);

            if (article == null || related == null)
            {
                throw new ArgumentNullException("No article found with specified id");
            }

            string toDelete = "";

            foreach (var item in article.RelatedArticles)
            {
                if (item == related.Id)
                {
                    toDelete = item;
                }
            }

            if (!string.IsNullOrEmpty(toDelete))
            {
                article.RelatedArticles.Remove(toDelete);
            }

            _knowledgebaseService.UpdateKnowledgebaseArticle(article);
        }
Example #3
0
 public async Task <IActionResult> ArticlesPopup(KnowledgebaseArticleModel.AddRelatedArticleModel model)
 {
     if (model.SelectedArticlesIds != null)
     {
         await _knowledgebaseViewModelService.InsertKnowledgebaseRelatedArticle(model);
     }
     ViewBag.RefreshPage = true;
     return(View(model));
 }
        public IActionResult RelatedArticlesAddPopupList(DataSourceRequest command, KnowledgebaseArticleModel.AddRelatedArticleModel model)
        {
            var articles  = _knowledgebaseService.GetKnowledgebaseArticlesByName(model.SearchArticleName, command.Page - 1, command.PageSize);
            var gridModel = new DataSourceResult();

            gridModel.Data  = articles.Select(x => x.ToModel());
            gridModel.Total = articles.TotalCount;

            return(Json(gridModel));
        }
Example #5
0
        public async Task <IActionResult> RelatedArticleDelete(KnowledgebaseArticleModel.AddRelatedArticleModel model)
        {
            if (model.ArticleId == null || model.Id == null)
            {
                throw new ArgumentNullException("Article id expected ");
            }

            await _knowledgebaseViewModelService.DeleteKnowledgebaseRelatedArticle(model);

            return(new JsonResult(""));
        }
Example #6
0
        public IActionResult RelatedArticlesAddPopupList(DataSourceRequest command, KnowledgebaseArticleModel.AddRelatedArticleModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageKnowledgebase))
            {
                return(AccessDeniedView());
            }

            var articles  = _knowledgebaseService.GetKnowledgebaseArticlesByName(model.SearchArticleName, command.Page - 1, command.PageSize);
            var gridModel = new DataSourceResult();

            gridModel.Data  = articles.Select(x => x.ToModel());
            gridModel.Total = articles.TotalCount;

            return(Json(gridModel));
        }
        public virtual async Task InsertKnowledgebaseRelatedArticle(KnowledgebaseArticleModel.AddRelatedArticleModel model)
        {
            var article = await _knowledgebaseService.GetKnowledgebaseArticle(model.ArticleId);

            foreach (var id in model.SelectedArticlesIds)
            {
                if (id != article.Id)
                {
                    if (!article.RelatedArticles.Contains(id))
                    {
                        article.RelatedArticles.Add(id);
                    }
                }
            }
            await _knowledgebaseService.UpdateKnowledgebaseArticle(article);
        }
Example #8
0
        public IActionResult ArticlesPopup(string articleId)
        {
            var model = new KnowledgebaseArticleModel.AddRelatedArticleModel();

            model.ArticleId = articleId;
            model.AvailableArticles.Add(new SelectListItem {
                Text = _localizationService.GetResource("Admin.Common.All"), Value = " "
            });
            var articles = _knowledgebaseService.GetKnowledgebaseArticles();

            foreach (var a in articles)
            {
                model.AvailableArticles.Add(new SelectListItem {
                    Text = a.Name, Value = a.Id.ToString()
                });
            }

            return(View(model));
        }
Example #9
0
        public IActionResult RelatedArticleDelete(KnowledgebaseArticleModel.AddRelatedArticleModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageProducts))
            {
                return(AccessDeniedView());
            }

            if (model.ArticleId == null || model.Id == null)
            {
                throw new ArgumentNullException("Article id expected ");
            }

            var article = _knowledgebaseService.GetKnowledgebaseArticle(model.ArticleId);
            var related = _knowledgebaseService.GetKnowledgebaseArticle(model.Id);

            if (article == null || related == null)
            {
                throw new ArgumentNullException("No article found with specified id");
            }

            string toDelete = "";

            foreach (var item in article.RelatedArticles)
            {
                if (item == related.Id)
                {
                    toDelete = item;
                }
            }

            if (!string.IsNullOrEmpty(toDelete))
            {
                article.RelatedArticles.Remove(toDelete);
            }

            _knowledgebaseService.UpdateKnowledgebaseArticle(article);

            return(new NullJsonResult());
        }