public ActionResult Manage(int? id) { if (id.HasValue && id.Value < 1) { return this.HttpNotFound(); } ManageViewModel model = new ManageViewModel(); model.Category = id.HasValue && id > 0 ? this.categoryService.GetCategoryById(id.Value).MapTo<CategoryBinder>() : CategoryBinder.EmptyInstance(); model.Categories = id.HasValue ? this.categoryService.GetCategories().Where(x => x.Id != id.Value) : this.categoryService.GetCategories(); return this.View(model); }
public ActionResult Manage(int? id, CategoryBinder category) { if (!this.ModelState.IsValid) { ManageViewModel model = new ManageViewModel(); model.Category = category; model.Categories = id.HasValue ? this.categoryService.GetCategories().Where(x => x.Id != id.Value) : this.categoryService.GetCategories(); return this.View(model); } try { CategoryDto newCategory; if (id.HasValue && id.Value > 0) { newCategory = this.categoryService.GetCategoryById(id.Value); } else { newCategory = new CategoryDto(); } if (category.ParentId.HasValue) { newCategory.Parent = this.categoryService.GetCategoryById(category.ParentId.Value); } if (!string.IsNullOrEmpty(category.FeedBurnerUrl)) { newCategory.FeedBurnerUrl = new Uri(category.FeedBurnerUrl); } newCategory.Name = category.Name; newCategory.Description = category.Description; newCategory.IsDefault = category.IsDefault; this.categoryService.SaveOrUpdate(newCategory); return this.urlBuilder.Admin.FeedbackPage(FeedbackType.Positive, "Category Saved", this.urlBuilder.Admin.Category.List()).Redirect(); } catch (DexterException e) { this.Logger.ErrorFormat("Unable to save the specified category", e); return this.urlBuilder.Admin.FeedbackPage(FeedbackType.Negative, "Category Not Saved", this.urlBuilder.Admin.Category.List()).Redirect(); } }