diff --git a/.vscode/launch.json b/.vscode/launch.json
index 8fd97968..0e2049e9 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -53,7 +53,7 @@
"AYANOVA_FOLDER_USER_FILES": "c:\\temp\\RavenTestData\\userfiles",
"AYANOVA_FOLDER_BACKUP_FILES": "c:\\temp\\RavenTestData\\backupfiles",
"AYANOVA_FOLDER_TEMPORARY_SERVER_FILES": "c:\\temp\\RavenTestData\\tempfiles",
- "AYANOVA_SERVER_TEST_MODE": "true",
+ "AYANOVA_SERVER_TEST_MODE": "false",
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "small",
"AYANOVA_SERVER_TEST_MODE_TZ_OFFSET": "-7",
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_13\\bin\\"
diff --git a/server/AyaNova/Controllers/GlobalBizSettingsController.cs b/server/AyaNova/Controllers/GlobalBizSettingsController.cs
index efe0c158..f1ee4a1e 100644
--- a/server/AyaNova/Controllers/GlobalBizSettingsController.cs
+++ b/server/AyaNova/Controllers/GlobalBizSettingsController.cs
@@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Routing;
using Microsoft.Extensions.Logging;
using Microsoft.AspNetCore.Authorization;
using Microsoft.EntityFrameworkCore;
+using System.Linq;
using AyaNova.Models;
using AyaNova.Api.ControllerHelpers;
using AyaNova.Biz;
@@ -133,5 +134,39 @@ namespace AyaNova.Api.Controllers
return Ok(ApiOkResponse.Response(ret));
}
+ ///
+ /// Get next serial numbers for serialized objects
+ ///
+ ///
+ [HttpGet("seeds")]
+ public async Task 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());
+
+ /*
+ modelBuilder.Entity().Property(z => z.Serial).UseIdentityByDefaultColumn();
+ modelBuilder.Entity().Property(z => z.Serial).UseIdentityByDefaultColumn();
+ modelBuilder.Entity().Property(z => z.Serial).UseIdentityByDefaultColumn();
+ modelBuilder.Entity().Property(z => z.Serial).UseIdentityByDefaultColumn();
+ modelBuilder.Entity().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
+ };
+
+ return Ok(ApiOkResponse.Response(ret));
+ }
+
}//eoc
}//ens
\ No newline at end of file
diff --git a/server/AyaNova/models/AyContext.cs b/server/AyaNova/models/AyContext.cs
index b986bad6..b80664de 100644
--- a/server/AyaNova/models/AyContext.cs
+++ b/server/AyaNova/models/AyContext.cs
@@ -160,7 +160,7 @@ namespace AyaNova.Models
modelBuilder.Entity().Property(z => z.Serial).UseIdentityByDefaultColumn();
modelBuilder.Entity().Property(z => z.Serial).UseIdentityByDefaultColumn();
modelBuilder.Entity().Property(z => z.Serial).UseIdentityByDefaultColumn();
-
+ //## NOTE: if more added here then must also update globalbizsettingscontroller.seeds and client
//////////////////////////////////////////////////////////////