diff --git a/Tsi1.Api/Tsi1.Api/Controllers/CourseController.cs b/Tsi1.Api/Tsi1.Api/Controllers/CourseController.cs index 47e734450fdf6b3b2b3b42136635a90a461a2335..5414320347819583ffb737ee6547bef7402ffe70 100644 --- a/Tsi1.Api/Tsi1.Api/Controllers/CourseController.cs +++ b/Tsi1.Api/Tsi1.Api/Controllers/CourseController.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using System.Security.Claims; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; @@ -62,24 +63,31 @@ namespace Tsi1.Api.Controllers [HttpPost("Matriculate/{courseId}")] public async Task<IActionResult> Matriculate(int courseId) { - var userId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "Id").Value); - var user = await _userService.GetById(userId); - - var response = await _bedeliaService.IsValidUser(user.Data.Student.IdentityCard); - if (response.HasError) - { - return BadRequest(response.Message); - } - - var result = await _courseService.Matriculate(userId, courseId); - if (result.HasError) + try { - return BadRequest(result.Message); + var userId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "Id").Value); + var user = await _userService.GetById(userId); + + var response = await _bedeliaService.IsValidUser(user.Data.Student.IdentityCard); + if (response.HasError) + { + return BadRequest(response.Message); + } + + var result = await _courseService.Matriculate(userId, courseId); + if (result.HasError) + { + return BadRequest(result.Message); + } + + if (result.Data == false) + { + return NotFound(result.Message); + } } - - if (result.Data == false) + catch (Exception ex) { - return NotFound(result.Message); + return BadRequest(ex.Message); } return Ok();