diff --git a/server/AyaNova/Controllers/GlobalBizSettingsController.cs b/server/AyaNova/Controllers/GlobalBizSettingsController.cs index 5dc9e167..d5a35c7d 100644 --- a/server/AyaNova/Controllers/GlobalBizSettingsController.cs +++ b/server/AyaNova/Controllers/GlobalBizSettingsController.cs @@ -139,22 +139,48 @@ namespace AyaNova.Api.Controllers /// /// [HttpGet("seeds")] - public async Task 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));