diff --git a/server/AyaNova/Controllers/WorkOrderController.cs b/server/AyaNova/Controllers/WorkOrderController.cs index 5c8f1cbf..ade56653 100644 --- a/server/AyaNova/Controllers/WorkOrderController.cs +++ b/server/AyaNova/Controllers/WorkOrderController.cs @@ -117,7 +117,7 @@ namespace AyaNova.Api.Controllers return StatusCode(403, new ApiNotAuthorizedResponse()); if (!ModelState.IsValid) return BadRequest(new ApiErrorResponse(ModelState)); - var o = await biz.WorkOrderGetAsync(id); + var o = await biz.WorkOrderGetAsync(id, true); if (o == null) return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); return Ok(ApiOkResponse.Response(o)); } diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs index 11cd83b7..7e8a0a41 100644 --- a/server/AyaNova/biz/WorkOrderBiz.cs +++ b/server/AyaNova/biz/WorkOrderBiz.cs @@ -143,7 +143,7 @@ namespace AyaNova.Biz //////////////////////////////////////////////////////////////////////////////////////////////// // GET // - internal async Task WorkOrderGetAsync(long id, bool logTheGetEvent = true) + internal async Task WorkOrderGetAsync(long id, bool populateDisplayFields, bool logTheGetEvent = true) { //Note: there could be rules checking here in future, i.e. can only get own workorder or something //if so, then need to implement AddError and in route handle Null return with Error check just like PUT route does now @@ -180,6 +180,8 @@ namespace AyaNova.Biz ret.IsLockedAtServer = stat.Locked; ret.IsDirty = false; + if (populateDisplayFields) + await WorkOrderPopulateVizFields(ret); if (logTheGetEvent && ret != null) await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, id, BizType, AyaEvent.Retrieved), ct); @@ -763,7 +765,9 @@ namespace AyaNova.Biz // private async Task StatePopulateVizFields(WorkOrderState o) { - await Task.CompletedTask; + + o.UserViz = await ct.User.AsNoTracking().Where(x => x.Id == o.UserId).Select(x => x.Name).FirstOrDefaultAsync(); + // await Task.CompletedTask; // if (o.WorkOrderOverseerId != null) // o.WorkOrderOverseerViz = await ct.User.AsNoTracking().Where(x => x.Id == o.WorkOrderOverseerId).Select(x => x.Name).FirstOrDefaultAsync(); } diff --git a/server/AyaNova/models/WorkOrderState.cs b/server/AyaNova/models/WorkOrderState.cs index c0530e70..46c40b90 100644 --- a/server/AyaNova/models/WorkOrderState.cs +++ b/server/AyaNova/models/WorkOrderState.cs @@ -15,9 +15,13 @@ namespace AyaNova.Models public long WorkOrderId { get; set; } [Required] public long WorkOrderStatusId { get; set; } + + public DateTime Created { get; set; } = DateTime.UtcNow; [Required] public long UserId { get; set; } + [NotMapped] + public string UserViz { get; set; } //UTILITY FIELDS [NotMapped]