protected virtual void PrepareLanguagesModel(BlogPostModel model) { if (model == null) throw new ArgumentNullException("model"); var languages = _languageService.GetAllLanguages(true); foreach (var language in languages) { model.AvailableLanguages.Add(new SelectListItem { Text = language.Name, Value = language.Id.ToString() }); } }
protected virtual void PrepareStoresMappingModel(BlogPostModel model, BlogPost blogPost, bool excludeProperties) { if (model == null) throw new ArgumentNullException("model"); model.AvailableStores = _storeService .GetAllStores() .Select(s => s.ToModel()) .ToList(); if (!excludeProperties) { if (blogPost != null) { model.SelectedStoreIds = _storeMappingService.GetStoresIdsWithAccess(blogPost); } } }
protected virtual void PrepareStoresMappingModel(BlogPostModel model, BlogPost blogPost, bool excludeProperties) { if (model == null) throw new ArgumentNullException("model"); if (!excludeProperties && blogPost != null) model.SelectedStoreIds = _storeMappingService.GetStoresIdsWithAccess(blogPost).ToList(); var allStores = _storeService.GetAllStores(); foreach (var store in allStores) { model.AvailableStores.Add(new SelectListItem { Text = store.Name, Value = store.Id.ToString(), Selected = model.SelectedStoreIds.Contains(store.Id) }); } }
protected void SaveStoreMappings(BlogPost blogPost, BlogPostModel model) { var existingStoreMappings = _storeMappingService.GetStoreMappings(blogPost); var allStores = _storeService.GetAllStores(); foreach (var store in allStores) { if (model.SelectedStoreIds != null && model.SelectedStoreIds.Contains(store.Id)) { //new role if (existingStoreMappings.Count(sm => sm.StoreId == store.Id) == 0) _storeMappingService.InsertStoreMapping(blogPost, store.Id); } else { //removed role var storeMappingToDelete = existingStoreMappings.FirstOrDefault(sm => sm.StoreId == store.Id); if (storeMappingToDelete != null) _storeMappingService.DeleteStoreMapping(storeMappingToDelete); } } }
public ActionResult Edit(BlogPostModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageBlog)) return AccessDeniedView(); var blogPost = _blogService.GetBlogPostById(model.Id); if (blogPost == null) //No blog post found with the specified id return RedirectToAction("List"); if (ModelState.IsValid) { blogPost = model.ToEntity(blogPost); blogPost.StartDateUtc = model.StartDate; blogPost.EndDateUtc = model.EndDate; _blogService.UpdateBlogPost(blogPost); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.Blog.BlogPosts.Updated")); return continueEditing ? RedirectToAction("Edit", new { id = blogPost.Id }) : RedirectToAction("List"); } //If we got this far, something failed, redisplay form ViewBag.AllLanguages = _languageService.GetAllLanguages(true); return View(model); }
public ActionResult Create(BlogPostModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageBlog)) return AccessDeniedView(); if (ModelState.IsValid) { var blogPost = model.ToEntity(); blogPost.StartDateUtc = model.StartDate; blogPost.EndDateUtc = model.EndDate; blogPost.CreatedOnUtc = DateTime.UtcNow; _blogService.InsertBlogPost(blogPost); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.Blog.BlogPosts.Added")); return continueEditing ? RedirectToAction("Edit", new { id = blogPost.Id }) : RedirectToAction("List"); } //If we got this far, something failed, redisplay form ViewBag.AllLanguages = _languageService.GetAllLanguages(true); return View(model); }
public ActionResult Create() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageBlog)) return AccessDeniedView(); ViewBag.AllLanguages = _languageService.GetAllLanguages(true); var model = new BlogPostModel(); //default values model.AllowComments = true; return View(model); }
public ActionResult Edit(BlogPostModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageBlog)) return AccessDeniedView(); var blogPost = _blogService.GetBlogPostById(model.Id); if (blogPost == null) //No blog post found with the specified id return RedirectToAction("List"); if (ModelState.IsValid) { blogPost = model.ToEntity(blogPost); blogPost.StartDateUtc = model.StartDate; blogPost.EndDateUtc = model.EndDate; _blogService.UpdateBlogPost(blogPost); //search engine name var seName = blogPost.ValidateSeName(model.SeName, model.Title, true); _urlRecordService.SaveSlug(blogPost, seName, blogPost.LanguageId); //Stores SaveStoreMappings(blogPost, model); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.Blog.BlogPosts.Updated")); if (continueEditing) { //selected tab SaveSelectedTabIndex(); return RedirectToAction("Edit", new {id = blogPost.Id}); } return RedirectToAction("List"); } //If we got this far, something failed, redisplay form ViewBag.AllLanguages = _languageService.GetAllLanguages(true); //Store PrepareStoresMappingModel(model, blogPost, true); return View(model); }
public ActionResult Create(BlogPostModel model, bool continueEditing) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageBlog)) return AccessDeniedView(); if (ModelState.IsValid) { var blogPost = model.ToEntity(); blogPost.StartDateUtc = model.StartDate; blogPost.EndDateUtc = model.EndDate; blogPost.CreatedOnUtc = DateTime.UtcNow; _blogService.InsertBlogPost(blogPost); //search engine name var seName = blogPost.ValidateSeName(model.SeName, model.Title, true); _urlRecordService.SaveSlug(blogPost, seName, blogPost.LanguageId); //Stores SaveStoreMappings(blogPost, model); SuccessNotification(_localizationService.GetResource("Admin.ContentManagement.Blog.BlogPosts.Added")); return continueEditing ? RedirectToAction("Edit", new { id = blogPost.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 ActionResult Create() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageBlog)) return AccessDeniedView(); var model = new BlogPostModel(); //languages PrepareLanguagesModel(model); //Stores PrepareStoresMappingModel(model, null, false); //default values model.AllowComments = true; return View(model); }