This commit is contained in:
@@ -136,6 +136,11 @@ namespace AyaNova.Api.Controllers
|
||||
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
|
||||
if (!ModelState.IsValid)
|
||||
return BadRequest(new ApiErrorResponse(ModelState));
|
||||
|
||||
if (updatedObject.Items.Count > 0)
|
||||
{
|
||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.INVALID_OPERATION, "generalerror", "Work order PUT route accepts header only; PUT Work order descendants separately"));
|
||||
}
|
||||
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
|
||||
if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType))
|
||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||
@@ -503,7 +508,7 @@ namespace AyaNova.Api.Controllers
|
||||
else
|
||||
return BadRequest(new ApiErrorResponse(biz.Errors));
|
||||
}
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -719,7 +724,7 @@ namespace AyaNova.Api.Controllers
|
||||
else
|
||||
return BadRequest(new ApiErrorResponse(biz.Errors));
|
||||
}
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -828,7 +833,7 @@ namespace AyaNova.Api.Controllers
|
||||
else
|
||||
return BadRequest(new ApiErrorResponse(biz.Errors));
|
||||
}
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -935,7 +940,7 @@ namespace AyaNova.Api.Controllers
|
||||
else
|
||||
return BadRequest(new ApiErrorResponse(biz.Errors));
|
||||
}
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1041,7 +1046,7 @@ namespace AyaNova.Api.Controllers
|
||||
else
|
||||
return BadRequest(new ApiErrorResponse(biz.Errors));
|
||||
}
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1359,7 +1364,7 @@ namespace AyaNova.Api.Controllers
|
||||
else
|
||||
return BadRequest(new ApiErrorResponse(biz.Errors));
|
||||
}
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1465,7 +1470,7 @@ namespace AyaNova.Api.Controllers
|
||||
else
|
||||
return BadRequest(new ApiErrorResponse(biz.Errors));
|
||||
}
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
return Ok(ApiOkResponse.Response(o));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -212,10 +212,7 @@ namespace AyaNova.Biz
|
||||
//
|
||||
internal async Task<WorkOrder> WorkOrderPutAsync(WorkOrder putObject)
|
||||
{
|
||||
|
||||
//todo: bizactions, contract change update pricing entire workorder and return it entirely?
|
||||
//no client must fetch it, just return concurrency as per normal here
|
||||
|
||||
//## PUT HEADER ONLY, NO ALLOWANCE FOR PUT OF ENTIRE WORKORDER
|
||||
|
||||
//Note: this is intentionally not using the getasync because
|
||||
//doing so would invoke the children which would then get deleted on save since putobject has no children
|
||||
@@ -3331,14 +3328,7 @@ namespace AyaNova.Biz
|
||||
//
|
||||
//
|
||||
private async Task PartBizActionsAsync(AyaEvent ayaEvent, WorkOrderItemPart newObj, WorkOrderItemPart oldObj, IDbContextTransaction transaction)
|
||||
{
|
||||
//automatic actions on record change, called AFTER validation
|
||||
|
||||
//### TODO: make this work with inventory, also check if delete entire workorder will still call this (or delete woitem)
|
||||
// if delete wo doesn't call this, it will need to
|
||||
|
||||
//#### Make sure serials are handled
|
||||
|
||||
{
|
||||
|
||||
if (AyaNova.Util.ServerGlobalBizSettings.UseInventory)
|
||||
{
|
||||
@@ -3396,7 +3386,7 @@ namespace AyaNova.Biz
|
||||
}
|
||||
|
||||
|
||||
//UPDATED HANDLE INVENTORY / UPDATE SERIALS AS REQUIRED
|
||||
//UPDATED, HANDLE INVENTORY / UPDATE SERIALS AS REQUIRED
|
||||
if (ayaEvent == AyaEvent.Modified)
|
||||
{
|
||||
//determine if any changes affecting inventory
|
||||
@@ -3445,8 +3435,16 @@ namespace AyaNova.Biz
|
||||
await PartBiz.RemoveSerialsAsync(newObj.PartId, newObj.Serials, ct, UserId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
else if (newObj.Serials != oldObj.Serials)
|
||||
{
|
||||
//Only a serial number adjustment so in and out all serials to be safe and not try to parse too closely
|
||||
//return serial numbers to part
|
||||
if (!string.IsNullOrWhiteSpace(oldObj.Serials))
|
||||
await PartBiz.AppendSerialsAsync(oldObj.PartId, oldObj.Serials, ct, UserId);
|
||||
//Consume serial numbers from part
|
||||
if (!string.IsNullOrWhiteSpace(newObj.Serials))
|
||||
await PartBiz.RemoveSerialsAsync(newObj.PartId, newObj.Serials, ct, UserId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user