public ActionResult AddTag(Tag tag) { try { if (ModelState.IsValid) { if (_tagService.GetTag(tag.Name) != null) { throw new DataException(); } _tagService.CreateTag(tag); return RedirectToAction("Tags", "Administrator"); } } catch (DataException) { ModelState.AddModelError("", "Tag name already exists. Please enter a different tag name.."); } return View("AddTag"); }
public ActionResult Create(EntryViewModel entry) { try { if (ModelState.IsValid) { var newEntry = new Entry {Title = entry.Title, EntryBody = entry.EntryBody}; Blog blog = _blogService.GetBlog(_blogService.GetBlogID((Guid)System.Web.Security.Membership.GetUser().ProviderUserKey)); newEntry.Blog = blog; if (!String.IsNullOrEmpty(entry.Tags)) { IEnumerable<string> tags = TagEditor.SplitTags(entry.Tags).Distinct(); newEntry.Tags = new List<Tag>(); foreach (var tag in tags) { var tmp = _tagService.GetTag(tag.Trim()); if (tmp == null) { tmp = new Tag { Name = tag.Trim() }; _tagService.CreateTag(tmp); } newEntry.Tags.Add(tmp); } } _entryService.CreateEntry(newEntry); return RedirectToAction("Entries", "Blog", new { id = blog.ID }); } } catch (DataException) { ModelState.AddModelError("", "Error! Unable to create entry."); } return View("Create"); }
public void UpdateTag(Tag tag) { _tagRepository.Update(tag); }
public void CreateTag(Tag tag) { _tagRepository.Create(tag); }
public ActionResult EditTag(Tag tag) { try { if (ModelState.IsValid) { Tag tagToUpdate = _tagService.GetTag(tag.ID); tagToUpdate.Name = tag.Name; _tagService.UpdateTag(tagToUpdate); return RedirectToAction("Tags", "Administrator"); } } catch (DataException) { ModelState.AddModelError("", "Unable to edit tag. Please correct the errors and try again."); } return View("EditTag"); }
public ActionResult EditEntry(EntryEditModel entry) { try { if (ModelState.IsValid) { Entry entryToUpdate = _entryService.GetEntry(entry.ID); entryToUpdate.Title = entry.Title; entryToUpdate.EntryBody = entry.EntryBody; if (entry.Tags != null) { IEnumerable<string> tags = TagEditor.SplitTags(entry.Tags).Distinct(); entryToUpdate.Tags = new List<Tag>(); foreach (var tag in tags) { var tmp = _tagService.GetTag(tag.Trim()); if (tmp == null) { tmp = new Tag { Name = tag.Trim() }; _tagService.CreateTag(tmp); } entryToUpdate.Tags.Add(tmp); } } else { entryToUpdate.Tags = null; } _entryService.UpdateEntry(entryToUpdate); return RedirectToAction("Entries", "Administrator", new { id = entryToUpdate.Blog.ID }); } } catch (DataException) { ModelState.AddModelError("", "Произошла ошибка. Невозможно отредактировать запись."); } return View("~/Views/Entry/Edit.cshtml"); }
public ActionResult Edit(EntryEditModel entry) { try { if (ModelState.IsValid) { Entry entryToUpdate = _entryService.GetEntry(entry.ID); entryToUpdate.Title = entry.Title; entryToUpdate.EntryBody = entry.EntryBody; if (entry.Tags != null) { IEnumerable<string> tags = TagEditor.SplitTags(entry.Tags).Distinct(); entryToUpdate.Tags = new List<Tag>(); foreach (var tag in tags) { var tmp = _tagService.GetTag(tag.Trim()); if (tmp == null) { tmp = new Tag { Name = tag.Trim() }; _tagService.CreateTag(tmp); } entryToUpdate.Tags.Add(tmp); } } else { entryToUpdate.Tags = null; } _entryService.UpdateEntry(entryToUpdate); return RedirectToAction("Entries", "Blog", new { id = entryToUpdate.Blog.ID }); } } catch (DataException) { ModelState.AddModelError("", "Error! Unable to edit entry."); } return View("Edit"); }