This commit is contained in:
@@ -147,26 +147,68 @@ namespace AyaNova.Api.Controllers
|
|||||||
if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.Global))
|
if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.Global))
|
||||||
return StatusCode(403, new ApiNotAuthorizedResponse());
|
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
|
var ret = new
|
||||||
{
|
{
|
||||||
//Actual global settings:
|
//Actual global settings:
|
||||||
PurchaseOrderSerial = ++NextPurchaseOrder,
|
PurchaseOrderNextSerial = await ct.PurchaseOrder.AsNoTracking().OrderByDescending(p => p.Serial).Select(x => x.Serial).FirstOrDefaultAsync() + 1,
|
||||||
PMSerial = ++NextPM
|
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));
|
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
|
}//eoc
|
||||||
}//ens
|
}//ens
|
||||||
Reference in New Issue
Block a user