add formulaire data

testTony
Tony Fages 1 year ago
parent 1e4eb0498d
commit fc31bb46f0

@ -29,7 +29,7 @@ namespace API.Controllers
} }
[HttpGet("/article/{id}")] [HttpGet("/article/{id}")]
public async Task<ArticleEntity?> GetArticleById(int id) public async Task<Article?> GetArticleById(int id)
{ {
var result = await _articleService.GetArticleById(id); var result = await _articleService.GetArticleById(id);
if (result == null) if (result == null)
@ -42,19 +42,19 @@ namespace API.Controllers
[HttpPost("/article")] [HttpPost("/article")]
public async Task<ArticleEntity?> CreateArticle(long id, string title, string description, string author, string date, int lectureTime) public async Task<Article?> CreateArticle(long id, string title, string description, string author, string date, int lectureTime)
{ {
return await _articleService.CreateArticle(id, title, description, author, date, lectureTime); return await _articleService.CreateArticle(id, title, description, author, date, lectureTime);
} }
[HttpDelete("/article/{id}")] [HttpDelete("/article/{id}")]
public async Task<ArticleEntity?> DeleteArticle(long id) public async Task<Article?> DeleteArticle(long id)
{ {
return await _articleService.DeleteArticle(id); return await _articleService.DeleteArticle(id);
} }
[HttpPut("/article/{id}")] [HttpPut("/article/{id}")]
public async Task<bool> UpdateArticle(long id, ArticleEntity? a) public async Task<bool> UpdateArticle(long id, Article? a)
{ {
return await _articleService.UpdateArticle(id, a); return await _articleService.UpdateArticle(id, a);
} }

@ -36,11 +36,11 @@ if (app.Environment.IsDevelopment())
app.UseHttpsRedirection(); app.UseHttpsRedirection();
app.MapControllers(); app.MapControllers();
using var scoped = app.Services.CreateScope();
var libraryContext = scoped.ServiceProvider.GetService<LibraryContext>();
//libraryContext.Database.EnsureCreated();
libraryContext.Database.Migrate();
app.Run(); app.Run();
using var scoped = app.Services.CreateScope();
var libraryContext = scoped.ServiceProvider.GetService<LibraryContext>();
libraryContext.Database.EnsureCreated();

@ -2,7 +2,6 @@ using API_Services;
using DbContextLib; using DbContextLib;
using Entities; using Entities;
using Model; using Model;
using ArticleEntity = Model.ArticleEntity;
namespace DbDataManager; namespace DbDataManager;
@ -17,7 +16,7 @@ public class DbManagerArticle : IArticleService
} }
public async Task<ArticleEntity?> CreateArticle(long id, string title, string description, string author, string date, int lectureTime) public async Task<Article?> CreateArticle(long id, string title, string description, string author, string date, int lectureTime)
{ {
var entity = new Entities.ArticleEntity() var entity = new Entities.ArticleEntity()
{ {
@ -34,7 +33,7 @@ public class DbManagerArticle : IArticleService
return entity.ToModel(); return entity.ToModel();
} }
public async Task<ArticleEntity?> DeleteArticle(long id) public async Task<Article?> DeleteArticle(long id)
{ {
var entity = _context.ArticleSet.FirstOrDefault(a => a.Id == id); var entity = _context.ArticleSet.FirstOrDefault(a => a.Id == id);
Console.WriteLine(entity); Console.WriteLine(entity);
@ -44,7 +43,7 @@ public class DbManagerArticle : IArticleService
return entity.ToModel(); return entity.ToModel();
} }
public async Task<bool> UpdateArticle(long id, ArticleEntity? a) public async Task<bool> UpdateArticle(long id, Article? a)
{ {
var entity = _context.ArticleSet.FirstOrDefault(a => a.Id == id); var entity = _context.ArticleSet.FirstOrDefault(a => a.Id == id);
if (entity == null) return false; if (entity == null) return false;
@ -57,13 +56,13 @@ public class DbManagerArticle : IArticleService
return true; return true;
} }
public Task<ArticleEntity?> GetArticleById(int id) public Task<Article?> GetArticleById(int id)
{ {
var entity = _context.ArticleSet.FirstOrDefault(a => a.Id == id); var entity = _context.ArticleSet.FirstOrDefault(a => a.Id == id);
return Task.FromResult(entity.ToModel()); return Task.FromResult(entity.ToModel());
} }
public async Task<IEnumerable<ArticleEntity?>> GetAllArticles() public async Task<IEnumerable<Article?>> GetAllArticles()
{ {
return await Task.FromResult(_context.ArticleSet.Select(a => a.ToModel()).AsEnumerable()); return await Task.FromResult(_context.ArticleSet.Select(a => a.ToModel()).AsEnumerable());
} }

@ -1,20 +1,19 @@
using Entities; using Entities;
using Model; using Model;
using ArticleEntity = Model.ArticleEntity;
namespace DbDataManager; namespace DbDataManager;
public static class Extensions public static class Extensions
{ {
public static Entities.ArticleEntity ToEntity(this ArticleEntity articleEntity) public static Entities.ArticleEntity ToEntity(this Article article)
=> new Entities.ArticleEntity => new Entities.ArticleEntity
{ {
Id = articleEntity.Id, Author = articleEntity.Author, Description = articleEntity.Description, Title = articleEntity.Title, Id = article.Id, Author = article.Author, Description = article.Description, Title = article.Title,
DatePublished = articleEntity.DatePublished, LectureTime = articleEntity.LectureTime DatePublished = article.DatePublished, LectureTime = article.LectureTime
}; };
public static ArticleEntity ToModel(this Entities.ArticleEntity article) public static Article ToModel(this Entities.ArticleEntity article)
=> new ArticleEntity => new Article
{ {
Id = article.Id, Author = article.Author, Description = article.Description, Title = article.Title, Id = article.Id, Author = article.Author, Description = article.Description, Title = article.Title,
DatePublished = article.DatePublished, LectureTime = article.LectureTime DatePublished = article.DatePublished, LectureTime = article.LectureTime

@ -5,7 +5,7 @@ namespace API_Mapping;
public static class ArticleMapper public static class ArticleMapper
{ {
public static ArticleDTO ToDTO(this ArticleEntity a) => new() public static ArticleDTO ToDTO(this Article a) => new()
{ {
Id = a.Id, Id = a.Id,
Title = a.Title, Title = a.Title,
@ -15,7 +15,7 @@ public static class ArticleMapper
Author = a.Author Author = a.Author
}; };
public static ArticleEntity ToModel(this ArticleDTO a) => new() public static Article ToModel(this ArticleDTO a) => new()
{ {
Id = a.Id, Id = a.Id,
Title = a.Title, Title = a.Title,

@ -4,16 +4,16 @@ namespace API_Services
{ {
public interface IArticleService public interface IArticleService
{ {
Task<ArticleEntity?> CreateArticle(long id, string title, string description, string author, string date, Task<Article?> CreateArticle(long id, string title, string description, string author, string date,
int lectureTime); int lectureTime);
Task<ArticleEntity?> DeleteArticle(long id); Task<Article?> DeleteArticle(long id);
Task<bool> UpdateArticle(long id, ArticleEntity? a); Task<bool> UpdateArticle(long id, Article? a);
Task<ArticleEntity?> GetArticleById(int id); Task<Article?> GetArticleById(int id);
Task<IEnumerable<ArticleEntity?>> GetAllArticles(); Task<IEnumerable<Article?>> GetAllArticles();
} }
} }

@ -36,6 +36,16 @@ public class LibraryContext : DbContext
.WithMany(a => a.Articles) .WithMany(a => a.Articles)
.UsingEntity<ArticleUserEntity>(); .UsingEntity<ArticleUserEntity>();
modelBuilder.Entity<UserEntity>()
.HasMany(u => u.Forms)
.WithOne(f => f.User)
.HasForeignKey(f => f.UserEntityId);
modelBuilder.Entity<FormEntity>()
.HasOne(f => f.User)
.WithMany(u => u.Forms)
.HasForeignKey(f => f.UserEntityId);
modelBuilder.Entity<ArticleEntity>().HasData( modelBuilder.Entity<ArticleEntity>().HasData(
new ArticleEntity new ArticleEntity
{ {
@ -111,5 +121,32 @@ public class LibraryContext : DbContext
UserEntityId = 3 UserEntityId = 3
} }
); );
modelBuilder.Entity<FormEntity>().HasData(
new FormEntity
{
Id = 1,
Pseudo= "Form 1",
DatePublication = "Form 1 Description",
Link = "hhtp://form1.com",
UserEntityId = 1
},
new FormEntity
{
Id = 2,
Pseudo= "Form 2",
DatePublication = "Form 2 Description",
Link = "hhtp://form2.com",
UserEntityId = 2
},
new FormEntity
{
Id = 3,
Pseudo= "Form 3",
DatePublication = "Form 3 Description",
Link = "hhtp://form3.com",
UserEntityId = 3
}
);
} }
} }

@ -1,6 +1,6 @@
namespace Model; namespace Model;
public class ArticleEntity public class Article
{ {
public long Id { get; set; } public long Id { get; set; }
public string Title { get; set; } = string.Empty; public string Title { get; set; } = string.Empty;

@ -1,18 +1,17 @@
using Entities; using Entities;
using Model; using Model;
using ArticleEntity = Model.ArticleEntity;
namespace StubbedContextLib; namespace StubbedContextLib;
public class StubTest public class StubTest
{ {
private List<ArticleEntity> _article; private List<Article> _article;
public List<ArticleEntity> StubArticle() public List<Article> StubArticle()
{ {
_article = new List<ArticleEntity> _article = new List<Article>
{ {
new ArticleEntity new Article
{ {
Id = 1, Id = 1,
Title = "Test", Title = "Test",

Loading…
Cancel
Save