public ActionResult Create(NewsItemModel model, bool continueEditing, FormCollection form) { if (ModelState.IsValid) { var newsItem = model.ToEntity(); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; newsItem.CreatedOnUtc = model.CreatedOn; _newsService.InsertNews(newsItem); model.SeName = newsItem.ValidateSeName(model.SeName, newsItem.Title, true); _urlRecordService.SaveSlug(newsItem, model.SeName, 0); UpdateLocales(newsItem, model); SaveStoreMappings(newsItem, model.SelectedStoreIds); Services.EventPublisher.Publish(new ModelBoundEvent(model, newsItem, form)); NotifySuccess(T("Admin.ContentManagement.News.NewsItems.Added")); return(continueEditing ? RedirectToAction("Edit", new { id = newsItem.Id }) : RedirectToAction("List")); } // If we got this far, something failed, redisplay form. PrepareNewsItemModel(model, null); return(View(model)); }
public ActionResult Edit(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } var newsItem = _newsService.GetNewsById(model.Id); if (newsItem == null) { //No news item found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { newsItem = model.ToEntity(newsItem); _newsService.UpdateNews(newsItem); //search engine name var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName, 0); SuccessNotification("新闻编辑成功"); if (continueEditing) { return(RedirectToAction("Edit", new { id = newsItem.Id })); } return(RedirectToAction("List")); } return(View(model)); }
public ActionResult Create(NewsItemModel model, bool continueEditing, FormCollection form) { if (ModelState.IsValid) { var newsItem = model.ToEntity(); MediaHelper.UpdatePictureTransientStateFor(newsItem, c => c.PictureId); MediaHelper.UpdatePictureTransientStateFor(newsItem, c => c.PreviewPictureId); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; newsItem.CreatedOnUtc = DateTime.UtcNow; _newsService.InsertNews(newsItem); // Search engine name. var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName, newsItem.LanguageId); SaveStoreMappings(newsItem, model.SelectedStoreIds); Services.EventPublisher.Publish(new ModelBoundEvent(model, newsItem, form)); NotifySuccess(T("Admin.ContentManagement.News.NewsItems.Added")); return(continueEditing ? RedirectToAction("Edit", new { id = newsItem.Id }) : RedirectToAction("List")); } // If we got this far, something failed, redisplay form. ViewBag.AllLanguages = _languageService.GetAllLanguages(true); PrepareStoresMappingModel(model, null, true); return(View(model)); }
public ActionResult Edit(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } var newsItem = _newsService.GetNewsById(model.Id); if (newsItem == null) { //No news item found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { newsItem = model.ToEntity(newsItem); _newsService.UpdateNews(newsItem); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Updated")); return(continueEditing ? RedirectToAction("Edit", new { id = newsItem.Id }) : RedirectToAction("List")); } //If we got this far, something failed, redisplay form ViewBag.AllLanguages = _languageService.GetAllLanguages(true); return(View(model)); }
public ActionResult Create(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } if (ModelState.IsValid) { var newsItem = model.ToEntity(); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; newsItem.CreatedOnUtc = DateTime.UtcNow; _newsService.InsertNews(newsItem); //search engine name var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName, newsItem.LanguageId); //Stores _storeMappingService.SaveStoreMappings <NewsItem>(newsItem, model.SelectedStoreIds); NotifySuccess(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Added")); return(continueEditing ? RedirectToAction("Edit", new { id = newsItem.Id }) : RedirectToAction("List")); } //If we got this far, something failed, redisplay form ViewBag.AllLanguages = _languageService.GetAllLanguages(true); //Stores PrepareStoresMappingModel(model, null, true); return(View(model)); }
public virtual NewsItem UpdateNewsItemModel(NewsItem newsItem, NewsItemModel model) { string prevPictureId = newsItem.PictureId; newsItem = model.ToEntity(newsItem); var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); newsItem.SeName = seName; newsItem.Locales = model.Locales.ToLocalizedProperty(newsItem, x => x.Title, _urlRecordService); _newsService.UpdateNews(newsItem); //search engine name _urlRecordService.SaveSlug(newsItem, seName, ""); //delete an old picture (if deleted or updated) if (!String.IsNullOrEmpty(prevPictureId) && prevPictureId != newsItem.PictureId) { var prevPicture = _pictureService.GetPictureById(prevPictureId); if (prevPicture != null) { _pictureService.DeletePicture(prevPicture); } } //update picture seo file name _pictureService.UpdatePictureSeoNames(newsItem.PictureId, newsItem.Title); return(newsItem); }
public virtual async Task <NewsItem> UpdateNewsItemModel(NewsItem newsItem, NewsItemModel model) { string prevPictureId = newsItem.PictureId; newsItem = model.ToEntity(newsItem, _dateTimeHelper); var seName = await newsItem.ValidateSeName(model.SeName, model.Title, true, _serviceProvider.GetRequiredService <SeoSettings>(), _urlRecordService, _serviceProvider.GetRequiredService <ILanguageService>()); newsItem.SeName = seName; newsItem.Locales = await model.Locales.ToLocalizedProperty(newsItem, x => x.Title, _serviceProvider.GetRequiredService <SeoSettings>(), _urlRecordService, _serviceProvider.GetRequiredService <ILanguageService>()); await _newsService.UpdateNews(newsItem); //search engine name await _urlRecordService.SaveSlug(newsItem, seName, ""); //delete an old picture (if deleted or updated) if (!String.IsNullOrEmpty(prevPictureId) && prevPictureId != newsItem.PictureId) { var prevPicture = await _pictureService.GetPictureById(prevPictureId); if (prevPicture != null) { await _pictureService.DeletePicture(prevPicture); } } //update picture seo file name await _pictureService.UpdatePictureSeoNames(newsItem.PictureId, newsItem.Title); return(newsItem); }
public ActionResult Edit(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } var newsItem = _newsService.GetNewsById(model.Id); if (newsItem == null) { //No news item found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { int prevPictureId = newsItem.PictureId; newsItem = model.ToEntity(newsItem); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; _newsService.UpdateNews(newsItem); //search engine name var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName, newsItem.LanguageId); //Stores SaveStoreMappings(newsItem, model); //delete an old picture (if deleted or updated) if (prevPictureId > 0 && prevPictureId != newsItem.PictureId) { var prevPicture = _pictureService.GetPictureById(prevPictureId); if (prevPicture != null) { _pictureService.DeletePicture(prevPicture); } } //update picture seo file name UpdatePictureSeoNames(newsItem); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Updated")); if (continueEditing) { //selected tab SaveSelectedTabIndex(); return(RedirectToAction("Edit", new { id = newsItem.Id })); } return(RedirectToAction("List")); } //If we got this far, something failed, redisplay form ViewBag.AllLanguages = _languageService.GetAllLanguages(true); //Store PrepareStoresMappingModel(model, newsItem, true); return(View(model)); }
public virtual IActionResult NewsItemCreate(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } if (ModelState.IsValid) { //if (model.PictureId > 0) //{ // var picture = _pictureService.GetPictureById(model.PictureId); // _pictureService.UpdatePicture(picture.Id, // _pictureService.LoadPictureBinary(picture), // picture.MimeType, // picture.SeoFilename // ); // _pictureService.SetSeoFilename(picture.Id, _pictureService.GetPictureSeName(model.SeName)); //} var newsItem = model.ToEntity <NewsItem>(); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; newsItem.CreatedOnUtc = DateTime.UtcNow; _newsService.InsertNews(newsItem); //activity log _customerActivityService.InsertActivity("AddNewNews", string.Format(_localizationService.GetResource("ActivityLog.AddNewNews"), newsItem.Id), newsItem); //search engine name var seName = _urlRecordService.ValidateSeName(newsItem, model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName, newsItem.LanguageId); //Stores SaveStoreMappings(newsItem, model); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Added")); if (!continueEditing) { return(RedirectToAction("List")); } //selected tab SaveSelectedTabName(); return(RedirectToAction("NewsItemEdit", new { id = newsItem.Id })); } //prepare model model = _newsModelFactory.PrepareNewsItemModel(model, null, true); //if we got this far, something failed, redisplay form return(View(model)); }
public ActionResult Edit(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } var newsItem = _newsService.GetNewsById(model.Id); if (newsItem == null) { //No news item found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { newsItem = model.ToEntity(newsItem); newsItem.CreatedOnUtc = _dateTimeHelper.ConvertToUtcTime(model.CreatedOn, _dateTimeHelper.CurrentTimeZone); _newsService.UpdateNews(newsItem); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Updated")); return(continueEditing ? RedirectToAction("Edit", new { id = newsItem.Id }) : RedirectToAction("List")); } //If we got this far, something failed, redisplay form ViewBag.AllLanguages = _languageService.GetAllLanguages(true); PrepareAddNewsItemPictureModel(model); //categories model.AvailableCategories.Add(new SelectListItem() { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); foreach (var c in _categoryService.GetAllCategories(true)) { model.AvailableCategories.Add(new SelectListItem() { Text = c.GetCategoryNameWithPrefix(_categoryService), Value = c.Id.ToString() }); } //manufacturers model.AvailableManufacturers.Add(new SelectListItem() { Text = _localizationService.GetResource("Admin.Common.All"), Value = "0" }); foreach (var m in _manufacturerService.GetAllManufacturers(true)) { model.AvailableManufacturers.Add(new SelectListItem() { Text = m.Name, Value = m.Id.ToString() }); } return(View(model)); }
public ActionResult Edit(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } var newsItem = _newsService.GetNewsById(model.Id); if (newsItem == null) { //No news item found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { newsItem = model.ToEntity(newsItem); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; newsItem.CustomerRoles = model.SelectedCustomerRoleIds != null?model.SelectedCustomerRoleIds.ToList() : new List <int>(); newsItem.Stores = model.SelectedStoreIds != null?model.SelectedStoreIds.ToList() : new List <int>(); var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); newsItem.SeName = seName; _newsService.UpdateNews(newsItem); //search engine name _urlRecordService.SaveSlug(newsItem, seName, newsItem.LanguageId); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Updated")); if (continueEditing) { //selected tab SaveSelectedTabIndex(); return(RedirectToAction("Edit", new { id = newsItem.Id })); } return(RedirectToAction("List")); } //If we got this far, something failed, redisplay form ViewBag.AllLanguages = _languageService.GetAllLanguages(true); //Store PrepareStoresMappingModel(model, newsItem, true); //ACL PrepareAclModel(model, newsItem, false); return(View(model)); }
public virtual ActionResult Edit(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } var newsItem = _newsService.GetNewsById(model.Id); if (newsItem == null) { //No news item found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { newsItem = model.ToEntity(newsItem); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; _newsService.UpdateNews(newsItem); //activity log _customerActivityService.InsertActivity("EditNews", _localizationService.GetResource("ActivityLog.EditNews"), newsItem.Id); //search engine name var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName, newsItem.LanguageId); //Stores SaveStoreMappings(newsItem, model); //tags _newsTagService.UpdateNewsTags(newsItem, ParseNewsTags(model.NewsTags)); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Updated")); if (continueEditing) { //selected tab SaveSelectedTabName(); return(RedirectToAction("Edit", new { id = newsItem.Id })); } return(RedirectToAction("List")); } //If we got this far, something failed, redisplay form PrepareLanguagesModel(model); PrepareStoresMappingModel(model, newsItem, true); return(View(model)); }
public virtual IActionResult NewsItemCreate(NewsItemModel model, bool continueEditing) { if (ModelState.IsValid) { NewsItem newsItem = model.ToEntity <NewsItem>(); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; newsItem.CreatedOnUtc = DateTime.UtcNow; newsItem.PictureId = model.PictureId; newsItem.CustomerId = model.CustomerId == 0 ? 0 : model.CustomerId; _newsService.InsertNews(newsItem); if (model.SelectedCategoryIds.Any()) { foreach (int categoryId in model.SelectedCategoryIds) { newsItem.CategoryNews.Add(new CategoryNews { CategoryId = categoryId, NewsId = newsItem.Id, DisplayOrder = 1 }); _newsService.UpdateNews(newsItem); } } //activity log _customerActivityService.InsertActivity("AddNewNews", string.Format("AddNewNews{0}", newsItem.Id), newsItem); //search engine name string seName = _urlRecordService.ValidateSeName(newsItem, model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName); SuccessNotification("Haber Eklendi"); if (!continueEditing) { return(RedirectToAction("List")); } //selected tab SaveSelectedTabName(); return(RedirectToAction("NewsItemEdit", new { id = newsItem.Id })); } //prepare model model = _newsModelFactory.PrepareNewsItemModel(model, null, true); //if we got this far, something failed, redisplay form return(View(model)); }
public virtual IActionResult NewsItemEdit(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } //try to get a news item with the specified id var newsItem = _newsService.GetNewsById(model.Id); if (newsItem == null) { return(RedirectToAction("NewsItems")); } if (ModelState.IsValid) { newsItem = model.ToEntity(newsItem); _newsService.UpdateNews(newsItem); //activity log _customerActivityService.InsertActivity("EditNews", string.Format(_localizationService.GetResource("ActivityLog.EditNews"), newsItem.Id), newsItem); //search engine name var seName = _urlRecordService.ValidateSeName(newsItem, model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName, newsItem.LanguageId); //stores SaveStoreMappings(newsItem, model); _notificationService.SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Updated")); if (!continueEditing) { return(RedirectToAction("NewsItems")); } //selected tab SaveSelectedTabName(); return(RedirectToAction("NewsItemEdit", new { id = newsItem.Id })); } //prepare model model = _newsModelFactory.PrepareNewsItemModel(model, newsItem, true); //if we got this far, something failed, redisplay form return(View(model)); }
public ActionResult Translate(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } if (ModelState.IsValid) { if (model.Published) { if (model.PublishingDate == null) { model.PublishingDate = DateTime.UtcNow; } } var newsItem = model.ToEntity(); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; newsItem.CreatedOnUtc = model.CreatedOn; if (model.CompanyId != 0) { var sellers = _customerService.GetCustomersByCustomerRoleId(_customerService.GetCustomerRoleBySystemName("Sellers").Id); var seller = sellers.Where(x => x.CompanyInformationId == model.CompanyId).FirstOrDefault(); newsItem.Customer = seller; } _newsService.InsertNews(newsItem); //search engine name var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName, newsItem.LanguageId); _genericAttributeService.SaveAttribute <int>(newsItem, SystemCustomerAttributeNames.PictureId, model.PictureId); _genericAttributeService.SaveAttribute <int>(newsItem, SystemCustomerAttributeNames.PictureCatalogId, model.CatalogPictureId); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Added")); if (!continueEditing) { return(RedirectToAction("List")); } else { return(RedirectToAction("Edit", new { id = newsItem.Id })); } } //If we got this far, something failed, redisplay form ViewBag.AllLanguages = _languageService.GetAllLanguages(true); return(View(model)); }
public virtual NewsItem InsertNewsItemModel(NewsItemModel model) { var newsItem = model.ToEntity(); newsItem.CreatedOnUtc = DateTime.UtcNow; _newsService.InsertNews(newsItem); var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); newsItem.SeName = seName; newsItem.Locales = model.Locales.ToLocalizedProperty(newsItem, x => x.Title, _urlRecordService); _newsService.UpdateNews(newsItem); //search engine name _urlRecordService.SaveSlug(newsItem, seName, ""); //update picture seo file name _pictureService.UpdatePictureSeoNames(newsItem.PictureId, newsItem.Title); return(newsItem); }
public virtual IActionResult Create(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } if (ModelState.IsValid) { var newsItem = model.ToEntity(); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; newsItem.CreatedOnUtc = DateTime.UtcNow; _newsService.InsertNews(newsItem); //activity log _customerActivityService.InsertActivity("AddNewNews", string.Format(_localizationService.GetResource("ActivityLog.AddNewNews"), newsItem.Id), newsItem); //search engine name var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName, newsItem.LanguageId); //Stores SaveStoreMappings(newsItem, model); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Added")); if (continueEditing) { //selected tab SaveSelectedTabName(); return(RedirectToAction("Edit", new { id = newsItem.Id })); } return(RedirectToAction("List")); } //If we got this far, something failed, redisplay form PrepareLanguagesModel(model); PrepareStoresMappingModel(model, null, true); return(View(model)); }
public ActionResult AddNews(NewsItemModel model) { var customer = _workContext.CurrentCustomer; if (customer.CustomerRoles.Where(x => x.SystemName == "Sellers").FirstOrDefault() == null) { return(RedirectToRoute("/Home/Index")); } if (ModelState.IsValid) { var newItem = model.ToEntity(_workContext.CurrentCustomer.Id); if (!_newsSettings.EnablePremoderation) { newItem.Published = true; newItem.PublishingDate = DateTime.UtcNow; } else { if (newItem.ExtendedProfileOnly == (int)NewsDisplayEnum.MiniSite) { newItem.Published = true; newItem.PublishingDate = DateTime.UtcNow; } } _newsService.InsertNews(newItem); var seName = newItem.ValidateSeName(null, newItem.Title, true); _urlRecordService.SaveSlug(newItem, seName, newItem.LanguageId); _genericAttributeService.SaveAttribute <int>(newItem, SystemCustomerAttributeNames.PictureId, model.PictureId); _genericAttributeService.SaveAttribute <int>(newItem, SystemCustomerAttributeNames.PictureCatalogId, model.CatalogPictureId); return(RedirectToAction("ManageNews")); } model.CustomerId = customer.Id; model.AviableLanguages = _languageService.GetAllLanguages().Select(x => new LanguageModel() { Id = x.Id, Name = x.Name }).ToList(); model.WorkingLanguageId = _workContext.WorkingLanguage.Id; return(View(model)); }
public IActionResult Create(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } if (ModelState.IsValid) { var newsItem = model.ToEntity(); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; newsItem.CreatedOnUtc = DateTime.UtcNow; newsItem.CustomerRoles = model.SelectedCustomerRoleIds != null?model.SelectedCustomerRoleIds.ToList() : new List <string>(); newsItem.Stores = model.SelectedStoreIds != null?model.SelectedStoreIds.ToList() : new List <string>(); _newsService.InsertNews(newsItem); var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); newsItem.SeName = seName; newsItem.Locales = UpdateLocales(newsItem, model); _newsService.UpdateNews(newsItem); //search engine name _urlRecordService.SaveSlug(newsItem, seName, ""); //update picture seo file name UpdatePictureSeoNames(newsItem); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Added")); return(continueEditing ? RedirectToAction("Edit", new { id = newsItem.Id }) : RedirectToAction("List")); } //If we got this far, something failed, redisplay form ViewBag.AllLanguages = _languageService.GetAllLanguages(true); //Stores PrepareStoresMappingModel(model, null, true); //ACL PrepareAclModel(model, null, true); return(View(model)); }
public virtual async Task <IActionResult> NewsItemCreate(NewsItemModel model, bool continueEditing) { if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } if (ModelState.IsValid) { var newsItem = model.ToEntity <NewsItem>(); newsItem.CreatedOnUtc = DateTime.UtcNow; await _newsService.InsertNewsAsync(newsItem); //activity log await _customerActivityService.InsertActivityAsync("AddNewNews", string.Format(await _localizationService.GetResourceAsync("ActivityLog.AddNewNews"), newsItem.Id), newsItem); //search engine name var seName = await _urlRecordService.ValidateSeNameAsync(newsItem, model.SeName, model.Title, true); await _urlRecordService.SaveSlugAsync(newsItem, seName, newsItem.LanguageId); //Stores await SaveStoreMappingsAsync(newsItem, model); _notificationService.SuccessNotification(await _localizationService.GetResourceAsync("Admin.ContentManagement.News.NewsItems.Added")); if (!continueEditing) { return(RedirectToAction("NewsItems")); } return(RedirectToAction("NewsItemEdit", new { id = newsItem.Id })); } //prepare model model = await _newsModelFactory.PrepareNewsItemModelAsync(model, null, true); //if we got this far, something failed, redisplay form return(View(model)); }
public ActionResult Create(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } if (ModelState.IsValid) { var newsItem = model.ToEntity(); newsItem.CreatedOnUtc = DateTime.UtcNow; _newsService.InsertNews(newsItem); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Added")); return(continueEditing ? RedirectToAction("Edit", new { id = newsItem.Id }) : RedirectToAction("List")); } //If we got this far, something failed, redisplay form ViewBag.AllLanguages = _languageService.GetAllLanguages(true); return(View(model)); }
public ActionResult Edit(NewsItemModel model, bool continueEditing, FormCollection form) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } var newsItem = _newsService.GetNewsById(model.Id); if (newsItem == null) { return(RedirectToAction("List")); } if (ModelState.IsValid) { newsItem = model.ToEntity(newsItem); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; _newsService.UpdateNews(newsItem); // Search engine name. var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName, newsItem.LanguageId); SaveStoreMappings(newsItem, model); Services.EventPublisher.Publish(new ModelBoundEvent(model, newsItem, form)); NotifySuccess(T("Admin.ContentManagement.News.NewsItems.Updated")); return(continueEditing ? RedirectToAction("Edit", new { id = newsItem.Id }) : RedirectToAction("List")); } // If we got this far, something failed, redisplay form. ViewBag.AllLanguages = _languageService.GetAllLanguages(true); PrepareStoresMappingModel(model, newsItem, true); return(View(model)); }
public ActionResult Create(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } if (ModelState.IsValid) { var newsItem = model.ToEntity(); newsItem.CreatedOn = DateTime.Now; _newsService.InsertNews(newsItem); _urlRecordService.SaveSlug(newsItem, newsItem.Title, 0); //var seName=newsItem.ValidateSeName if (continueEditing) { return(RedirectToAction("Edit", new { id = newsItem.Id })); } return(RedirectToAction("List")); } return(View(model)); }
public virtual async Task <NewsItem> InsertNewsItemModel(NewsItemModel model) { var newsItem = model.ToEntity(); newsItem.CreatedOnUtc = DateTime.UtcNow; await _newsService.InsertNews(newsItem); var seName = await newsItem.ValidateSeName(model.SeName, model.Title, true, _serviceProvider.GetRequiredService <SeoSettings>(), _urlRecordService, _serviceProvider.GetRequiredService <ILanguageService>()); newsItem.SeName = seName; newsItem.Locales = await model.Locales.ToLocalizedProperty(newsItem, x => x.Title, _serviceProvider.GetRequiredService <SeoSettings>(), _urlRecordService, _serviceProvider.GetRequiredService <ILanguageService>()); await _newsService.UpdateNews(newsItem); //search engine name await _urlRecordService.SaveSlug(newsItem, seName, ""); //update picture seo file name await _pictureService.UpdatePictureSeoNames(newsItem.PictureId, newsItem.Title); return(newsItem); }
public ActionResult Edit(NewsItemModel model) { if (model.CustomerId != _workContext.CurrentCustomer.Id) { return(RedirectToRoute("HomePage")); } if (ModelState.IsValid) { var newsItem = _newsService.GetNewsById(model.Id); newsItem = model.ToEntity(newsItem, model.CustomerId); newsItem.Published = false; newsItem.Id = model.Id; newsItem.LanguageId = model.Language; if (!_newsSettings.EnablePremoderation) { newsItem.Published = true; if (!newsItem.PublishingDate.HasValue) { newsItem.PublishingDate = DateTime.UtcNow; } } else { if (newsItem.ExtendedProfileOnly == (int)NewsDisplayEnum.MiniSite) { newsItem.Published = true; if (!newsItem.PublishingDate.HasValue) { newsItem.PublishingDate = DateTime.UtcNow; } } } _newsService.UpdateNews(newsItem); //Clear old slug _urlRecordService.ClearEntitySlug <NewsItem>(newsItem, newsItem.LanguageId); var seName = newsItem.ValidateSeName(null, newsItem.Title, true); _urlRecordService.SaveSlug(newsItem, seName, newsItem.LanguageId); var oldPictureId = newsItem.GetAttribute <int>(SystemCustomerAttributeNames.PictureId); if (oldPictureId != 0 && oldPictureId != model.PictureId) { var pict = _pictureService.GetPictureById(oldPictureId); if (pict != null) { _pictureService.DeletePicture(pict); } } _genericAttributeService.SaveAttribute <int>(newsItem, SystemCustomerAttributeNames.PictureId, model.PictureId); oldPictureId = newsItem.GetAttribute <int>(SystemCustomerAttributeNames.PictureCatalogId); if (oldPictureId != 0 && oldPictureId != model.CatalogPictureId) { var pict = _pictureService.GetPictureById(oldPictureId); if (pict != null) { _pictureService.DeletePicture(pict); } } _genericAttributeService.SaveAttribute <int>(newsItem, SystemCustomerAttributeNames.PictureCatalogId, model.CatalogPictureId); return(RedirectToAction("ManageNews", new { sellerId = _workContext.CurrentCustomer.Id, pagenumber = model.PageNumber })); } return(View(model)); }
public ActionResult Edit(NewsItemModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } var newsItem = _newsService.GetNewsById(model.Id); if (newsItem == null) { //No news item found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { bool featured = newsItem.Featured; bool published = newsItem.Published; model.StartDate = newsItem.StartDateUtc; model.EndDate = newsItem.EndDateUtc; model.PublishingDate = newsItem.PublishingDate; newsItem = model.ToEntity(newsItem); newsItem.Featured = featured; newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; if (!model.Published) { newsItem.Published = false; } else { if (model.PublishingDate == null) { newsItem.PublishingDate = DateTime.UtcNow; if (newsItem.Customer != null && !published) { _newPublicationEmailSender.SendNewsPublicationNotification(newsItem); } } else { if (newsItem.Customer != null && !published) { _newPublicationEmailSender.SendNewsPublicationNotification(newsItem); } } newsItem.Published = true; } _urlRecordService.ClearEntitySlug(newsItem, newsItem.LanguageId); _newsService.UpdateNews(newsItem); //search engine name var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName, newsItem.LanguageId); _genericAttributeService.SaveAttribute <int>(newsItem, SystemCustomerAttributeNames.PictureId, model.PictureId); _genericAttributeService.SaveAttribute <int>(newsItem, SystemCustomerAttributeNames.PictureCatalogId, model.CatalogPictureId); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Updated")); return(continueEditing ? RedirectToAction("Edit", new { id = newsItem.Id }) : RedirectToAction("List")); } model.CompanyId = newsItem.Customer == null ? 0 : newsItem.Customer.CompanyInformationId.Value; //If we got this far, something failed, redisplay form ViewBag.AllLanguages = _languageService.GetAllLanguages(true); return(View(model)); }
public ActionResult Edit(NewsItemModel model, bool continueEditing, HttpPostedFileBase file) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageNews)) { return(AccessDeniedView()); } var newsItem = _newsService.GetNewsById(model.Id); if (newsItem == null) { //No news item found with the specified id return(RedirectToAction("List")); } if (ModelState.IsValid) { newsItem = model.ToEntity(newsItem); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; if (file == null) { newsItem.Picture = model.Picture; } else { var fileName = Path.GetFileName(file.FileName); // move file to folder var path = Path.Combine(Server.MapPath("~/Content/Images/Thumbs/"), fileName); if (System.IO.File.Exists(path)) { ViewBag.Error = " File ảnh đã tồn tại"; } else { file.SaveAs(path); } newsItem.Picture = file.FileName; } _newsService.UpdateNews(newsItem); //search engine name var seName = newsItem.ValidateSeName(model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName, newsItem.LanguageId); //Stores SaveStoreMappings(newsItem, model); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.News.NewsItems.Updated")); if (continueEditing) { //selected tab SaveSelectedTabName(); return(RedirectToAction("Edit", new { id = newsItem.Id })); } return(RedirectToAction("List")); } //If we got this far, something failed, redisplay form PrepareLanguagesModel(model); PrepareStoresMappingModel(model, newsItem, true); return(View(model)); }
public virtual IActionResult NewsItemEdit(NewsItemModel model, bool continueEditing) { //try to get a news item with the specified id NewsItem newsItem = _newsService.GetNewsById(model.Id); if (newsItem == null) { return(RedirectToAction("List")); } if (ModelState.IsValid) { newsItem = model.ToEntity(newsItem); newsItem.StartDateUtc = model.StartDate; newsItem.EndDateUtc = model.EndDate; newsItem.PictureId = model.PictureId; _newsService.UpdateNews(newsItem); if (model.SelectedCategoryIds.Any()) { bool ctnews = newsItem.CategoryNews.Any(x => model.SelectedCategoryIds.Contains(x.CategoryId)); if (ctnews) { var catNewsList = _categoryService.GetNewsItemCategoriesByNewsId(newsItem.Id); foreach (var categoryNews in catNewsList) { _categoryService.DeleteCategoryNews(categoryNews); } } foreach (int categoryId in model.SelectedCategoryIds) { newsItem.CategoryNews.Add(new CategoryNews { CategoryId = categoryId, NewsId = newsItem.Id, DisplayOrder = 1 }); _newsService.UpdateNews(newsItem); } } //activity log _customerActivityService.InsertActivity("EditNews", string.Format("EditNews{0}", newsItem.Id), newsItem); //search engine name string seName = _urlRecordService.ValidateSeName(newsItem, model.SeName, model.Title, true); _urlRecordService.SaveSlug(newsItem, seName); SuccessNotification("Haber Güncellendi"); if (!continueEditing) { return(RedirectToAction("List")); } //selected tab SaveSelectedTabName(); return(RedirectToAction("NewsItemEdit", new { id = newsItem.Id })); } //prepare model model = _newsModelFactory.PrepareNewsItemModel(model, newsItem, true); //if we got this far, something failed, redisplay form return(View(model)); }