Ejemplo n.º 1
0
 public async Task <ActionResult <bool> > Delete(ArticlesInfo info)
 {
     try
     {
         return(Ok(await _repo.Delete(info.Name)));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Ejemplo n.º 2
0
        public async Task <bool> Update(ArticlesInfo articlesInfo)
        {
            FilterDefinition <ArticlesInfo> filter = Builders <ArticlesInfo> .Filter.Eq(m => m.Id, articlesInfo.Id.ToString());

            var update = Builders <ArticlesInfo> .Update
                         .Set("Name", articlesInfo.Name)
                         .Set("Text", articlesInfo.Text);

            var result = await _context.Update(filter, update);

            return(result.IsAcknowledged && result.ModifiedCount > 0);
        }
Ejemplo n.º 3
0
        public async Task <ActionResult <ArticlesInfo> > Create(ArticlesInfo info)
        {
            try
            {
                await _repo.Create(info);

                return(Ok(GetByNameOrId(null, info.Name)));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Ejemplo n.º 4
0
        public async Task <ActionResult <bool> > Update(ArticlesInfo info)
        {
            try
            {
                if (await _repo.Update(info))
                {
                    return(Ok(GetByNameOrId(info.Id)));
                }

                return(BadRequest("Update Failed"));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public ActionResult Update(ArticlesModel model)
        {
            if (!ModelState.IsValid)
            {
                return(new AjaxResult().Alert(T(Constants.Messages.InvalidModel)));
            }
            var service = WorkContext.Resolve <IArticlesService>();

            service.CategoryId   = model.CategoryId;
            service.LanguageCode = WorkContext.CurrentCulture;
            ArticlesInfo item  = model.Id == 0 ? new ArticlesInfo() : service.GetById(model.Id);
            var          alias = Utilities.GetAlias(model.Title);

            alias = GetAlias(item.Id, alias, alias, WorkContext.CurrentCulture);

            var refId = model.RefId;

            if (string.IsNullOrEmpty(refId))
            {
                refId = DateTime.Now.ToString(Extensions.Constants.DateTimeFomatFullNone);
            }
            item.LanguageCode  = WorkContext.CurrentCulture;
            item.CategoryId    = model.CategoryId;
            item.Title         = model.Title;
            item.Alias         = alias;
            item.Summary       = model.Summary;
            item.Contents      = model.Contents;
            item.CreateDate    = DateTime.Now.Date;
            item.CreateByUser  = WorkContext.CurrentUser.Id;
            item.IsPublished   = model.IsPublished;
            item.PublishedDate = DateTime.Now;
            item.RefId         = refId;
            item.VideoUrl      = string.Empty;
            item.BannerUrl     = model.BannerUrl;
            item.Image         = model.Image;
            if (string.IsNullOrEmpty(model.Image) || model.Image == "#" || model.Image == "/")
            {
                item.Image = Extensions.Constants.ImageDefault;
            }
            item.ViewCount   = model.ViewCount;
            item.Description = model.Description;
            item.Tags        = model.Tags;
            item.IsDeleted   = model.IsDeleted;
            service.Save(item);

            return(new AjaxResult().NotifyMessage("UPDATE_ENTITY_COMPLETE").Alert(T("Đã cập nhật thành công.")));
        }
Ejemplo n.º 6
0
        private void ViewMediaDetails(ArticlesInfo articles)
        {
            var widget       = WorkContext.Resolve <IWidgetService>();
            var viewRenderer = new ViewRenderer {
                Context = ControllerContext
            };

            var sectionBannerSliderService = WorkContext.Resolve <ISlidersService>();
            var articlesService            = WorkContext.Resolve <IArticlesService>();

            articlesService.LanguageCode = WorkContext.CurrentCulture;

            #region SectionBannerSlider
            var modelSectionBannerSlider = new DataViewerModel();
            modelSectionBannerSlider.BannerImages = sectionBannerSliderService.GetRecords(x => x.Type == (int)PageSlider.MediaDetails).FirstOrDefault();
            var viewSectionBannerSlider = viewRenderer.RenderPartialView(Extensions.Constants.ViewPageBannerImage, modelSectionBannerSlider);
            WorkContext.Layout.SectionBannerSlider.Add(new MvcHtmlString(viewSectionBannerSlider));
            #endregion

            #region SectionPageContent
            var modelSectionPageContent = new DataViewerModel();
            var custSetting             = WorkContext.Resolve <CustomSettings>();
            modelSectionPageContent.CategoryInfo = categoryService.GetRecords(x => x.RefId == custSetting.CategoryRootMedia && x.LanguageCode == WorkContext.CurrentCulture).FirstOrDefault();
            if (modelSectionPageContent.CategoryInfo != null)
            {
                modelSectionPageContent.ListCategories = categoryService.GetChildenByParentId(modelSectionPageContent.CategoryInfo.RefId);
            }

            var cate = categoryService.GetRecords(x => x.RefId == articles.CategoryId && x.LanguageCode == WorkContext.CurrentCulture).FirstOrDefault();
            if (cate != null)
            {
                articlesService.CategoryId         = cate.Id;
                modelSectionPageContent.CategoryId = cate.Id;
                BuildBreadcrumb(modelSectionPageContent, cate.Id, articles.Year);
                modelSectionPageContent.CategoryInfo = cate;
            }

            modelSectionPageContent.Year         = articles.Year;
            modelSectionPageContent.Articles     = articlesService.GetById(articles.Id);
            modelSectionPageContent.ListArticles = articlesService.GetMediaCountTop(articles.Year, articles.Id, 5);
            var viewSectionPageContent = viewRenderer.RenderPartialView(Extensions.Constants.ViewMediaDetails, modelSectionPageContent);
            WorkContext.Layout.SectionPageContent.Add(new MvcHtmlString(viewSectionPageContent));
            #endregion
        }
Ejemplo n.º 7
0
 public async Task Create(ArticlesInfo articlesInfo)
 {
     await _context.InsertOneAsync(articlesInfo);
 }
Ejemplo n.º 8
0
        public ActionResult Update(ArticlesModel model)
        {
            if (!ModelState.IsValid)
            {
                return(new AjaxResult().Alert(T(Constants.Messages.InvalidModel)));
            }

            ArticlesInfo articlesTemp = null;
            var          service      = WorkContext.Resolve <IArticlesService>();

            service.CategoryId = model.CategoryId;
            IList <ArticlesInfo> records = new List <ArticlesInfo> {
                new ArticlesInfo()
            };

            if (model.Id != 0)
            {
                records      = service.GetRecords(x => x.Id == model.Id || x.RefId == model.Id);
                articlesTemp = service.GetRecords(x => x.Id == model.Id).FirstOrDefault();
            }

            var languageManager = WorkContext.Resolve <ILanguageManager>();
            var languages       = languageManager.GetActiveLanguages(Constants.ThemeDefault, false);

            if (model.Id != 0)
            {
                if (languages.Count > 0)
                {
                    foreach (var language in languages)
                    {
                        var languageRecord = records.FirstOrDefault(x => x.LanguageCode == language.CultureCode);
                        if (languageRecord == null)
                        {
                            languageRecord = new ArticlesInfo
                            {
                                LanguageCode = language.CultureCode,
                                RefId        = model.Id
                            };
                            records.Add(languageRecord);
                        }
                    }
                }
            }

            foreach (var record in records)
            {
                record.CategoryId    = model.CategoryId;
                record.CreateDate    = DateTime.Now.Date;
                record.CreateByUser  = WorkContext.CurrentUser.Id;
                record.IsPublished   = model.IsPublished;
                record.PublishedDate = DateTime.Now;
                record.Year          = model.Year;
                record.StartDate     = DateTime.Now.Date;
                record.EndDate       = DateTime.Now.AddYears(10);
                record.VideoUrl      = model.VideoUrl;
                record.Image         = model.Image;
                if (string.IsNullOrEmpty(model.Image) || model.Image == "#" || model.Image == "/")
                {
                    record.Image = Extensions.Constants.ImageDefault;
                }
                record.ViewCount = model.ViewCount;
                record.IsDeleted = false;

                if (string.IsNullOrEmpty(record.LanguageCode))
                {
                    if (articlesTemp == null)
                    {
                        var alias = model.Alias;
                        if (string.IsNullOrEmpty(model.Alias))
                        {
                            alias = Utilities.GetAlias(model.Title);
                        }
                        alias = GetAlias(record.Id, alias, alias, "");

                        record.Alias       = alias;
                        record.Title       = model.Title;
                        record.Summary     = model.Summary;
                        record.Contents    = model.Contents;
                        record.Description = model.Description;
                        record.Tags        = model.Tags;
                    }
                    else
                    {
                        record.Alias       = articlesTemp.Alias;
                        record.Title       = articlesTemp.Title;
                        record.Summary     = articlesTemp.Summary;
                        record.Contents    = articlesTemp.Contents;
                        record.Description = articlesTemp.Description;
                        record.Tags        = articlesTemp.Tags;
                    }
                }
                else
                {
                    if (languages.Count(x => x.CultureCode.Equals(record.LanguageCode)) == 0)
                    {
                        continue;
                    }

                    var values              = Request.Form.AllKeys.ToDictionary(key => key, key => Request.Form[key]);
                    var localizedValues     = values.Keys.Where(key => key.Contains("." + record.LanguageCode)).ToDictionary(key => key.Replace("." + record.LanguageCode, ""), key => Utilities.FixCheckboxValue(values[key]));
                    var nameValueCollection = localizedValues.ToNameValueCollection();

                    var title = nameValueCollection.Get("Title");
                    record.Title = title;

                    var alias = nameValueCollection.Get("Alias");
                    if (string.IsNullOrEmpty(alias))
                    {
                        alias = Utilities.GetAlias(title);
                    }
                    alias              = GetAlias(record.RefId, alias, alias, record.LanguageCode);
                    record.Alias       = alias;
                    record.Title       = nameValueCollection.Get("Title");
                    record.Summary     = nameValueCollection.Get("Summary");
                    record.Contents    = nameValueCollection.Get("Contents");
                    record.Description = nameValueCollection.Get("Description");
                    record.Tags        = nameValueCollection.Get("Tags");
                }

                service.Save(record);

                try
                {
                    if (!string.IsNullOrEmpty(record.LanguageCode))
                    {
                        var serviceCategories = WorkContext.Resolve <ICategoriesService>();
                        serviceCategories.LanguageCode = record.LanguageCode;
                        var searchService = WorkContext.Resolve <ISearchService>();
                        searchService.LanguageCode = record.LanguageCode;
                        searchService.SearchType   = (int)SearchType.Articles;
                        if (record.IsDeleted || !record.IsPublished)
                        {
                            if (record.Id > 0)
                            {
                                var obj = searchService.GetByItem(record.Id);
                                if (obj != null)
                                {
                                    searchService.Delete(obj);
                                }
                            }
                        }
                        else
                        {
                            var cate     = serviceCategories.GetByIdCache(record.CategoryId);
                            var parentId = Utilities.GetCategoryId(CategoriesType.News, record.LanguageCode);
                            var url      = string.Empty;
                            if (cate != null)
                            {
                                if (cate.ParentId == parentId || cate.Id == parentId)
                                {
                                    url = Url.Action("MediaDetails", "HomeMediaNews", new { alias = record.Alias });
                                }
                                else
                                {
                                    if (cate.ParentId == 0)
                                    {
                                        url = string.Format("/{0}/{1}.html", cate.Alias, record.Alias);
                                    }
                                    else
                                    {
                                        var cateParent = serviceCategories.GetByIdCache(cate.ParentId);
                                        if (cateParent != null)
                                        {
                                            url = string.Format("/{0}/{1}/{2}.html", cateParent.Alias, cate.Alias, record.Alias);
                                        }
                                    }
                                }
                            }

                            SearchInfo search = (record.Id > 0 ? searchService.GetByItem(record.Id) : new SearchInfo()) ?? new SearchInfo();
                            search.Alias        = record.Alias;
                            search.CategoryId   = record.CategoryId;
                            search.CreateDate   = DateTime.Now;
                            search.Images       = record.Image;
                            search.LanguageCode = record.LanguageCode;
                            search.SearchId     = record.Id.ToString();
                            search.Sumary       = record.Summary;
                            search.Tags         = record.Tags;
                            search.Title        = record.Title;
                            search.VideoUrl     = record.VideoUrl;
                            search.Type         = (int)SearchType.Articles;
                            search.Url          = url;
                            searchService.Save(search);
                        }
                    }
                }
                catch (Exception ex)
                {
                    return(new AjaxResult().NotifyMessage("UPDATE_ENTITY_COMPLETE").Alert(ex.Message));
                }
            }

            return(new AjaxResult().NotifyMessage("UPDATE_ENTITY_COMPLETE").Alert(T("Đã cập nhật thành công.")));
        }