This commit is contained in:
2021-03-22 20:33:34 +00:00
parent fb0f8352c7
commit 9b575ec3d3

View File

@@ -139,22 +139,48 @@ namespace AyaNova.Api.Controllers
/// </summary>
/// <returns></returns>
[HttpGet("seeds")]
public async Task<IActionResult> GetSeeds()
public ActionResult GetSeeds()
{
if (serverState.IsClosed)
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.Global))
return StatusCode(403, new ApiNotAuthorizedResponse());
//select last_value from aworkorder_serial_seq
long WONext = 0, PONext = 0, QuoteNext = 0, PMNext = 0;
using (var command = ct.Database.GetDbConnection().CreateCommand())
{
ct.Database.OpenConnection();
command.CommandText = "select last_value from apurchaseorder_serial_seq;";
using (var dr = command.ExecuteReader())
if (dr.HasRows)
PONext = dr.Read() ? dr.GetInt64(0) : 0;
command.CommandText = "select last_value from aworkorder_serial_seq;";
using (var dr = command.ExecuteReader())
if (dr.HasRows)
WONext = dr.Read() ? dr.GetInt64(0) : 0;
command.CommandText = "select last_value from aquote_serial_seq;";
using (var dr = command.ExecuteReader())
if (dr.HasRows)
QuoteNext = dr.Read() ? dr.GetInt64(0) : 0;
command.CommandText = "select last_value from apm_serial_seq;";
using (var dr = command.ExecuteReader())
if (dr.HasRows)
PMNext = dr.Read() ? dr.GetInt64(0) : 0;
ct.Database.CloseConnection();
}
var ret = new
{
//Actual global settings:
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
PurchaseOrderNextSerial = PONext,
WorkorderNextSerial = WONext,
QuoteNextSerial = QuoteNext,
PMNextSerial = PMNext
};
return Ok(ApiOkResponse.Response(ret));