This commit is contained in:
@@ -147,26 +147,68 @@ namespace AyaNova.Api.Controllers
|
||||
if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.Global))
|
||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||
|
||||
/*
|
||||
modelBuilder.Entity<PurchaseOrder>().Property(z => z.Serial).UseIdentityByDefaultColumn();
|
||||
modelBuilder.Entity<Widget>().Property(z => z.Serial).UseIdentityByDefaultColumn();
|
||||
modelBuilder.Entity<WorkOrder>().Property(z => z.Serial).UseIdentityByDefaultColumn();
|
||||
modelBuilder.Entity<Quote>().Property(z => z.Serial).UseIdentityByDefaultColumn();
|
||||
modelBuilder.Entity<PM>().Property(z => z.Serial).UseIdentityByDefaultColumn();
|
||||
*/
|
||||
var NextPurchaseOrder = await ct.PurchaseOrder.AsNoTracking().OrderByDescending(p => p.Serial).Select(x => x.Serial).FirstOrDefaultAsync();
|
||||
|
||||
var NextPM = await ct.PM.AsNoTracking().OrderByDescending(p => p.Serial).Select(x => x.Serial).FirstOrDefaultAsync();
|
||||
|
||||
var ret = new
|
||||
{
|
||||
//Actual global settings:
|
||||
PurchaseOrderSerial = ++NextPurchaseOrder,
|
||||
PMSerial = ++NextPM
|
||||
PurchaseOrderNextSerial = await ct.PurchaseOrder.AsNoTracking().OrderByDescending(p => p.Serial).Select(x => x.Serial).FirstOrDefaultAsync() + 1,
|
||||
WorkorderNextSerial = await ct.WorkOrder.AsNoTracking().OrderByDescending(p => p.Serial).Select(x => x.Serial).FirstOrDefaultAsync() + 1,
|
||||
QuoteNextSerial = await ct.Quote.AsNoTracking().OrderByDescending(p => p.Serial).Select(x => x.Serial).FirstOrDefaultAsync() + 1,
|
||||
PMNextSerial = await ct.PM.AsNoTracking().OrderByDescending(p => p.Serial).Select(x => x.Serial).FirstOrDefaultAsync() + 1
|
||||
};
|
||||
|
||||
return Ok(ApiOkResponse.Response(ret));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// PUT New serial start seed
|
||||
/// </summary>
|
||||
/// <param name="aType"> one of PurchaseOrder, Workorder, PM, Quote serialized object types</param>
|
||||
/// <param name="nextSeed">Next value to use</param>
|
||||
/// <returns>OK or error response if not a valid value (seed number already in use)</returns>
|
||||
[HttpPut("seeds/{ayaType}/{nextSeed")]
|
||||
public async Task<IActionResult> SetNextSeed([FromRoute] AyaType aType, [FromRoute] long nextSeed)
|
||||
{
|
||||
if (serverState.IsClosed)
|
||||
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
|
||||
|
||||
if (!ModelState.IsValid)
|
||||
return BadRequest(new ApiErrorResponse(ModelState));
|
||||
|
||||
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.Global))
|
||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
||||
switch (aType)
|
||||
{
|
||||
case AyaType.PurchaseOrder:
|
||||
break;
|
||||
case AyaType.WorkOrder:
|
||||
break;
|
||||
case AyaType.Quote:
|
||||
break;
|
||||
case AyaType.PM:
|
||||
break;
|
||||
default:
|
||||
return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_INVALID_VALUE, "aType", "Not a serialized type"));
|
||||
|
||||
}
|
||||
|
||||
|
||||
//todo: set next seed here
|
||||
/*
|
||||
SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';"
|
||||
"awidget_serial_seq"
|
||||
"apurchaseorder_serial_seq"
|
||||
"aworkorder_serial_seq"
|
||||
"aquote_serial_seq"
|
||||
"apm_serial_seq"
|
||||
*/
|
||||
|
||||
// var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
|
||||
// if (o == null)
|
||||
// return StatusCode(409, new ApiErrorResponse(biz.Errors));
|
||||
return Ok(ApiOkResponse.Response(new { Ok = 1 }));
|
||||
}
|
||||
|
||||
|
||||
}//eoc
|
||||
}//ens
|
||||
Reference in New Issue
Block a user