From 94c7025865cef33f76d858171a0785122d5993a7 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 7 May 2020 00:07:40 +0000 Subject: [PATCH] --- server/AyaNova/Controllers/WorkOrderController.cs | 15 ++++++++++++--- server/AyaNova/biz/AyaType.cs | 8 ++++++-- server/AyaNova/biz/WorkOrderBiz.cs | 3 +++ server/AyaNova/models/WorkOrder.cs | 2 +- server/AyaNova/models/WorkOrderItem.cs | 7 +++++-- 5 files changed, 27 insertions(+), 8 deletions(-) diff --git a/server/AyaNova/Controllers/WorkOrderController.cs b/server/AyaNova/Controllers/WorkOrderController.cs index df8bda2f..1947a9ff 100644 --- a/server/AyaNova/Controllers/WorkOrderController.cs +++ b/server/AyaNova/Controllers/WorkOrderController.cs @@ -71,6 +71,10 @@ namespace AyaNova.Api.Controllers return Ok(ApiOkResponse.Response(o, !Authorized.HasModifyRole(HttpContext.Items, biz.BizType))); } + //TODO: GET BY RELATIVE + //get by descendent type and id + + /// @@ -116,7 +120,7 @@ namespace AyaNova.Api.Controllers - + //TODO: this should post a workorder instead, no need for Create first like this /// /// Post WorkOrder @@ -148,10 +152,15 @@ namespace AyaNova.Api.Controllers return BadRequest(new ApiErrorResponse(biz.Errors)); else return CreatedAtAction(nameof(WorkOrderController.GetWorkOrder), new { id = o.Id, version = apiVersion.ToString() }, new ApiCreatedResponse(o)); - - } + //TODO: CreateFromTemplate(templateid) + //TODO: Createfromquote(quoteid) + //todo: createfrompm(pmid) + + + + /// /// Duplicate WorkOrder /// diff --git a/server/AyaNova/biz/AyaType.cs b/server/AyaNova/biz/AyaType.cs index 7f8417a7..506a1937 100644 --- a/server/AyaNova/biz/AyaType.cs +++ b/server/AyaNova/biz/AyaType.cs @@ -80,9 +80,13 @@ namespace AyaNova.Biz [CoreBizObject] WorkOrderItem = 35, [CoreBizObject] - WorkOrderTemplate = 36, + WorkOrderItemLabor = 36, [CoreBizObject] - WorkOrderTemplateItem = 37 + WorkOrderItemPart = 37, + [CoreBizObject] + WorkOrderTemplate = 38, + [CoreBizObject] + WorkOrderTemplateItem = 39 //NOTE: New objects added here need to also be added to the following classes: diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs index be6235bc..4124c1e5 100644 --- a/server/AyaNova/biz/WorkOrderBiz.cs +++ b/server/AyaNova/biz/WorkOrderBiz.cs @@ -76,6 +76,9 @@ WARNING: Since version 3.0.0, each Include will cause an additional JOIN to be a //////////////////////////////////////////////////////////////////////////////////////////////// //CREATE + //TODO: Modify this to expect a workorder object like most POST routes for other objects + //No need for this style of create empty and return + //Called from route and also seeder internal async Task CreateAsync(long? workorderTemplateId, long? customerId, uint? serial) { diff --git a/server/AyaNova/models/WorkOrder.cs b/server/AyaNova/models/WorkOrder.cs index 097f39de..ae59e003 100644 --- a/server/AyaNova/models/WorkOrder.cs +++ b/server/AyaNova/models/WorkOrder.cs @@ -35,7 +35,7 @@ namespace AyaNova.Models //NOTE: this could be a common class applied to everything for common biz rule stuff //i.e. specific rights in situations based on rules, like candelete, canedit etc [NotMapped] - public bool NonDataBaseExampleColumn { get; set; }//example of how to add a property that is not persisted but is used by both ends dynamically, should come up with a naming scheme so can see them at a glance + public string OP { get; set; }//Patch operation value, e.g. "add", "remove", "replace" }//eoc diff --git a/server/AyaNova/models/WorkOrderItem.cs b/server/AyaNova/models/WorkOrderItem.cs index b9f33c69..21a27a7c 100644 --- a/server/AyaNova/models/WorkOrderItem.cs +++ b/server/AyaNova/models/WorkOrderItem.cs @@ -24,21 +24,24 @@ namespace AyaNova.Models //Principle [Required] public long WorkorderId { get; set; }//fk - + [JsonIgnore]//Avoid circular reference when serializing public WorkOrder WorkOrder { get; set; } + //dependents + public List WorkorderItemLabors { get; set; } public WorkOrderItem() { Tags = new List(); + WorkorderItemLabors = new List(); } //Not persisted business properties //NOTE: this could be a common class applied to everything for common biz rule stuff //i.e. specific rights in situations based on rules, like candelete, canedit etc [NotMapped] - public bool NonDataBaseExampleColumn { get; set; }//example of how to add a property that is not persisted but is used by both ends dynamically, should come up with a naming scheme so can see them at a glance + public bool OP { get; set; }//patch operation value }//eoc