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/WorkOrderController.cs b/server/AyaNova/Controllers/WorkOrderController.cs
index 43d48d91..78e5331e 100644
--- a/server/AyaNova/Controllers/WorkOrderController.cs
+++ b/server/AyaNova/Controllers/WorkOrderController.cs
@@ -172,32 +172,32 @@ namespace AyaNova.Api.Controllers
- ///
- /// Change existing work order's Contract
- /// applies new Contract and returns complete updated work order
- ///
- /// Work order id
- /// new contract id
- /// From route path
- /// WorkOrder
- [HttpPost("set-contract/{workOrderId}")]
- public async Task ChangeContract([FromRoute] long workOrderId, [FromBody] ContractChangeRecord newContractChangeRecord, ApiVersion apiVersion)
- {
- if (!serverState.IsOpen)
- return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
- WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
- if (!Authorized.HasCreateRole(HttpContext.Items, biz.BizType))
- return StatusCode(403, new ApiNotAuthorizedResponse());
- if (!ModelState.IsValid)
- return BadRequest(new ApiErrorResponse(ModelState));
- WorkOrder o = await biz.ChangeContract(workOrderId, newContractChangeRecord.NewContractId);
- if (o == null)
- return BadRequest(new ApiErrorResponse(biz.Errors));
- else
- return Ok(ApiOkResponse.Response(o));
- }
+ // ///
+ // /// Change existing work order's Contract
+ // /// applies new Contract and returns complete updated work order
+ // ///
+ // /// Work order id
+ // /// new contract id
+ // /// From route path
+ // /// WorkOrder
+ // [HttpPost("set-contract/{workOrderId}")]
+ // public async Task ChangeContract([FromRoute] long workOrderId, [FromBody] ContractChangeRecord newContractChangeRecord, ApiVersion apiVersion)
+ // {
+ // if (!serverState.IsOpen)
+ // return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
+ // WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
+ // if (!Authorized.HasCreateRole(HttpContext.Items, biz.BizType))
+ // return StatusCode(403, new ApiNotAuthorizedResponse());
+ // if (!ModelState.IsValid)
+ // return BadRequest(new ApiErrorResponse(ModelState));
+ // WorkOrder o = await biz.ChangeContract(workOrderId, newContractChangeRecord.NewContractId);
+ // if (o == null)
+ // return BadRequest(new ApiErrorResponse(biz.Errors));
+ // else
+ // return Ok(ApiOkResponse.Response(o));
+ // }
- public record ContractChangeRecord(long? NewContractId);
+ // public record ContractChangeRecord(long? NewContractId);
#endregion WorkOrderTopLevel routes
diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs
index 6755a757..9b2ef737 100644
--- a/server/AyaNova/biz/WorkOrderBiz.cs
+++ b/server/AyaNova/biz/WorkOrderBiz.cs
@@ -383,32 +383,32 @@ namespace AyaNova.Biz
}
}
- ////////////////////////////////////////////////////////////////////////////////////////////////
- //CONTRACT UPDATE
- //
- internal async Task ChangeContract(long workOrderId, long? newContractId)
- {
- //this is called by UI via contract change route for contract change only and expects wo back to update client ui
- var w = await ct.WorkOrder.FirstOrDefaultAsync(z => z.Id == workOrderId);
+ // ////////////////////////////////////////////////////////////////////////////////////////////////
+ // //CONTRACT UPDATE
+ // //
+ // internal async Task ChangeContract(long workOrderId, long? newContractId)
+ // {
+ // //this is called by UI via contract change route for contract change only and expects wo back to update client ui
+ // var w = await ct.WorkOrder.FirstOrDefaultAsync(z => z.Id == workOrderId);
- if (w == null)
- {
- AddError(ApiErrorCode.NOT_FOUND, "id");
- return null;
- }
- if (newContractId != null && !await ct.Contract.AnyAsync(z => z.Id == newContractId))
- {
- AddError(ApiErrorCode.NOT_FOUND, "generalerror", $"Contract with id {newContractId} not found");
- return null;
- }
- w.ContractId = newContractId;
- await ct.SaveChangesAsync();
- await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, workOrderId, BizType, AyaEvent.Modified), ct);
- await GetCurrentContractFromContractIdAsync(newContractId);
- var updatedWorkOrder = await ProcessChangeOfContractAsync(workOrderId);
- await WorkOrderPopulateVizFields(updatedWorkOrder, false);
- return updatedWorkOrder;//return entire workorder
- }
+ // if (w == null)
+ // {
+ // AddError(ApiErrorCode.NOT_FOUND, "id");
+ // return null;
+ // }
+ // if (newContractId != null && !await ct.Contract.AnyAsync(z => z.Id == newContractId))
+ // {
+ // AddError(ApiErrorCode.NOT_FOUND, "generalerror", $"Contract with id {newContractId} not found");
+ // return null;
+ // }
+ // w.ContractId = newContractId;
+ // await ct.SaveChangesAsync();
+ // await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, workOrderId, BizType, AyaEvent.Modified), ct);
+ // await GetCurrentContractFromContractIdAsync(newContractId);
+ // var updatedWorkOrder = await ProcessChangeOfContractAsync(workOrderId);
+ // await WorkOrderPopulateVizFields(updatedWorkOrder, false);
+ // return updatedWorkOrder;//return entire workorder
+ // }
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -739,10 +739,10 @@ namespace AyaNova.Biz
//popup Alert notes
//Customer notes first then others below
- var customerAlert = await ct.Customer.AsNoTracking().Where(x => x.Id == o.CustomerId).Select(x => x.PopUpNotes).FirstOrDefaultAsync();
- if (!string.IsNullOrWhiteSpace(customerAlert))
+ var customerAlert = await ct.Customer.AsNoTracking().Where(x => x.Id == o.CustomerId).Select(x => new{ PopUpNotes=x.PopUpNotes,Name= x.Name}).FirstOrDefaultAsync();
+ if (!string.IsNullOrWhiteSpace(customerAlert.PopUpNotes))
{
- o.AlertViz = $"{await Translate("Customer")}:\n{customerAlert}\n\n";
+ o.AlertViz = $"{await Translate("Customer")} {customerAlert.Name}:\n{customerAlert.PopUpNotes}\n\n";
}
if (o.ProjectId != null)
@@ -750,11 +750,11 @@ namespace AyaNova.Biz
if (o.ContractId != null)
{
- var contractVizFields = await ct.Contract.AsNoTracking().Where(x => x.Id == o.ContractId).Select(x => new { name = x.Name, alert = x.AlertNotes }).FirstOrDefaultAsync();
- o.ContractViz = contractVizFields.name;
- if (!string.IsNullOrWhiteSpace(contractVizFields.alert))
+ var contractVizFields = await ct.Contract.AsNoTracking().Where(x => x.Id == o.ContractId).Select(x => new { Name = x.Name, AlertNotes = x.AlertNotes }).FirstOrDefaultAsync();
+ o.ContractViz = contractVizFields.Name;
+ if (!string.IsNullOrWhiteSpace(contractVizFields.AlertNotes))
{
- o.AlertViz += $"{await Translate("Contract")}:\n{contractVizFields.alert}\n\n";
+ o.AlertViz += $"{await Translate("Contract")} {contractVizFields.Name}:\n{contractVizFields.AlertNotes}\n\n";
}
}
else