diff --git a/OpenAdm.Api/Controllers/PedidoController.cs b/OpenAdm.Api/Controllers/PedidoController.cs index dd2f41f..b4afc41 100644 --- a/OpenAdm.Api/Controllers/PedidoController.cs +++ b/OpenAdm.Api/Controllers/PedidoController.cs @@ -51,4 +51,18 @@ public async Task GetPedidos([FromQuery] int statusPedido) return await HandleErrorAsync(ex); } } + + [HttpGet("get")] + public async Task Get([FromQuery] Guid pedidoId) + { + try + { + var pedido = await _pedidoService.GetAsync(pedidoId); + return Ok(pedido); + } + catch (Exception ex) + { + return await HandleErrorAsync(ex); + } + } } diff --git a/OpenAdm.Api/Controllers/Pedidos/CreatePedidoController.cs b/OpenAdm.Api/Controllers/Pedidos/CreatePedidoController.cs index defb82e..d738af5 100644 --- a/OpenAdm.Api/Controllers/Pedidos/CreatePedidoController.cs +++ b/OpenAdm.Api/Controllers/Pedidos/CreatePedidoController.cs @@ -17,8 +17,8 @@ public class CreatePedidoController : ControllerBaseApi private readonly IUsuarioRepository _usuarioRepository; public CreatePedidoController( - ICreatePedidoService createPedidoService, - ITokenService tokenService, + ICreatePedidoService createPedidoService, + ITokenService tokenService, IUsuarioRepository usuarioRepository) { _createPedidoService = createPedidoService; @@ -39,7 +39,7 @@ public async Task CreatePedido(IList itensPedid } var result = await _createPedidoService.CreatePedidoAsync(itensPedidoModels, usuario); - return Ok(new { message = "Pedido criado com sucesso!" }); + return Ok(new { message = "Pedido criado com sucesso!", pedido = result }); } catch (Exception ex) { diff --git a/OpenAdm.Application/Interfaces/IPedidoService.cs b/OpenAdm.Application/Interfaces/IPedidoService.cs index 30f1fbe..59d0d9a 100644 --- a/OpenAdm.Application/Interfaces/IPedidoService.cs +++ b/OpenAdm.Application/Interfaces/IPedidoService.cs @@ -8,4 +8,5 @@ public interface IPedidoService { Task> GetPaginacaoAsync(PaginacaoPedidoDto paginacaoPedidoDto); Task> GetPedidosUsuarioAsync(int statusPedido, Guid usuarioId); + Task GetAsync(Guid pedidoId); } diff --git a/OpenAdm.Application/Services/PedidoService.cs b/OpenAdm.Application/Services/PedidoService.cs index e82414d..5ff6f24 100644 --- a/OpenAdm.Application/Services/PedidoService.cs +++ b/OpenAdm.Application/Services/PedidoService.cs @@ -15,6 +15,14 @@ public class PedidoService( { private readonly IPedidoRepository _pedidoRepository = pedidoRepository; + public async Task GetAsync(Guid pedidoId) + { + var pedido = await _pedidoRepository.GetPedidoByIdAsync(pedidoId) + ?? throw new Exception($"Pedido não localizado: {pedidoId}"); + + return new PedidoViewModel().ForModel(pedido); + } + public async Task> GetPaginacaoAsync(PaginacaoPedidoDto paginacaoPedidoDto) { var paginacao = await _pedidoRepository.GetPaginacaoPedidoAsync(paginacaoPedidoDto); diff --git a/OpenAdm.Application/Services/TokenService.cs b/OpenAdm.Application/Services/TokenService.cs index 7f0d48a..2207265 100644 --- a/OpenAdm.Application/Services/TokenService.cs +++ b/OpenAdm.Application/Services/TokenService.cs @@ -46,6 +46,7 @@ public UsuarioViewModel GetTokenUsuarioViewModel() var telefone = claimsIdentity.Claims.FirstOrDefault(c => c.Type == "Telefone")?.Value; var cnpj = claimsIdentity.Claims.FirstOrDefault(c => c.Type == "Cnpj")?.Value; + var cpf = claimsIdentity.Claims.FirstOrDefault(c => c.Type == "Cpf")?.Value; if (!DateTime.TryParse(dataDeCriacao, out DateTime newDataDeCriacao)) throw new ExceptionApi("token inválido"); @@ -62,7 +63,8 @@ public UsuarioViewModel GetTokenUsuarioViewModel() DataDeCriacao = newDataDeCriacao, DataDeAtualizacao = newDataDeAtualizacao, Telefone = telefone, - Cnpj = cnpj + Cnpj = cnpj, + Cpf = cpf }; } public bool IsFuncionario()