diff options
| author | Syndamia <kamen.d.mladenov@protonmail.com> | 2020-12-11 15:23:15 +0200 |
|---|---|---|
| committer | Syndamia <kamen.d.mladenov@protonmail.com> | 2020-12-11 15:23:15 +0200 |
| commit | 5a64d52df66264c9f752b03f38a0bc40ddf25931 (patch) | |
| tree | 6fbd918dcdf0c67e438e7354691ee1e81e8c34bb /API/Service/UserService.cs | |
| parent | 8554d02a954449e8e7c250f3f83868834056afad (diff) | |
| download | DevHive-5a64d52df66264c9f752b03f38a0bc40ddf25931.tar DevHive-5a64d52df66264c9f752b03f38a0bc40ddf25931.tar.gz DevHive-5a64d52df66264c9f752b03f38a0bc40ddf25931.zip | |
Made UserController (and UserService) return IActionResult, rather than HttpStatusCode
Diffstat (limited to 'API/Service/UserService.cs')
| -rw-r--r-- | API/Service/UserService.cs | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/API/Service/UserService.cs b/API/Service/UserService.cs index a03de45..fec6821 100644 --- a/API/Service/UserService.cs +++ b/API/Service/UserService.cs @@ -10,6 +10,7 @@ using System.Net.Http; using Npgsql.EntityFrameworkCore.PostgreSQL.Query.ExpressionTranslators.Internal; using System; using Microsoft.AspNetCore.Mvc.Routing; +using Microsoft.AspNetCore.Mvc; namespace API.Service { @@ -24,60 +25,49 @@ namespace API.Service this._userMapper = mapper; } - public async Task<HttpStatusCode> CreateUser(UserDTO userDTO) + public async Task<IActionResult> CreateUser(UserDTO userDTO) { if (this._userDbRepository.DoesUsernameExist(userDTO.UserName)) - ThrowHttpRequestException(HttpStatusCode.BadRequest, "Username already exists!"); + return new BadRequestObjectResult("Username already exists!"); User user = this._userMapper.Map<User>(userDTO); await this._userDbRepository.AddAsync(user); - return HttpStatusCode.Created; + return new OkObjectResult("User created."); } - public async Task<User> GetUserById(int id) + public async Task<IActionResult> GetUserById(int id) { User user = await this._userDbRepository.FindByIdAsync(id); if (user == null) - ThrowHttpRequestException(HttpStatusCode.NotFound); + return new NotFoundObjectResult("User does not exist!"); - return user; + return new OkObjectResult(JsonConvert.SerializeObject(user)); } - public async Task<HttpStatusCode> UpdateUser(int id, UserDTO userDTO) + public async Task<IActionResult> UpdateUser(int id, UserDTO userDTO) { if (!this._userDbRepository.DoesUserExist(id)) - ThrowHttpRequestException(HttpStatusCode.NotFound); + return new NotFoundObjectResult("User does not exist!"); if (this._userDbRepository.DoesUsernameExist(userDTO.UserName)) - ThrowHttpRequestException(HttpStatusCode.Forbidden); + return new BadRequestObjectResult("Username already exists!"); User user = this._userMapper.Map<User>(userDTO); await this._userDbRepository.EditAsync(id, user); - return HttpStatusCode.OK; + return new OkObjectResult("User updated."); } - public async Task<HttpStatusCode> DeleteUser(int id) + public async Task<IActionResult> DeleteUser(int id) { if (!this._userDbRepository.DoesUserExist(id)) - return HttpStatusCode.Forbidden; + return new NotFoundObjectResult("User does not exist!"); await this._userDbRepository.DeleteAsync(id); - return HttpStatusCode.OK; - } - - private void ThrowHttpRequestException(HttpStatusCode statusCode, string errorMessage = "") - { - HttpResponseMessage message = new() - { - StatusCode = statusCode, - Content = new StringContent(errorMessage) - }; - - throw new HttpResponseException(message); + return new OkObjectResult("User deleted successfully."); } } } |
