public ActionResult GetStaticContent(int menuId, string virtualId, string title) { var breadCrumbs = new List <BreadCrumb>(); var virtualIds = virtualId.Split('/'); for (var i = 0; i < virtualIds.Length; i++) { var str = virtualIds[i]; var menuLink = _menuLinkService.GetByParentId(menuId, str); if (menuLink != null) { breadCrumbs.Add(new BreadCrumb { Title = menuLink.GetLocalized(x => x.MenuName, menuLink.Id), Current = false, Url = Url.Action("GetContent", "Menu", new { area = "", menu = menuLink.SeoUrl }) }); } } breadCrumbs.Add(new BreadCrumb { Current = true, Title = title }); ViewBag.BreadCrumb = breadCrumbs; var staticContent = _staticContentService.Get(x => x.MenuId == menuId, true); if (staticContent != null) { staticContent = staticContent.ToModel(); var viewCount = staticContent; viewCount.ViewCount = viewCount.ViewCount + 1; _staticContentService.Update(staticContent); //Lấy bannerId từ post để hiển thị banner trên post ViewBag.BannerId = staticContent.MenuId; ViewBag.Title = staticContent.Title; } ViewBag.MenuId = menuId; return(PartialView(staticContent)); }
public ActionResult Edit(StaticContentViewModel model, string returnUrl) { ActionResult action; try { if (!ModelState.IsValid) { ModelState.AddModelError("", MessageUI.ErrorMessage); return(View(model)); } var byId = _staticContentService.GetById(model.Id, false); var titleNonAccent = model.Title.NonAccent(); var bySeoUrl = _menuLinkService.GetListSeoUrl(titleNonAccent, false); model.SeoUrl = titleNonAccent; if (bySeoUrl.Any(x => x.Id != model.Id)) { var staticContentViewModel = model; staticContentViewModel.SeoUrl = Concat(staticContentViewModel.SeoUrl, "-", bySeoUrl.Count()); } if (model.Image != null && model.Image.ContentLength > 0) { var folderName = Utils.FolderName(model.Title); var fileExtension = Path.GetExtension(model.Image.FileName); var fileNameOriginal = Path.GetFileNameWithoutExtension(model.Image.FileName); var fileName = fileNameOriginal.FileNameFormat(fileExtension); _imagePlugin.CropAndResizeImage(model.Image, $"{Contains.StaticContentFolder}{folderName}/", fileName, ImageSize.StaticContentWithBigSize, ImageSize.StaticContentHeightBigSize, true); model.ImagePath = $"{Contains.StaticContentFolder}{folderName}/{fileName}"; //var extension = Path.GetExtension(model.Image.FileName); //var fileName = titleNonAccent.FileNameFormat(extension); //model.Image.SaveAs(Path.Combine(Server.MapPath(Concat("~/", Contains.StaticContentFolder)), fileName)); //model.ImagePath = Concat(Contains.StaticContentFolder, fileName); } if (model.MenuId > 0) { var menuLink = _menuLinkService.GetById(model.MenuId, false); model.MenuLink = Mapper.Map <MenuLink, MenuLinkViewModel>(menuLink); model.VirtualCategoryId = menuLink.VirtualId; } var modelMap = Mapper.Map(model, byId); _staticContentService.Update(modelMap); //Update Localized foreach (var localized in model.Locales) { _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.Title, localized.Title, localized.LanguageId); _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.ShortDesc, localized.ShortDesc, localized.LanguageId); _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.Description, localized.Description, localized.LanguageId); _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.SeoUrl, localized.Title.NonAccent(), localized.LanguageId); _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.MetaTitle, localized.MetaTitle, localized.LanguageId); _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.MetaKeywords, localized.MetaKeywords, localized.LanguageId); _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.MetaDescription, localized.MetaDescription, localized.LanguageId); } Response.Cookies.Add(new HttpCookie("system_message", Format(MessageUI.UpdateSuccess, FormUI.StaticContent))); if (!Url.IsLocalUrl(returnUrl) || returnUrl.Length <= 1 || !returnUrl.StartsWith("/") || returnUrl.StartsWith("//") || returnUrl.StartsWith("/\\")) { action = RedirectToAction("Index"); } else { action = Redirect(returnUrl); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); ExtentionUtils.Log(Concat("StaticContent.Edit: ", ex.Message)); return(View(model)); } return(action); }
public ActionResult Edit(StaticContentViewModel model, string returnUrl) { ActionResult action; try { if (!ModelState.IsValid) { ModelState.AddModelError("", MessageUI.ErrorMessage); return(View(model)); } var byId = _staticContentService.GetById(model.Id, false); var titleNonAccent = model.Title.NonAccent(); var bySeoUrl = _menuLinkService.GetListSeoUrl(titleNonAccent, false); model.SeoUrl = titleNonAccent; if (bySeoUrl.Any(x => x.Id != model.Id)) { var staticContentViewModel = model; staticContentViewModel.SeoUrl = Concat(staticContentViewModel.SeoUrl, "-", bySeoUrl.Count()); } ImageHandler(model); if (model.MenuId > 0) { var menuLink = _menuLinkService.GetMenu(model.MenuId, false); model.MenuLink = Mapper.Map <MenuLink, MenuLinkViewModel>(menuLink); model.VirtualCategoryId = menuLink.VirtualId; } var modelMap = Mapper.Map(model, byId); _staticContentService.Update(modelMap); //Update Localized foreach (var localized in model.Locales) { _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.Title, localized.Title, localized.LanguageId); _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.ShortDesc, localized.ShortDesc, localized.LanguageId); _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.Description, localized.Description, localized.LanguageId); _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.SeoUrl, localized.Title.NonAccent(), localized.LanguageId); _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.MetaTitle, localized.MetaTitle, localized.LanguageId); _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.MetaKeywords, localized.MetaKeywords, localized.LanguageId); _localizedPropertyService.SaveLocalizedValue(modelMap, x => x.MetaDescription, localized.MetaDescription, localized.LanguageId); } Response.Cookies.Add(new HttpCookie("system_message", Format(MessageUI.UpdateSuccess, FormUI.StaticContent))); if (!Url.IsLocalUrl(returnUrl) || returnUrl.Length <= 1 || !returnUrl.StartsWith("/") || returnUrl.StartsWith("//") || returnUrl.StartsWith("/\\")) { action = RedirectToAction("Index"); } else { action = Redirect(returnUrl); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); LogText.Log(Concat("StaticContent.Edit: ", ex.Message)); return(View(model)); } return(action); }