From 18ab36a06f3aff3fbcc320882533cf96037b0419 Mon Sep 17 00:00:00 2001 From: henrydays Date: Sun, 24 Mar 2019 18:57:09 +0000 Subject: [PATCH] profile image --- api/Controllers/UsersController.cs | 23 ++++++++++++++++++++++- api/Data/IUsersRepository.cs | 3 +++ api/Data/UsersRepository.cs | 18 +++++++++++++++--- api/Dtos/getProfileImage.cs | 11 +++++++++++ api/Dtos/profileImageToReturn.cs | 7 +++++++ api/appsettings.Production.json | 2 +- api/appsettings.json | 2 +- 7 files changed, 60 insertions(+), 6 deletions(-) create mode 100644 api/Dtos/getProfileImage.cs create mode 100644 api/Dtos/profileImageToReturn.cs diff --git a/api/Controllers/UsersController.cs b/api/Controllers/UsersController.cs index 64349817..62c6bc3e 100755 --- a/api/Controllers/UsersController.cs +++ b/api/Controllers/UsersController.cs @@ -31,13 +31,34 @@ namespace api.Controllers _repo = repo; } + + [AllowAnonymous] + [HttpGet("getProfileImage/{QRcode}")] + public async Task getProfileImage(string QRcode) + { + + var user = _repo.getProfileImageAsync(QRcode); + + profileImageToReturn a = new profileImageToReturn(); + + if (user.Result != null) + { + a.profileBase64 = user.Result; + + return Ok(a); + } + + return NotFound(); + } + + [HttpPost("changeProfileImage")] public async Task changeProfileImage(profileImage i) { User a = new User(); - var cenas =await _repo.changeProfileImage(i); + var cenas = await _repo.changeProfileImage(i); return Ok(cenas); } diff --git a/api/Data/IUsersRepository.cs b/api/Data/IUsersRepository.cs index f699c2ab..c2ba7b4c 100755 --- a/api/Data/IUsersRepository.cs +++ b/api/Data/IUsersRepository.cs @@ -14,6 +14,9 @@ namespace api.Data Task> GetUsers(); Task GetUser(int id); Task changeProfileImage(profileImage a); + + + Task getProfileImageAsync(string qrCode); } } \ No newline at end of file diff --git a/api/Data/UsersRepository.cs b/api/Data/UsersRepository.cs index d74b27fa..036d3284 100755 --- a/api/Data/UsersRepository.cs +++ b/api/Data/UsersRepository.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using api.Dtos; using api.Models; @@ -26,16 +27,16 @@ namespace api.Data if (utilizador != null) { utilizador.profileImage = a.base64; - + _context.Users.Update(utilizador); var result = _context.SaveChanges(); - if (result >= 1) + if (result >= 1) { return utilizador; } - + return null; } @@ -44,9 +45,20 @@ namespace api.Data public void Delete(T entity) where T : class { + _context.Remove(entity); } + public Task getProfileImageAsync(string qrCode) + { + return Task.Run(() => + { + return _context.Users.Where(a => a.QRcode == qrCode).Select(u => u.profileImage).SingleOrDefault() ; + + }); + + } + public async Task GetUser(int id) { var user = await _context.Users.Include(p => p.Photos).FirstOrDefaultAsync(u => u.Id == id); diff --git a/api/Dtos/getProfileImage.cs b/api/Dtos/getProfileImage.cs new file mode 100644 index 00000000..f7fd0f1f --- /dev/null +++ b/api/Dtos/getProfileImage.cs @@ -0,0 +1,11 @@ +using System.ComponentModel.DataAnnotations; + +namespace api.Dtos +{ + public class getProfileImage + { + [Required] + public string QRcode{get;set;} + + } +} \ No newline at end of file diff --git a/api/Dtos/profileImageToReturn.cs b/api/Dtos/profileImageToReturn.cs new file mode 100644 index 00000000..b6baeb2e --- /dev/null +++ b/api/Dtos/profileImageToReturn.cs @@ -0,0 +1,7 @@ +namespace api.Dtos +{ + public class profileImageToReturn + { + public string profileBase64{get;set;} + } +} \ No newline at end of file diff --git a/api/appsettings.Production.json b/api/appsettings.Production.json index 8f0be3bc..d0bb80fd 100755 --- a/api/appsettings.Production.json +++ b/api/appsettings.Production.json @@ -5,7 +5,7 @@ }, "ConnectionStrings": { - "DefaultConnection":"server=35.195.235.45;database=enei;uid=api;password=VkGTCmDAg6p4THnE" + "DefaultConnection":"server=35.195.235.45;database=enei;uid=local;password=VkGTCmDAg6p4THnE" }, "Logging": { diff --git a/api/appsettings.json b/api/appsettings.json index 95bb951d..98394fd3 100755 --- a/api/appsettings.json +++ b/api/appsettings.json @@ -5,7 +5,7 @@ }, "ConnectionStrings": { - "DefaultConnection":"server=35.195.235.45;database=enei;uid=api;password=VkGTCmDAg6p4THnE" + "DefaultConnection":"server=35.195.235.45;database=enei;uid=local;password=VkGTCmDAg6p4THnE" }, "Logging": {