From a64f99b88031b08b96caf3cf906742b771e6a8c1 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Mon, 22 Mar 2021 15:17:07 +0000 Subject: [PATCH] --- .vscode/launch.json | 2 +- .../GlobalBizSettingsController.cs | 35 +++++++++++++++++++ server/AyaNova/models/AyContext.cs | 2 +- 3 files changed, 37 insertions(+), 2 deletions(-) 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 //////////////////////////////////////////////////////////////