This commit is contained in:
2021-04-01 14:18:34 +00:00
parent 5505cfcc87
commit 23cc77d38c
39 changed files with 176 additions and 73 deletions

View File

@@ -62,7 +62,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) FileAttachment
/// Update FileAttachment
/// (FileName and notes only)
/// </summary>
/// <param name="id"></param>

View File

@@ -103,7 +103,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) Contract
/// Update Contract
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -103,7 +103,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) Customer
/// Update Customer
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -81,7 +81,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) CustomerNote
/// Update CustomerNote
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -104,7 +104,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) CustomerServiceRequest
/// Update CustomerServiceRequest
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -77,7 +77,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) logged in User's Dashboard view
/// Update logged in User's Dashboard view
/// </summary>
/// <param name="theView"></param>
/// <returns></returns>

View File

@@ -88,7 +88,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) DataListSavedFilter
/// Update DataListSavedFilter
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -139,7 +139,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) FormCustom
/// Update FormCustom
/// </summary>
/// <param name="formkey"></param>
/// <param name="inObj"></param>

View File

@@ -103,7 +103,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) HeadOffice
/// Update HeadOffice
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -103,7 +103,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) LoanUnit
/// Update LoanUnit
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -172,7 +172,7 @@ namespace AyaNova.Api.Controllers
//NO UPDATING MEMOS
// /// <summary>
// /// Put (update) Memo
// /// Update Memo
// /// </summary>
// /// <param name="updatedObject"></param>
// /// <returns></returns>

View File

@@ -102,7 +102,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) NotifySubscription
/// Update NotifySubscription
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -73,7 +73,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) PM
/// Update PM
/// </summary>
/// <param name="id"></param>
/// <param name="inObj"></param>

View File

@@ -103,7 +103,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) PMTemplate
/// Update PMTemplate
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -103,7 +103,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) PartAssembly
/// Update PartAssembly
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -107,7 +107,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) Part
/// Update Part
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>
@@ -175,7 +175,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) PartSerials for part
/// Update PartSerials for part
/// </summary>
/// <param name="serials">array of serial numbers to replace existing array of part serials</param>
///<param name="id">PartId</param>
@@ -229,7 +229,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) stock levels for part
/// Update stock levels for part
/// </summary>
/// <param name="partStockLevels">array of part stock levels</param>
///<param name="id">PartId</param>
@@ -259,7 +259,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) part cost for part
/// Update part cost for part
/// </summary>
/// <param name="newCost">new cost of part</param>
///<param name="id">PartId</param>

View File

@@ -105,7 +105,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) PartWarehouse
/// Update PartWarehouse
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -104,7 +104,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) Project
/// Update Project
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -105,7 +105,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) PurchaseOrder
/// Update PurchaseOrder
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -73,7 +73,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) Quote
/// Update Quote
/// </summary>
/// <param name="id"></param>
/// <param name="inObj"></param>

View File

@@ -74,7 +74,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) QuoteTemplate
/// Update QuoteTemplate
/// </summary>
/// <param name="id"></param>
/// <param name="inObj"></param>

View File

@@ -104,7 +104,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) Reminder
/// Update Reminder
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -110,7 +110,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) Report
/// Update Report
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -104,7 +104,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) Review
/// Update Review
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -104,7 +104,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) ServiceRate
/// Update ServiceRate
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -104,7 +104,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) TaxCode
/// Update TaxCode
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -87,7 +87,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) Translation
/// Update Translation
///
/// </summary>
/// <param name="updatedObject"></param>

View File

@@ -104,7 +104,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) TravelRate
/// Update TravelRate
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -103,7 +103,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) Unit
/// Update Unit
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -103,7 +103,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) UnitModel
/// Update UnitModel
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -87,7 +87,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) User
/// Update User
/// (Login and / or Password are not changed if set to null / omitted)
/// </summary>
/// <param name="updatedObject"></param>

View File

@@ -94,7 +94,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) UserOptions
/// Update UserOptions
/// </summary>
/// <param name="id">User id</param>
/// <param name="inObj"></param>

View File

