diff --git a/.vscode/launch.json b/.vscode/launch.json
index fcc80a75..b77f3b95 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/WorkOrderController.cs b/server/AyaNova/Controllers/WorkOrderController.cs
index a4a7798a..c6eaacc2 100644
--- a/server/AyaNova/Controllers/WorkOrderController.cs
+++ b/server/AyaNova/Controllers/WorkOrderController.cs
@@ -7,7 +7,8 @@ using Microsoft.Extensions.Logging;
using AyaNova.Models;
using AyaNova.Api.ControllerHelpers;
using AyaNova.Biz;
-
+using Microsoft.EntityFrameworkCore;
+using System.Linq;
namespace AyaNova.Api.Controllers
{
@@ -181,6 +182,31 @@ namespace AyaNova.Api.Controllers
+ ///
+ /// Get WorkOrder id from work order serial number
+ ///
+ ///
+ /// WorkOrder
+ [HttpGet("id-from-number/{number}")]
+ public async Task GetWorkOrderIdFromNumber([FromRoute] long number)
+ {
+ if (!serverState.IsOpen)
+ return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
+
+ if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.WorkOrder))
+ return StatusCode(403, new ApiNotAuthorizedResponse());
+ if (!ModelState.IsValid)
+ return BadRequest(new ApiErrorResponse(ModelState));
+ var o = await ct.WorkOrder.AsNoTracking()
+ .Where(z => z.Serial == number)
+ .Select(z => z.Id)
+ .SingleOrDefaultAsync();
+ if (o == 0) return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND));
+ return Ok(ApiOkResponse.Response(o));
+ }
+
+
+
// ///
// /// Change existing work order's Contract
// /// applies new Contract and returns complete updated work order
diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs
index 82ed3a65..b7fe5bf4 100644
--- a/server/AyaNova/biz/WorkOrderBiz.cs
+++ b/server/AyaNova/biz/WorkOrderBiz.cs
@@ -557,6 +557,20 @@ namespace AyaNova.Biz
}
+
+ // ////////////////////////////////////////////////////////////////////////////////////////////////
+ // //GET WORKORDER ID FOR WORK ORDER NUMBER
+ // //
+ // internal static async Task GetWorkOrderIdForNumberAsync(long woNumber, AyContext ct)
+ // {
+ // return await ct.WorkOrder.AsNoTracking()
+ // .Where(z => z.Serial == woNumber)
+ // .Select(z => z.Id)
+ // .SingleOrDefaultAsync();
+ // }
+
+
+
////////////////////////////////////////////////////////////////////////////////////////////////
//SEARCH
//