From fc31bb46f04cfeb2400736c0f2345f262a59b2a6 Mon Sep 17 00:00:00 2001 From: tonyfages Date: Sat, 9 Mar 2024 09:24:15 +0100 Subject: [PATCH] add formulaire data --- .../API/Controllers/ArticleController.cs | 8 ++-- .../API/Entity_FrameWork.Article.db | Bin 36864 -> 4096 bytes .../API/Entity_FrameWork.Article.db-shm | Bin 0 -> 32768 bytes .../API/Entity_FrameWork.Article.db-wal | Bin 0 -> 49472 bytes Verax_API_EF/Verax_API_EF/API/Program.cs | 8 ++-- .../API_DbDataManager/DbManagerArticle.cs | 11 +++--- .../API_DbDataManager/Extensions.cs | 11 +++--- .../Verax_API_EF/API_Mapping/ArticleMapper.cs | 4 +- .../API_Services/IArticleService.cs | 10 ++--- .../DbContextLib/LibraryContext.cs | 37 ++++++++++++++++++ .../Model/{ArticleEntity.cs => Article.cs} | 2 +- .../StubbedContextLib/StubTest.cs | 9 ++--- 12 files changed, 67 insertions(+), 33 deletions(-) create mode 100644 Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db-shm create mode 100644 Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db-wal rename Verax_API_EF/Verax_API_EF/Model/{ArticleEntity.cs => Article.cs} (92%) diff --git a/Verax_API_EF/Verax_API_EF/API/Controllers/ArticleController.cs b/Verax_API_EF/Verax_API_EF/API/Controllers/ArticleController.cs index 2df9a5d..d83ebb8 100644 --- a/Verax_API_EF/Verax_API_EF/API/Controllers/ArticleController.cs +++ b/Verax_API_EF/Verax_API_EF/API/Controllers/ArticleController.cs @@ -29,7 +29,7 @@ namespace API.Controllers } [HttpGet("/article/{id}")] - public async Task GetArticleById(int id) + public async Task GetArticleById(int id) { var result = await _articleService.GetArticleById(id); if (result == null) @@ -42,19 +42,19 @@ namespace API.Controllers [HttpPost("/article")] - public async Task CreateArticle(long id, string title, string description, string author, string date, int lectureTime) + public async Task CreateArticle(long id, string title, string description, string author, string date, int lectureTime) { return await _articleService.CreateArticle(id, title, description, author, date, lectureTime); } [HttpDelete("/article/{id}")] - public async Task DeleteArticle(long id) + public async Task DeleteArticle(long id) { return await _articleService.DeleteArticle(id); } [HttpPut("/article/{id}")] - public async Task UpdateArticle(long id, ArticleEntity? a) + public async Task UpdateArticle(long id, Article? a) { return await _articleService.UpdateArticle(id, a); } diff --git a/Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db b/Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db index 0e64b42568a42a6dcc57337df11ae2b45bd4671a..9a472209435d88229f65ab7a0ca30d67df87a462 100644 GIT binary patch delta 26 gcmZozz|^2HL7J73fq{W>Vxv8fp_le*Q^Fj609RE92LJ#7 literal 36864 zcmeI)&1>6c90zc{*zwEas4N&$a>x^fbumqwHr;j^gSv@QO#L?7f#fiPZ9S<)Z7G%H zWF3srE^O>C8T%V{+-a9W?>Q8@GT0bwY_P)$+fTBb*p^dr*bd3QBDVDCdGtJbKF>>{ z#?iKmY;|fB*z8lz{b~flIj2d@$ zHXUwjrfay5@_KMCu~yY`b&cgq>)IAmPf4t@a*3(IB`RA|hjUW1k2A4Yro19P{$NmI z&UTGfho2-HDLWJ!58Xv5$w&tM`w689-`VGvr(&78Iq{2x+h}%pP=jC>3rel$?i94) z>LnR%YF<}~rLNu8s;pG5v(jdvz}Cv8TD_X1^GvPW8_24xQq320)opf9+h)1VdO2UB z%!^v7zTD5O-sWAdvbwfK83maIQR@wtS9;Bk(Q3GcWlm01Fw6&&V=4~s>DJ`96aPt- z>6brTqmAPl`P}1uMr9l2s+PZ7@~b)C3s_a#(5hN#O{+1#gV5z(i%`*7um7xT1&w;z zTCTR1Ti24=!%LA^W@SbEvh24_s5L_;qND88eBdY58<{B^H76ND0H~# zmqOVt_brZ#$%eBf^-#8hGhP#f?sT*j#-p<%4H3k?wk^(hOCIZg+a+?*sm$hzDEQNe z^RPpYM>~z4Yx&`U!%6Gz+zh#S4@z-wHh(fN`y>A_?f0(W-h*9av?m2;kNeN0!7@Jb zkFObS{z)VMb>p+B?@b=KC969*qGEINw76o!=uEz`Xv~Zwql$vGig=LkQW1A--gsb`_gRS_ zI85spPNT`)Hd|%u2EQ^L6E0t#7w7pW&c42@?>2Y!W|MYw+}xd}kbm5qlVZZ`>|%UY z=llD*4FV8=00bZa0SG_<0uX=z1Rwx`^D6L$B+rS# zQW1GZlo!O4r3=&E^S`Vd2+A|%YuaIh00bZa0SG_<0uX=z1Rwwb2teT96SywNg>*VI z`_=-jC@9`sz4ea2zQ7AyDK2*DLloCrR<~&B-+f~@T+3dPg7j%xBvA9x`wImq;9A|= zgY@1*{xvZ!WYU>*HdD9EM;l(!jmCZMcp;Zwx9<;9=k%^&rj);gi1J)e{!o5VepH^* zAvOp=00Izz00bZa0SG_<0uX=z1kRa2G%AatEJq@8LX@Mj7m%V7?dae92|_fH^q>Ea z1m$<-XXOXwNI5!Z6~ygA00Izz00bZa0SG_<0uX=z1pem&v54qB`$wlDB0c;^{GcSu z{eAHK@2&r*fBKIN0uX=z1Rwwb2tWV=5P$##AOL|2ERa-Q(fa?Fg7T;G8?69%Nr%`V z009U<00Izz00bZa0SG_<0uVTl0{&+Jf=>c?$CBiI93Vnfi6p)H;P3zEu~l);5P$## VAOHafKmY;|fB*y_0D&_L`~%@K1Frx8 diff --git a/Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db-shm b/Verax_API_EF/Verax_API_EF/API/Entity_FrameWork.Article.db-shm new file mode 100644 index 0000000000000000000000000000000000000000..5e1d0731e4700e9719d024cff0e22a037ec27e19 GIT binary patch literal 32768 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 literal 0 HcmV?d00001 diff --git a/Verax_API_EF/Verax_API_EF/API/Program.cs b/Verax_API_EF/Verax_API_EF/API/Program.cs index 167fa53..9bf4f16 100644 --- a/Verax_API_EF/Verax_API_EF/API/Program.cs +++ b/Verax_API_EF/Verax_API_EF/API/Program.cs @@ -36,11 +36,11 @@ if (app.Environment.IsDevelopment()) app.UseHttpsRedirection(); app.MapControllers(); - +using var scoped = app.Services.CreateScope(); +var libraryContext = scoped.ServiceProvider.GetService(); +//libraryContext.Database.EnsureCreated(); +libraryContext.Database.Migrate(); app.Run(); -using var scoped = app.Services.CreateScope(); -var libraryContext = scoped.ServiceProvider.GetService(); -libraryContext.Database.EnsureCreated(); diff --git a/Verax_API_EF/Verax_API_EF/API_DbDataManager/DbManagerArticle.cs b/Verax_API_EF/Verax_API_EF/API_DbDataManager/DbManagerArticle.cs index ee3176c..adf65c2 100644 --- a/Verax_API_EF/Verax_API_EF/API_DbDataManager/DbManagerArticle.cs +++ b/Verax_API_EF/Verax_API_EF/API_DbDataManager/DbManagerArticle.cs @@ -2,7 +2,6 @@ using API_Services; using DbContextLib; using Entities; using Model; -using ArticleEntity = Model.ArticleEntity; namespace DbDataManager; @@ -17,7 +16,7 @@ public class DbManagerArticle : IArticleService } - public async Task CreateArticle(long id, string title, string description, string author, string date, int lectureTime) + public async Task CreateArticle(long id, string title, string description, string author, string date, int lectureTime) { var entity = new Entities.ArticleEntity() { @@ -34,7 +33,7 @@ public class DbManagerArticle : IArticleService return entity.ToModel(); } - public async Task DeleteArticle(long id) + public async Task DeleteArticle(long id) { var entity = _context.ArticleSet.FirstOrDefault(a => a.Id == id); Console.WriteLine(entity); @@ -44,7 +43,7 @@ public class DbManagerArticle : IArticleService return entity.ToModel(); } - public async Task UpdateArticle(long id, ArticleEntity? a) + public async Task UpdateArticle(long id, Article? a) { var entity = _context.ArticleSet.FirstOrDefault(a => a.Id == id); if (entity == null) return false; @@ -57,13 +56,13 @@ public class DbManagerArticle : IArticleService return true; } - public Task GetArticleById(int id) + public Task GetArticleById(int id) { var entity = _context.ArticleSet.FirstOrDefault(a => a.Id == id); return Task.FromResult(entity.ToModel()); } - public async Task> GetAllArticles() + public async Task> GetAllArticles() { return await Task.FromResult(_context.ArticleSet.Select(a => a.ToModel()).AsEnumerable()); } diff --git a/Verax_API_EF/Verax_API_EF/API_DbDataManager/Extensions.cs b/Verax_API_EF/Verax_API_EF/API_DbDataManager/Extensions.cs index 6431bec..511f7da 100644 --- a/Verax_API_EF/Verax_API_EF/API_DbDataManager/Extensions.cs +++ b/Verax_API_EF/Verax_API_EF/API_DbDataManager/Extensions.cs @@ -1,20 +1,19 @@ using Entities; using Model; -using ArticleEntity = Model.ArticleEntity; namespace DbDataManager; public static class Extensions { - public static Entities.ArticleEntity ToEntity(this ArticleEntity articleEntity) + public static Entities.ArticleEntity ToEntity(this Article article) => new Entities.ArticleEntity { - Id = articleEntity.Id, Author = articleEntity.Author, Description = articleEntity.Description, Title = articleEntity.Title, - DatePublished = articleEntity.DatePublished, LectureTime = articleEntity.LectureTime + Id = article.Id, Author = article.Author, Description = article.Description, Title = article.Title, + DatePublished = article.DatePublished, LectureTime = article.LectureTime }; - public static ArticleEntity ToModel(this Entities.ArticleEntity article) - => new ArticleEntity + public static Article ToModel(this Entities.ArticleEntity article) + => new Article { Id = article.Id, Author = article.Author, Description = article.Description, Title = article.Title, DatePublished = article.DatePublished, LectureTime = article.LectureTime diff --git a/Verax_API_EF/Verax_API_EF/API_Mapping/ArticleMapper.cs b/Verax_API_EF/Verax_API_EF/API_Mapping/ArticleMapper.cs index dfaf91c..9767dd8 100644 --- a/Verax_API_EF/Verax_API_EF/API_Mapping/ArticleMapper.cs +++ b/Verax_API_EF/Verax_API_EF/API_Mapping/ArticleMapper.cs @@ -5,7 +5,7 @@ namespace API_Mapping; public static class ArticleMapper { - public static ArticleDTO ToDTO(this ArticleEntity a) => new() + public static ArticleDTO ToDTO(this Article a) => new() { Id = a.Id, Title = a.Title, @@ -15,7 +15,7 @@ public static class ArticleMapper Author = a.Author }; - public static ArticleEntity ToModel(this ArticleDTO a) => new() + public static Article ToModel(this ArticleDTO a) => new() { Id = a.Id, Title = a.Title, diff --git a/Verax_API_EF/Verax_API_EF/API_Services/IArticleService.cs b/Verax_API_EF/Verax_API_EF/API_Services/IArticleService.cs index 3ee9e0f..2bbeac2 100644 --- a/Verax_API_EF/Verax_API_EF/API_Services/IArticleService.cs +++ b/Verax_API_EF/Verax_API_EF/API_Services/IArticleService.cs @@ -4,16 +4,16 @@ namespace API_Services { public interface IArticleService { - Task CreateArticle(long id, string title, string description, string author, string date, + Task CreateArticle(long id, string title, string description, string author, string date, int lectureTime); - Task DeleteArticle(long id); + Task DeleteArticle(long id); - Task UpdateArticle(long id, ArticleEntity? a); + Task UpdateArticle(long id, Article? a); - Task GetArticleById(int id); + Task GetArticleById(int id); - Task> GetAllArticles(); + Task> GetAllArticles(); } } diff --git a/Verax_API_EF/Verax_API_EF/DbContextLib/LibraryContext.cs b/Verax_API_EF/Verax_API_EF/DbContextLib/LibraryContext.cs index 7b63ab6..58c2539 100644 --- a/Verax_API_EF/Verax_API_EF/DbContextLib/LibraryContext.cs +++ b/Verax_API_EF/Verax_API_EF/DbContextLib/LibraryContext.cs @@ -36,6 +36,16 @@ public class LibraryContext : DbContext .WithMany(a => a.Articles) .UsingEntity(); + modelBuilder.Entity() + .HasMany(u => u.Forms) + .WithOne(f => f.User) + .HasForeignKey(f => f.UserEntityId); + + modelBuilder.Entity() + .HasOne(f => f.User) + .WithMany(u => u.Forms) + .HasForeignKey(f => f.UserEntityId); + modelBuilder.Entity().HasData( new ArticleEntity { @@ -111,5 +121,32 @@ public class LibraryContext : DbContext UserEntityId = 3 } ); + + modelBuilder.Entity().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 + } + ); } } \ No newline at end of file diff --git a/Verax_API_EF/Verax_API_EF/Model/ArticleEntity.cs b/Verax_API_EF/Verax_API_EF/Model/Article.cs similarity index 92% rename from Verax_API_EF/Verax_API_EF/Model/ArticleEntity.cs rename to Verax_API_EF/Verax_API_EF/Model/Article.cs index 5bedd63..497b56c 100644 --- a/Verax_API_EF/Verax_API_EF/Model/ArticleEntity.cs +++ b/Verax_API_EF/Verax_API_EF/Model/Article.cs @@ -1,6 +1,6 @@ namespace Model; -public class ArticleEntity +public class Article { public long Id { get; set; } public string Title { get; set; } = string.Empty; diff --git a/Verax_API_EF/Verax_API_EF/StubbedContextLib/StubTest.cs b/Verax_API_EF/Verax_API_EF/StubbedContextLib/StubTest.cs index 9648580..6e01d1f 100644 --- a/Verax_API_EF/Verax_API_EF/StubbedContextLib/StubTest.cs +++ b/Verax_API_EF/Verax_API_EF/StubbedContextLib/StubTest.cs @@ -1,18 +1,17 @@ using Entities; using Model; -using ArticleEntity = Model.ArticleEntity; namespace StubbedContextLib; public class StubTest { - private List _article; + private List
_article; - public List StubArticle() + public List
StubArticle() { - _article = new List + _article = new List
{ - new ArticleEntity + new Article { Id = 1, Title = "Test",