This commit is contained in:
2021-03-22 15:17:07 +00:00
parent c89e18dddf
commit a64f99b880
3 changed files with 37 additions and 2 deletions

2
.vscode/launch.json vendored
View File

@@ -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\\"

View File

@@ -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));
}
/// <summary>
/// Get next serial numbers for serialized objects
/// </summary>
/// <returns></returns>
[HttpGet("seeds")]
public async Task<IActionResult> 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<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
{
//Actual global settings:
PurchaseOrderSerial = ++NextPurchaseOrder,
PMSerial = ++NextPM
};
return Ok(ApiOkResponse.Response(ret));
}
}//eoc
}//ens

View File

@@ -160,7 +160,7 @@ namespace AyaNova.Models
modelBuilder.Entity<WorkOrder>().Property(z => z.Serial).UseIdentityByDefaultColumn();
modelBuilder.Entity<Quote>().Property(z => z.Serial).UseIdentityByDefaultColumn();
modelBuilder.Entity<PM>().Property(z => z.Serial).UseIdentityByDefaultColumn();
//## NOTE: if more added here then must also update globalbizsettingscontroller.seeds and client
//////////////////////////////////////////////////////////////