@@ -103,7 +103,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) Vendor
/// Update Vendor
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -111,7 +111,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) Widget
/// Update Widget
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -124,8 +124,8 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrder
/// (descendant objects must be updated via their individual routes seperately)
/// Update WorkOrder
///
/// </summary>
/// <param name="updatedObject">WorkOrder - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
@@ -176,8 +176,6 @@ namespace AyaNova.Api.Controllers
//==================
/*
███████╗████████╗ █████╗ ████████╗███████╗███████╗
@@ -239,8 +237,8 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderState
/// (descendant objects must be updated via their individual routes seperately)
/// Update WorkOrderState
///
/// </summary>
/// <param name="updatedObject">WorkOrderState - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
@@ -289,11 +287,6 @@ namespace AyaNova.Api.Controllers
#endregion workorderstate
//===============
/*
@@ -354,8 +347,8 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderItem
/// (descendant objects must be updated via their individual routes seperately)
/// Update WorkOrderItem
///
/// </summary>
/// <param name="updatedObject">WorkOrderItem - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
@@ -461,8 +454,8 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) WorkOrderItemExpense
/// (descendant objects must be updated via their individual routes seperately)
/// Update WorkOrderItemExpense
///
/// </summary>
/// <param name="updatedObject">WorkOrderItemExpense - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
@@ -569,8 +562,8 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderItemLabor
/// (descendant objects must be updated via their individual routes seperately)
/// Update WorkOrderItemLabor
///
/// </summary>
/// <param name="updatedObject">WorkOrderItemLabor - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
@@ -677,8 +670,8 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) WorkOrderItemLoan
/// (descendant objects must be updated via their individual routes seperately)
/// Update WorkOrderItemLoan
///
/// </summary>
/// <param name="updatedObject">WorkOrderItemLoan - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
@@ -726,6 +719,116 @@ namespace AyaNova.Api.Controllers
#endregion WorkOrderItemLoan
/*
██████╗ ██╗ ██╗████████╗███████╗██╗██████╗ ███████╗ ███████╗███████╗██████╗ ██╗ ██╗██╗ ██████╗███████╗
██╔═══██╗██║ ██║╚══██╔══╝██╔════╝██║██╔══██╗██╔════╝ ██╔════╝██╔════╝██╔══██╗██║ ██║██║██╔════╝██╔════╝
██║ ██║██║ ██║ ██║ ███████╗██║██║ ██║█████╗ ███████╗█████╗ ██████╔╝██║ ██║██║██║ █████╗
██║ ██║██║ ██║ ██║ ╚════██║██║██║ ██║██╔══╝ ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║██║ ██╔══╝
╚██████╔╝╚██████╔╝ ██║ ███████║██║██████╔╝███████╗ ███████║███████╗██║ ██║ ╚████╔╝ ██║╚██████╗███████╗
╚═════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝╚═════╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═════╝╚══════╝
*/
#region WorkOrderItemOutsideService
/// <summary>
/// Create WorkOrderItemOutsideService
/// </summary>
/// <param name="newObject">WorkOrderItemOutsideService level only no descendants</param>
/// <param name="apiVersion"></param>
/// <returns>WorkOrderItemOutsideService object (no descendants)</returns>
[HttpPost("items/outsideservices")]
public async Task<IActionResult> PostWorkOrderItemOutsideService([FromBody] WorkOrderItemOutsideService newObject, 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, AyaType.WorkOrderItemOutsideService))
return StatusCode(403, new ApiNotAuthorizedResponse());
if (!ModelState.IsValid)
return BadRequest(new ApiErrorResponse(ModelState));
WorkOrderItemOutsideService o = await biz.OutsideServiceCreateAsync(newObject);
if (o == null)
return BadRequest(new ApiErrorResponse(biz.Errors));
else
return CreatedAtAction(nameof(WorkOrderController.GetWorkOrderItemOutsideService), new { WorkOrderItemOutsideServiceId = o.Id, version = apiVersion.ToString() }, new ApiCreatedResponse(o));
}
/// <summary>
/// Get WorkOrderItemOutsideService object
/// </summary>
/// <param name="WorkOrderItemOutsideServiceId"></param>
/// <returns>A single WorkOrderItemOutsideService</returns>
[HttpGet("items/outsideservices/{WorkOrderItemOutsideServiceId}")]
public async Task<IActionResult> GetWorkOrderItemOutsideService([FromRoute] long WorkOrderItemOutsideServiceId)
{
if (!serverState.IsOpen)
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.WorkOrderItemOutsideService))
return StatusCode(403, new ApiNotAuthorizedResponse());
if (!ModelState.IsValid)
return BadRequest(new ApiErrorResponse(ModelState));
var o = await biz.OutsideServiceGetAsync(WorkOrderItemOutsideServiceId);
if (o == null)
return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND));
return Ok(ApiOkResponse.Response(o));
}
/// <summary>
/// Update WorkOrderItemOutsideService
///
/// </summary>
/// <param name="updatedObject">WorkOrderItemOutsideService - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
[HttpPut("items/outsideservices")]
public async Task<IActionResult> PutWorkOrderItemOutsideService([FromBody] WorkOrderItemOutsideService updatedObject)
{
if (!serverState.IsOpen)
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
if (!ModelState.IsValid)
return BadRequest(new ApiErrorResponse(ModelState));
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemOutsideService))
return StatusCode(403, new ApiNotAuthorizedResponse());
var o = await biz.OutsideServicePutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token
if (o == null)
{
if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))
return StatusCode(409, new ApiErrorResponse(biz.Errors));
else
return BadRequest(new ApiErrorResponse(biz.Errors));
}
return Ok(ApiOkResponse.Response(new { Concurrency = o.Concurrency }));
}
/// <summary>
/// Delete WorkOrderItemOutsideService
/// </summary>
/// <param name="WorkOrderItemOutsideServiceId"></param>
/// <returns>NoContent</returns>
[HttpDelete("items/outsideservices/{WorkOrderItemOutsideServiceId}")]
public async Task<IActionResult> DeleteWorkOrderItemOutsideService([FromRoute] long WorkOrderItemOutsideServiceId)
{
if (!serverState.IsOpen)
return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason));
if (!ModelState.IsValid)
return BadRequest(new ApiErrorResponse(ModelState));
WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext);
if (!Authorized.HasDeleteRole(HttpContext.Items, AyaType.WorkOrderItemOutsideService))
return StatusCode(403, new ApiNotAuthorizedResponse());
if (!await biz.OutsideServiceDeleteAsync(WorkOrderItemOutsideServiceId))
return BadRequest(new ApiErrorResponse(biz.Errors));
return NoContent();
}
#endregion WorkOrderItemOutsideService
/*
██████╗ █████╗ ██████╗ ████████╗███████╗
██╔══██╗██╔══██╗██╔══██╗╚══██╔══╝██╔════╝
@@ -783,8 +886,8 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) WorkOrderItemPart
/// (descendant objects must be updated via their individual routes seperately)
/// Update WorkOrderItemPart
///
/// </summary>
/// <param name="updatedObject">WorkOrderItemPart - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
@@ -889,8 +992,8 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) WorkOrderItemPartRequest
/// (descendant objects must be updated via their individual routes seperately)
/// Update WorkOrderItemPartRequest
///
/// </summary>
/// <param name="updatedObject">WorkOrderItemPartRequest - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
@@ -995,8 +1098,8 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) WorkOrderItemScheduledUser
/// (descendant objects must be updated via their individual routes seperately)
/// Update WorkOrderItemScheduledUser
///
/// </summary>
/// <param name="updatedObject">WorkOrderItemScheduledUser - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
@@ -1101,8 +1204,8 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) WorkOrderItemTask
/// (descendant objects must be updated via their individual routes seperately)
/// Update WorkOrderItemTask
///
/// </summary>
/// <param name="updatedObject">WorkOrderItemTask - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
@@ -1207,8 +1310,8 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) WorkOrderItemTravel
/// (descendant objects must be updated via their individual routes seperately)
/// Update WorkOrderItemTravel
///
/// </summary>
/// <param name="updatedObject">WorkOrderItemTravel - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
@@ -1313,8 +1416,8 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) WorkOrderItemUnit
/// (descendant objects must be updated via their individual routes seperately)
/// Update WorkOrderItemUnit
///
/// </summary>
/// <param name="updatedObject">WorkOrderItemUnit - top level only, no descendants</param>
/// <returns>New concurrency token</returns>

View File

@@ -104,7 +104,7 @@ namespace AyaNova.Api.Controllers
}
/// <summary>
/// Put (update) WorkOrderStatus
/// Update WorkOrderStatus
/// </summary>
/// <param name="updatedObject"></param>
/// <returns></returns>

View File

@@ -74,7 +74,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderTemplate
/// Update WorkOrderTemplate
/// </summary>
/// <param name="id"></param>
/// <param name="inObj"></param>

View File

@@ -1845,12 +1845,12 @@ namespace AyaNova.Biz
/*
██████╗ ██╗ ██╗████████╗███████╗██╗██████╗ ███████╗ ███████╗███████╗██████╗ ██╗ ██╗██╗ ██████╗███████╗
██████╗ ██╗ ██╗████████╗███████╗██╗██████╗ ███████╗ ███████╗███████╗██████╗ ██╗ ██╗██╗ ██████╗███████╗
██╔═══██╗██║ ██║╚══██╔══╝██╔════╝██║██╔══██╗██╔════╝ ██╔════╝██╔════╝██╔══██╗██║ ██║██║██╔════╝██╔════╝
██║ ██║██║ ██║ ██║ ███████╗██║██║ ██║█████╗ ███████╗█████╗ ██████╔╝██║ ██║██║██║ █████╗
██║ ██║██║ ██║ ██║ ╚════██║██║██║ ██║██╔══╝ ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║██║ ██╔══╝
╚██████╔╝╚██████╔╝ ██║ ███████║██║██████╔╝███████╗ ███████║███████╗██║ ██║ ╚████╔╝ ██║╚██████╗███████╗
╚═════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝╚═════╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═════╝╚══════╝
╚═════╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝╚═════╝ ╚══════╝ ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═════╝╚══════╝