From bb55612812651ab5c35131bacb0ab729d94c15c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Andr=C3=A9?= Date: Wed, 27 May 2020 14:15:38 +0200 Subject: [PATCH] Fix on the inserting of images. --- Back/skydiveLogs-api.Business/ImageService.cs | 3 ++- .../Interface/IImageService.cs | 4 ++-- Back/skydiveLogs-api.Data/LiteDbProvider.cs | 2 +- Back/skydiveLogs-api.Model/Image.cs | 2 +- Back/skydiveLogs-api.Model/User.cs | 2 -- .../Controllers/ImageController.cs | 2 +- Back/skydiveLogs-api/Data/JumpsDb.db | Bin 196608 -> 237568 bytes 7 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Back/skydiveLogs-api.Business/ImageService.cs b/Back/skydiveLogs-api.Business/ImageService.cs index 10899f6..4b2848a 100644 --- a/Back/skydiveLogs-api.Business/ImageService.cs +++ b/Back/skydiveLogs-api.Business/ImageService.cs @@ -15,8 +15,9 @@ namespace skydiveLogs_api.Business _imageRepository = imageRepository; } - public void AddNewImage(Image newImage) + public void AddNewImage(Image newImage, User connectedUser) { + newImage.User = connectedUser; _imageRepository.Add(newImage); } diff --git a/Back/skydiveLogs-api.Business/Interface/IImageService.cs b/Back/skydiveLogs-api.Business/Interface/IImageService.cs index 84212a6..e87ceb1 100644 --- a/Back/skydiveLogs-api.Business/Interface/IImageService.cs +++ b/Back/skydiveLogs-api.Business/Interface/IImageService.cs @@ -11,9 +11,9 @@ namespace skydiveLogs_api.Business.Interface Image GetImageById(int id); - void AddNewImage(Image Image); + void AddNewImage(Image image, User connectedUser); - void UpdateImage(int id, Image Image); + void UpdateImage(int id, Image image); void DeleteImageById(int id); } diff --git a/Back/skydiveLogs-api.Data/LiteDbProvider.cs b/Back/skydiveLogs-api.Data/LiteDbProvider.cs index f5f66f2..7ad3405 100644 --- a/Back/skydiveLogs-api.Data/LiteDbProvider.cs +++ b/Back/skydiveLogs-api.Data/LiteDbProvider.cs @@ -15,7 +15,7 @@ namespace skydiveLogs_api.Data BsonMapper.Global.Entity().DbRef(x => x.DropZone, "DropZone"); BsonMapper.Global.Entity().DbRef(x => x.Gear, "Gear"); - BsonMapper.Global.Entity().DbRef(x => x.UserId, "User"); + BsonMapper.Global.Entity().DbRef(x => x.User, "User"); } public ILiteCollection GetCollection() diff --git a/Back/skydiveLogs-api.Model/Image.cs b/Back/skydiveLogs-api.Model/Image.cs index 0e09075..7064853 100644 --- a/Back/skydiveLogs-api.Model/Image.cs +++ b/Back/skydiveLogs-api.Model/Image.cs @@ -8,6 +8,6 @@ public string Data { get; set; } - public int UserId { get; set; } + public User User { get; set; } } } diff --git a/Back/skydiveLogs-api.Model/User.cs b/Back/skydiveLogs-api.Model/User.cs index c2e9599..e122861 100644 --- a/Back/skydiveLogs-api.Model/User.cs +++ b/Back/skydiveLogs-api.Model/User.cs @@ -15,7 +15,5 @@ namespace skydiveLogs_api.Model public string Login { get; set; } public string Password { get; set; } - - public IEnumerable Images { get; set; } } } diff --git a/Back/skydiveLogs-api/Controllers/ImageController.cs b/Back/skydiveLogs-api/Controllers/ImageController.cs index 56c2697..9d9ba94 100644 --- a/Back/skydiveLogs-api/Controllers/ImageController.cs +++ b/Back/skydiveLogs-api/Controllers/ImageController.cs @@ -43,7 +43,7 @@ namespace skydiveLogs_api.Controllers [EnableCors] public void Post([FromBody] ImageReq value) { - _imageService.AddNewImage(_mapper.Map(value)); + _imageService.AddNewImage(_mapper.Map(value), ConnectedUser); } // PUT: api/Image/5 diff --git a/Back/skydiveLogs-api/Data/JumpsDb.db b/Back/skydiveLogs-api/Data/JumpsDb.db index aee3ee3897a6aca4f616f290478781499020b9c9..60e9773f62643b6cf395c3d5a6e4b7145a787d5d 100644 GIT binary patch delta 19718 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 delta 162 zcmZoTz}L{gGr@sTe4=ALqwmCn-kVhz@5oJTkZ4larobrvfWs<=yNiL1$8xJYQye3s z<>p353&!o+n3(Qyu>J>u=`*>ROw7Pc0R{#Jb2Ju{HBgX&Q5;C{z@;oeDjAt