diff --git a/PARR.API/Contracts/V1/ApiRoutes.cs b/PARR.API/Contracts/V1/ApiRoutes.cs index a5136c9c..b801ff53 100644 --- a/PARR.API/Contracts/V1/ApiRoutes.cs +++ b/PARR.API/Contracts/V1/ApiRoutes.cs @@ -217,6 +217,7 @@ namespace PARR.API.Contracts.V1 public static class Order { public const string GetAll = Base + "/orders/"; + public const string Get = Base + "/orders/" + getParam; public const string getParam = "{id}"; } diff --git a/PARR.API/Controllers/V1/OrderController.cs b/PARR.API/Controllers/V1/OrderController.cs index 44379e29..e281ba28 100644 --- a/PARR.API/Controllers/V1/OrderController.cs +++ b/PARR.API/Controllers/V1/OrderController.cs @@ -44,8 +44,8 @@ namespace PARR.API.Controllers.V1 var paginationFilter = mapper.Map(paginationQuery); var query = orderService.Get() - .Include(t=>t.Template) - .Include(s=>s.OrderStatus) + .Include(t => t.Template) + .Include(s => s.OrderStatus) .Include(s => s.NextStatus) .OrderByDescending(t => t.DateCreated); @@ -60,5 +60,28 @@ namespace PARR.API.Controllers.V1 return Ok(paginationResponse); } + + /// + /// Получить наряд по id + /// + /// + /// + [HttpGet(ApiRoutes.Order.Get)] + public async Task Get([FromRoute] Guid id) + { + var order = await orderService.Get() + .Include(t => t.Template) + .Include(s => s.OrderStatus) + .Include(s => s.NextStatus) + .FirstOrDefaultAsync(t => t.Id == id); + + if (order == null) + return NotFound(); + + var response = mapper.Map(order); + + return Ok(new Response(response, true)); + } + } }