Add BlogPostViewModel for view specific processing

This commit is contained in:
Robert Marshall 2019-04-28 07:56:25 +01:00
parent 647696aa92
commit dda522d221
6 changed files with 34 additions and 18 deletions

View file

@ -26,7 +26,8 @@ namespace Website.Controllers
public async Task<IActionResult> View(int id)
{
var post = await _repo.GetPostAsync(id);
return View(post);
var model = new BlogPostViewModel(post);
return View(model);
}
}
}

View file

@ -18,7 +18,8 @@ namespace Website.Controllers
public async Task<IActionResult> Index()
{
var post = await _blogRepo.GetLatestPostAsync();
return View(post);
var model = new BlogPostViewModel(post);
return View(model);
}
}
}

View file

@ -16,17 +16,12 @@ namespace Website.Models
UserId = state.User_Id;
}
public BlogPost()
{
}
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public DateTime Timestamp { get; set; }
public string Draft { get; set; }
public string Url { get; set; }
public int UserId { get; set; }
public int Id { get; private set; }
public string Title { get; private set; }
public string Content { get; private set; }
public DateTime Timestamp { get; private set; }
public string Draft { get; private set; }
public string Url { get; private set; }
public int UserId { get; private set; }
}
}

View file

@ -0,0 +1,21 @@
using System;
using Website.Models;
namespace Website.ViewModels
{
public class BlogPostViewModel
{
public BlogPostViewModel(BlogPost blogPost)
{
Title = blogPost.Title;
Content = blogPost.Content;
Timestamp = blogPost.Timestamp;
Url = blogPost.Url;
}
public string Title { get; private set; }
public string Content { get; private set; }
public DateTime Timestamp { get; private set; }
public string Url { get; private set; }
}
}

View file

@ -1,5 +1,4 @@
@using Website.Models;
@model BlogPost;
@model BlogPostViewModel;
@{
ViewData["Title"] = "Blog";

View file

@ -1,5 +1,4 @@
@using Website.Models;
@model BlogPost;
@model BlogPostViewModel;
@{
ViewData["Title"] = "Home";