//MyDbContext Db = new MyDbContext(); // // GET: /Wednesday/ public ActionResult BlogIndex(int id = -1) { if (id <= 0) { //return RedirectToAction("CreateBlog"); } BlogEntryViewModel vm = new BlogEntryViewModel(); vm.CurrentBlogEntry = Db.BlogEntries.Where(b => b.Id == id).FirstOrDefault(); vm.AllEntries = Db.BlogEntries.ToList(); vm.Comments = Db.Comments.ToList(); vm.AllTags = Db.Tags.ToList(); //int userid = (int)Session["userid"]; //Db.CurrentBlogger = Db.People.Where(p => p.Id == userid).FirstOrDefault(); if (vm.CurrentBlogEntry != null) { int authId; Int32.TryParse(vm.CurrentBlogEntry.AuthorId, out authId); vm.CurrentUser = Db.People.Where(p => p.Id == authId).FirstOrDefault(); vm.CurrentBlogEntry.ArticleComments = Db.Comments.Where(p => p.blogId == vm.CurrentBlogEntry.Id).ToList(); vm.CurrentBlogEntry.ArticleTags = Db.Tags.Where(p => p.articleId == vm.CurrentBlogEntry.Id).ToList(); } return(View(vm)); }
//MyDbContext Db = new MyDbContext(); // // GET: /Wednesday/ public ActionResult BlogIndex(int id = -1) { if (id <= 0) { //return RedirectToAction("CreateBlog"); } BlogEntryViewModel vm = new BlogEntryViewModel(); vm.CurrentBlogEntry = Db.BlogEntries.Where(b => b.Id == id).FirstOrDefault(); vm.AllEntries = Db.BlogEntries.ToList(); vm.Comments = Db.Comments.ToList(); vm.AllTags = Db.Tags.ToList(); //int userid = (int)Session["userid"]; //Db.CurrentBlogger = Db.People.Where(p => p.Id == userid).FirstOrDefault(); if (vm.CurrentBlogEntry != null) { int authId; Int32.TryParse(vm.CurrentBlogEntry.AuthorId, out authId); vm.CurrentUser = Db.People.Where(p => p.Id == authId).FirstOrDefault(); vm.CurrentBlogEntry.ArticleComments = Db.Comments.Where(p => p.blogId == vm.CurrentBlogEntry.Id).ToList(); vm.CurrentBlogEntry.ArticleTags = Db.Tags.Where(p => p.articleId == vm.CurrentBlogEntry.Id).ToList(); } return View(vm); }
public async Task <IActionResult> Create([Bind("Title,TitlePlacement,ShortDescription,Markdown,Html,ImageId,Image,ImagePlacement,ShowOnList,ShowFooter,Tags")] BlogEntryViewModel entry) { if (!ModelState.IsValid) { return(View(entry)); } Image image = null; if (entry.ImageId != null) { image = db.Images.Find(entry.ImageId); } List <string> tagStrs = (!String.IsNullOrWhiteSpace(entry.Tags)) ? entry.Tags.Split(',').Select(s => s.Trim().ToLower()).ToList() : new List <string>(); List <Tag> tags = new List <Tag>(); foreach (string tagStr in tagStrs) { Tag tag = await db.Tags.Where(t => t.Name == tagStr).FirstOrDefaultAsync(); if (tag == null) { tag = new Tag { Name = tagStr }; await db.Tags.AddAsync(tag); } tags.Add(tag); } BlogEntry newEntry = new BlogEntry { Title = entry.Title, ShortDescription = String.Join("\n", WebUtility.HtmlEncode(entry.ShortDescription) .Replace("\r", "") .Split("\n", StringSplitOptions.RemoveEmptyEntries) .Select(s => String.Format("<p>{0}</p>", s))), Markdown = entry.Markdown, Html = ShowcaseUtilities.SanitizeHtml(entry.Html), Image = image, ImagePlacement = entry.ImagePlacement, TitlePlacement = entry.TitlePlacement, ShowOnList = entry.ShowOnList, DateUploaded = DateTimeOffset.Now, Tags = tags }; db.BlogEntries.Add(newEntry); await db.SaveChangesAsync(); return(RedirectToAction(nameof(Show), new { id = newEntry.Id })); }
public virtual ActionResult Edit(int id, BlogEntryViewModel model) { try { // TODO: Add update logic here BlogEntry entry = new BlogEntry(); UpdateModel(entry); RavenSession.Store(entry); return(RedirectToAction("Details", new { Id = entry.Id })); } catch { return(View()); } }
public static BlogEntryViewModel Make(BlogEntry blogEntry) { var vm = new BlogEntryViewModel { Name = blogEntry.CreatedBy.Name, Email = blogEntry.CreatedBy.Email, BlogEntryId = blogEntry.BlogEntryId, Body = blogEntry.Body, CommentCount = blogEntry.CommentCount, Comments = BlogCommentViewModelFactory.Make(blogEntry.Comments), CommentsDisabled = blogEntry.CommentsDisabled, Created = blogEntry.Created, Modified = blogEntry.Modified, Title = blogEntry.Title, UrlFriendlyId = blogEntry.UrlFriendlyId, UserId = blogEntry.CreatedBy.UserId }; return(vm); }
public async Task <IActionResult> Edit([Bind("Id,Title,TitlePlacement,ShortDescription,Markdown,Html,ImageId,Image,ImagePlacement,ShowOnList,ShowFooter,Tags")] BlogEntryViewModel entry) { if (entry.Id == null) { return(BadRequest("\"id\" is null")); } BlogEntry oldEntry = await db.BlogEntries .Where(b => b.Id == entry.Id) .Include(b => b.Image) .Include(b => b.Tags) .FirstOrDefaultAsync(); if (oldEntry == null) { return(NotFound("Portfolio Entry not found")); } Image image = null; if (entry.ImageId != null) { image = await db.Images.FindAsync(entry.ImageId); if (image == null) { ModelState.AddModelError(nameof(entry.ImageId), String.Format("Image with id {0} not found;", entry.ImageId)); } } List <string> tagStrs = (!String.IsNullOrWhiteSpace(entry.Tags)) ? entry.Tags.Split(',').Select(s => s.Trim().ToLower()).ToList() : new List <string>(); List <Tag> tags = new List <Tag>(); foreach (string tagStr in tagStrs) { Tag tag = await db.Tags.Where(t => t.Name == tagStr).FirstOrDefaultAsync(); if (tag == null) { tag = new Tag { Name = tagStr }; await db.Tags.AddAsync(tag); } tags.Add(tag); } oldEntry.Id = (int)entry.Id; oldEntry.Title = entry.Title; oldEntry.TitlePlacement = entry.TitlePlacement; oldEntry.ShortDescription = String.Join("\n", WebUtility.HtmlEncode(entry.ShortDescription) .Replace("\r", "") .Split("\n", StringSplitOptions.RemoveEmptyEntries) .Select(s => String.Format("<p>{0}</p>", s))); oldEntry.Image = image; oldEntry.ImagePlacement = entry.ImagePlacement; oldEntry.Markdown = entry.Markdown; oldEntry.Html = ShowcaseUtilities.SanitizeHtml(entry.Html); oldEntry.ShowOnList = entry.ShowOnList; oldEntry.ShowFooter = entry.ShowFooter; oldEntry.Tags = tags; await db.SaveChangesAsync(); return(RedirectToAction(nameof(Show), new { id = entry.Id })); }