diff --git a/server/AyaNova/Controllers/WorkOrderController.cs b/server/AyaNova/Controllers/WorkOrderController.cs
index cf8cbdec..67750fd5 100644
--- a/server/AyaNova/Controllers/WorkOrderController.cs
+++ b/server/AyaNova/Controllers/WorkOrderController.cs
@@ -177,11 +177,11 @@ namespace AyaNova.Api.Controllers
/// applies new Contract and returns complete updated work order
///
/// Work order id
- /// new contract id
+ /// new contract id
/// From route path
/// WorkOrder
- [HttpPost("contract/{workOrderId}")]
- public async Task ChangeContract([FromRoute] long workOrderId, [FromBody] long? newContractId, ApiVersion apiVersion)
+ [HttpPost("set-contract/{workOrderId}")]
+ public async Task ChangeContract([FromRoute] long workOrderId, [FromBody] ContractChangeRecord newContractChangeRecord, ApiVersion apiVersion)
{
if (!serverState.IsOpen)
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
@@ -190,14 +190,14 @@ namespace AyaNova.Api.Controllers
return StatusCode(403, new ApiNotAuthorizedResponse());
if (!ModelState.IsValid)
return BadRequest(new ApiErrorResponse(ModelState));
- WorkOrder o = await biz.ChangeContract(workOrderId, newContractId);
+ WorkOrder o = await biz.ChangeContract(workOrderId, newContractChangeRecord.NewContractId);
if (o == null)
return BadRequest(new ApiErrorResponse(biz.Errors));
else
return Ok(ApiOkResponse.Response(o));
}
-
+ public record ContractChangeRecord(long? NewContractId);
#endregion WorkOrderTopLevel routes
diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs
index cbe77ef1..976f6f52 100644
--- a/server/AyaNova/biz/WorkOrderBiz.cs
+++ b/server/AyaNova/biz/WorkOrderBiz.cs
@@ -320,7 +320,7 @@ namespace AyaNova.Biz
internal async Task ChangeContract(long workOrderId, long? newContractId)
{
//this is called by UI via contract change route for contract change only and expects wo back to update client ui
- var w=await WorkOrderGetAsync(workOrderId,false,false);
+ var w=await ct.WorkOrder.FirstOrDefaultAsync(z=>z.Id==workOrderId);
if (w==null)
{