Getting a forum with id's works
This commit is contained in:
parent
475f0d539c
commit
bf9ec07808
@ -43,6 +43,7 @@
|
||||
<Compile Include="DTOs\FoorumDTO.cs" />
|
||||
<Compile Include="DTOs\PostDTO.cs" />
|
||||
<Compile Include="Factories\FoorumFactory.cs" />
|
||||
<Compile Include="Factories\PostFactory.cs" />
|
||||
<Compile Include="Interfaces\IFoorumService.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Services\FoorumService.cs" />
|
||||
|
@ -10,6 +10,10 @@ namespace BL.DTOs
|
||||
{
|
||||
public int PostId { get; set; }
|
||||
public string Title { get; set; }
|
||||
public string Body { get; set; }
|
||||
public DateTime CreationTime { get; set; }
|
||||
public string Author { get; set; }
|
||||
public FoorumDTO Foorum { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ namespace BL.Factories
|
||||
{
|
||||
public class FoorumFactory
|
||||
{
|
||||
private readonly PostFactory _postFactory = new PostFactory();
|
||||
public FoorumDTO Create(Foorum f, bool withPosts = false)
|
||||
{
|
||||
var dto = new FoorumDTO()
|
||||
@ -23,9 +24,8 @@ namespace BL.Factories
|
||||
|
||||
if (withPosts)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
//dto.Posts = new List<PostDTO>();
|
||||
//f.Posts.ForEach(p => {dto.Posts.Add();});
|
||||
dto.Posts = new List<PostDTO>();
|
||||
f.Posts.ForEach(p => {dto.Posts.Add(_postFactory.Create(p));});
|
||||
}
|
||||
|
||||
return dto;
|
||||
|
33
BL/Factories/PostFactory.cs
Normal file
33
BL/Factories/PostFactory.cs
Normal file
@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using BL.DTOs;
|
||||
using DAL.Domain;
|
||||
|
||||
namespace BL.Factories
|
||||
{
|
||||
public class PostFactory
|
||||
{
|
||||
|
||||
public PostDTO Create(Post p, bool withForum=false)
|
||||
{
|
||||
var dto = new PostDTO()
|
||||
{
|
||||
PostId = p.PostId,
|
||||
Title = p.Title,
|
||||
Author = p.Author,
|
||||
Body = p.Body,
|
||||
CreationTime = p.CreationTime,
|
||||
};
|
||||
|
||||
if (withForum)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
return dto;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,13 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using BL.DTOs;
|
||||
using BL.Factories;
|
||||
using BL.Interfaces;
|
||||
using DAL.Domain;
|
||||
using DAL.Interfaces;
|
||||
|
||||
namespace BL.Services
|
||||
@ -41,7 +36,8 @@ namespace BL.Services
|
||||
|
||||
public FoorumDTO Get(int id)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
var f =_foorumRepository.GetById(id);
|
||||
return _factory.Create(f, withPosts:true);
|
||||
}
|
||||
|
||||
public IEnumerable<FoorumDTO> GetAll()
|
||||
|
@ -23,9 +23,14 @@ namespace WebApi.Controllers
|
||||
}
|
||||
|
||||
// GET api/<controller>/5
|
||||
public string Get(int id)
|
||||
public IHttpActionResult Get(int id)
|
||||
{
|
||||
return "value";
|
||||
var f = _foorumService.Get(id);
|
||||
if (f == null)
|
||||
{
|
||||
return NotFound();
|
||||
}
|
||||
return Ok(f);
|
||||
}
|
||||
|
||||
// POST api/<controller>
|
||||
|
@ -1,5 +1,6 @@
|
||||
<h1>api</h1>
|
||||
<a href="/api/foorum">foorum</a>
|
||||
<button onclick="getForum(prompt('ForumId: ', '1'))">GetForum</button>
|
||||
<button onclick="getForums()">GetAllForums</button>
|
||||
<button onclick="addForum()">AddForum</button>
|
||||
<code><pre id="output"></pre></code>
|
||||
@ -7,6 +8,15 @@
|
||||
<script>
|
||||
var out = document.getElementById("output");
|
||||
|
||||
function getForum(id) {
|
||||
fetch("/api/foorum/"+id).then(resp => {
|
||||
return resp.json();
|
||||
}).then(data => {
|
||||
console.log(data);
|
||||
out.innerText = JSON.stringify(data, null, 2);
|
||||
});
|
||||
}
|
||||
|
||||
function getForums() {
|
||||
fetch("/api/foorum").then(resp => {
|
||||
return resp.json();
|
||||
|
Loading…
Reference in New Issue
Block a user