public async Task <ActionResult <bool> > Delete(ArticlesInfo info) { try { return(Ok(await _repo.Delete(info.Name))); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
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); }
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)); } }
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."))); }
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 }
public async Task Create(ArticlesInfo articlesInfo) { await _context.InsertOneAsync(articlesInfo); }
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."))); }