예제 #1
0
        //---ARTICLE DETATILS
        public IActionResult ArticleDetails(string articleId)
        {
            int Id   = Convert.ToInt32(articleId.Substring(0, articleId.IndexOf('_')));
            var item = _repositoryArticle.GetArticle(Id);

            var avm = ConstructAVM(item, false);

            ViewData["Title"]           = _settings.ApplicationTitle + avm.Title;
            ViewData["HeaderTitle"]     = _settings.HeaderTitle;
            ViewData["FooterTitle"]     = _settings.FooterTitle;
            ViewData["metaDescription"] = item.metaDescription;
            ViewData["metaKeyWords"]    = item.metaKeyWords;
            ViewBag.ArticleVM           = avm;

            //похожие статьи (для того чтобы наполнить страницу нужным количеством символов)
            var SimilarArticlesVM = new List <ArticleViewModel>();

            if (Convert.ToInt32(_settings.CountOfSimilarArticlesOnArticlePage) > 0)
            {
                var Items = _repositoryArticle.SimilarArticlesFullInformation(item.Category.EnTitle, item.Id).ToList();

                foreach (var i in Items)
                {
                    if (i.Id != avm.Id)
                    {
                        SimilarArticlesVM.Add(ConstructAVM(i, true));
                    }
                }
            }

            ViewBag.Kws = _repositoryKW.KwsForTagCloud(Convert.ToInt32(item.CategoryId));
            ViewBag.SimilarArticlesVM = SimilarArticlesVM;

            return(View());
        }
예제 #2
0
        public IActionResult EditArticle(int id)
        {
            CreateEditArticleViewModel cegvm = null;

            if (id != 0)
            {
                #region формирование данных статьи для отображения в интерфейсе редактирования
                Article item = _repositoryArticle.GetArticle(id);

                cegvm = new CreateEditArticleViewModel
                {
                    Title           = item.Title,
                    EnTitle         = item.EnTitle,
                    Description     = item.Description,
                    Link            = item.Link,
                    HashTags        = item.HashTags,
                    Category        = item.Category.Title,
                    CategoryId      = item.CategoryId,
                    Id              = item.Id,
                    metaDescription = item.metaDescription,
                    metaKeyWords    = item.metaKeyWords
                };
                if (item.Images.Count != 0)
                {
                    cegvm.MainImageInBase64 = FromByteToBase64Converter.GetImageBase64Src(item.Images.ToList()[0].Image);
                    foreach (var rgi in item.Images)
                    {
                        //для каждого изображения составляем соответствующую модель отображения
                        cegvm.ImageViewModels.Add(
                            new ImageViewModel
                        {
                            GoodId        = rgi.GoodId,
                            Id            = rgi.ImageId,
                            goodImageIds  = rgi.GoodId + "_" + rgi.ImageId,
                            ImageMimeType = rgi.Image.ImageMimeType,
                            ImageInBase64 = FromByteToBase64Converter.GetImageBase64Src(rgi.Image)
                        }
                            );
                        //для каждого изображения оставляем его id в input всех id изображений товара
                        cegvm.goodImagesIds += rgi.ImageId + "_";
                    }
                }
                #endregion
            }
            else
            {
                cegvm = new CreateEditArticleViewModel();
            }

            #region формирование списка ключевиков для САЙТА

            ViewBag.SiteKws = _repositoryKW.Kws(null).ToList();

            #endregion

            ViewData["Title"]       = _settings.ApplicationTitle + "Администрирование: Добавление/Редактирование статьи";
            ViewData["HeaderTitle"] = _settings.HeaderTitle;
            ViewData["FooterTitle"] = _settings.FooterTitle;
            ViewBag.ActiveSubMenu   = "Статьи";
            return(View(cegvm));
        }