diff --git a/DigitalData.UserManager.API/Controllers/UserController.cs b/DigitalData.UserManager.API/Controllers/UserController.cs index bfa78cf..2a600d0 100644 --- a/DigitalData.UserManager.API/Controllers/UserController.cs +++ b/DigitalData.UserManager.API/Controllers/UserController.cs @@ -2,8 +2,6 @@ using DigitalData.Core.API; using DigitalData.UserManager.Application.Contracts; using DigitalData.UserManager.Application.DTOs.User; using DigitalData.UserManager.Domain.Entities; -using DigitalData.UserManager.Infrastructure.Contracts; -using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; @@ -18,41 +16,73 @@ namespace DigitalData.UserManager.API.Controllers [HttpGet("ByModuleId/{moduleId}")] public async Task GetByModuleId([FromRoute] int moduleId, [FromQuery]bool assigned = true) - { - var result = assigned ? await _service.ReadByModuleIdAsync(moduleId) : await _service.ReadUnassignedByModuleIdAsync(moduleId); - return Ok(result); + { + try + { + var result = assigned ? await _service.ReadByModuleIdAsync(moduleId) : await _service.ReadUnassignedByModuleIdAsync(moduleId); + return Ok(result); + } + catch(Exception ex) + { + _logger.LogError(ex, "{Message}", ex.Message); + return StatusCode(StatusCodes.Status500InternalServerError); + } } [HttpGet("ByGroupId/{groupId}")] public async Task GetByGroupId([FromRoute] int groupId, [FromQuery] bool assigned = true) { - var result = assigned ? await _service.ReadByGroupIdAsync(groupId) : await _service.ReadUnassignedByGroupIdAsync(groupId); ; - return Ok(result); + try + { + var result = assigned ? await _service.ReadByGroupIdAsync(groupId) : await _service.ReadUnassignedByGroupIdAsync(groupId); ; + return Ok(result); + } + catch(Exception ex) + { + _logger.LogError(ex, "{Message}", ex.Message); + return StatusCode(StatusCodes.Status500InternalServerError); + } } [HttpPost("ByDir")] public async Task CreateByDir(UserPrincipalDto upDto) { - var result = await _service.CreateAsync(upDto); - if (result.IsSuccess) + try { - var createdResource = new { Id = result.Data }; - var actionName = nameof(GetById); - var routeValues = new { id = createdResource.Id }; - return CreatedAtAction(actionName, routeValues, createdResource); + var result = await _service.CreateAsync(upDto); + if (result.IsSuccess) + { + var createdResource = new { Id = result.Data }; + var actionName = nameof(GetById); + var routeValues = new { id = createdResource.Id }; + return CreatedAtAction(actionName, routeValues, createdResource); + } + return BadRequest(result); + } + catch(Exception ex) + { + _logger.LogError(ex, "{Message}", ex.Message); + return StatusCode(StatusCodes.Status500InternalServerError); } - return BadRequest(result); } [HttpGet("ByUsername/{username}")] public virtual async Task GetByUsername([FromRoute] string username) { - var result = await _service.ReadByUsernameAsync(username); - if (result.IsSuccess) + try { - return Ok(result); + var result = await _service.ReadByUsernameAsync(username); + if (result.IsSuccess) + { + return Ok(result); + } + return NotFound(result); + } + catch(Exception ex) + { + _logger.LogError(ex, "{Message}", ex.Message); + return StatusCode(StatusCodes.Status500InternalServerError); } - return NotFound(result); } } } \ No newline at end of file