From 6a9984720d0b268e123e4bca6e7f4229c1c1486b Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 13 May 2020 19:41:45 +0000 Subject: [PATCH] Remove PATCH --- .../AyaNova/Controllers/ContractController.cs | 46 -------------- .../AyaNova/Controllers/CustomerController.cs | 48 +-------------- .../Controllers/HeadOfficeController.cs | 47 -------------- .../AyaNova/Controllers/LoanUnitController.cs | 46 -------------- .../Controllers/PMTemplateController.cs | 46 -------------- server/AyaNova/Controllers/PartController.cs | 46 -------------- .../AyaNova/Controllers/ProjectController.cs | 48 +-------------- .../Controllers/PurchaseOrderController.cs | 46 -------------- .../Controllers/QuoteTemplateController.cs | 46 -------------- server/AyaNova/Controllers/UnitController.cs | 46 -------------- .../Controllers/UnitModelController.cs | 46 -------------- server/AyaNova/Controllers/UserController.cs | 56 ----------------- .../Controllers/UserOptionsController.cs | 61 ------------------- .../AyaNova/Controllers/VendorController.cs | 46 -------------- .../AyaNova/Controllers/WidgetController.cs | 46 -------------- .../WorkOrderTemplateController.cs | 46 -------------- server/AyaNova/biz/ContractBiz.cs | 31 ---------- server/AyaNova/biz/CustomerBiz.cs | 32 +--------- server/AyaNova/biz/HeadOfficeBiz.cs | 33 +--------- server/AyaNova/biz/LoanUnitBiz.cs | 31 ---------- server/AyaNova/biz/PMTemplateBiz.cs | 31 ---------- server/AyaNova/biz/PartBiz.cs | 32 +--------- server/AyaNova/biz/ProjectBiz.cs | 33 +--------- server/AyaNova/biz/PurchaseOrderBiz.cs | 33 +--------- server/AyaNova/biz/QuoteTemplateBiz.cs | 33 +--------- server/AyaNova/biz/UnitBiz.cs | 32 +--------- server/AyaNova/biz/UnitModelBiz.cs | 33 +--------- server/AyaNova/biz/UserBiz.cs | 53 +--------------- server/AyaNova/biz/UserOptionsBiz.cs | 24 +------- server/AyaNova/biz/VendorBiz.cs | 33 +--------- server/AyaNova/biz/WidgetBiz.cs | 31 ---------- server/AyaNova/biz/WorkorderTemplateBiz.cs | 32 +--------- 32 files changed, 14 insertions(+), 1279 deletions(-) diff --git a/server/AyaNova/Controllers/ContractController.cs b/server/AyaNova/Controllers/ContractController.cs index 8c8ab93f..c9da1d4f 100644 --- a/server/AyaNova/Controllers/ContractController.cs +++ b/server/AyaNova/Controllers/ContractController.cs @@ -114,52 +114,6 @@ namespace AyaNova.Api.Controllers } - - /// - /// Patch (update) Contract - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchContract([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - ContractBiz biz = ContractBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - /// /// Post Contract /// diff --git a/server/AyaNova/Controllers/CustomerController.cs b/server/AyaNova/Controllers/CustomerController.cs index 0c8c88dd..6ad97b42 100644 --- a/server/AyaNova/Controllers/CustomerController.cs +++ b/server/AyaNova/Controllers/CustomerController.cs @@ -112,53 +112,7 @@ namespace AyaNova.Api.Controllers } return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); } - - - - /// - /// Patch (update) Customer - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchCustomer([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - CustomerBiz biz = CustomerBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - + /// /// Post Customer diff --git a/server/AyaNova/Controllers/HeadOfficeController.cs b/server/AyaNova/Controllers/HeadOfficeController.cs index 2349381b..f9f843dc 100644 --- a/server/AyaNova/Controllers/HeadOfficeController.cs +++ b/server/AyaNova/Controllers/HeadOfficeController.cs @@ -113,53 +113,6 @@ namespace AyaNova.Api.Controllers return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); } - - - /// - /// Patch (update) HeadOffice - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchHeadOffice([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - HeadOfficeBiz biz = HeadOfficeBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - /// /// Post HeadOffice /// diff --git a/server/AyaNova/Controllers/LoanUnitController.cs b/server/AyaNova/Controllers/LoanUnitController.cs index a32acccb..183d4f61 100644 --- a/server/AyaNova/Controllers/LoanUnitController.cs +++ b/server/AyaNova/Controllers/LoanUnitController.cs @@ -114,52 +114,6 @@ namespace AyaNova.Api.Controllers } - - /// - /// Patch (update) LoanUnit - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchLoanUnit([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - LoanUnitBiz biz = LoanUnitBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - /// /// Post LoanUnit /// diff --git a/server/AyaNova/Controllers/PMTemplateController.cs b/server/AyaNova/Controllers/PMTemplateController.cs index 4bed0125..30ef0d5b 100644 --- a/server/AyaNova/Controllers/PMTemplateController.cs +++ b/server/AyaNova/Controllers/PMTemplateController.cs @@ -114,52 +114,6 @@ namespace AyaNova.Api.Controllers } - - /// - /// Patch (update) PMTemplate - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchPMTemplate([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - PMTemplateBiz biz = PMTemplateBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - /// /// Post PMTemplate /// diff --git a/server/AyaNova/Controllers/PartController.cs b/server/AyaNova/Controllers/PartController.cs index 863f7ceb..cb265d3c 100644 --- a/server/AyaNova/Controllers/PartController.cs +++ b/server/AyaNova/Controllers/PartController.cs @@ -114,52 +114,6 @@ namespace AyaNova.Api.Controllers } - - /// - /// Patch (update) Part - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchPart([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - PartBiz biz = PartBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - /// /// Post Part /// diff --git a/server/AyaNova/Controllers/ProjectController.cs b/server/AyaNova/Controllers/ProjectController.cs index 9593ee04..b23da182 100644 --- a/server/AyaNova/Controllers/ProjectController.cs +++ b/server/AyaNova/Controllers/ProjectController.cs @@ -113,53 +113,7 @@ namespace AyaNova.Api.Controllers return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); } - - - /// - /// Patch (update) Project - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchProject([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - ProjectBiz biz = ProjectBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - + /// /// Post Project /// diff --git a/server/AyaNova/Controllers/PurchaseOrderController.cs b/server/AyaNova/Controllers/PurchaseOrderController.cs index bfa8a27c..a9f0421c 100644 --- a/server/AyaNova/Controllers/PurchaseOrderController.cs +++ b/server/AyaNova/Controllers/PurchaseOrderController.cs @@ -114,52 +114,6 @@ namespace AyaNova.Api.Controllers } - - /// - /// Patch (update) PurchaseOrder - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchPurchaseOrder([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - PurchaseOrderBiz biz = PurchaseOrderBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - /// /// Post PurchaseOrder /// diff --git a/server/AyaNova/Controllers/QuoteTemplateController.cs b/server/AyaNova/Controllers/QuoteTemplateController.cs index 65064312..2f632fa0 100644 --- a/server/AyaNova/Controllers/QuoteTemplateController.cs +++ b/server/AyaNova/Controllers/QuoteTemplateController.cs @@ -114,52 +114,6 @@ namespace AyaNova.Api.Controllers } - - /// - /// Patch (update) QuoteTemplate - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchQuoteTemplate([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - QuoteTemplateBiz biz = QuoteTemplateBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - /// /// Post QuoteTemplate /// diff --git a/server/AyaNova/Controllers/UnitController.cs b/server/AyaNova/Controllers/UnitController.cs index c1d9c796..ffd82b59 100644 --- a/server/AyaNova/Controllers/UnitController.cs +++ b/server/AyaNova/Controllers/UnitController.cs @@ -114,52 +114,6 @@ namespace AyaNova.Api.Controllers } - - /// - /// Patch (update) Unit - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchUnit([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - UnitBiz biz = UnitBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - /// /// Post Unit /// diff --git a/server/AyaNova/Controllers/UnitModelController.cs b/server/AyaNova/Controllers/UnitModelController.cs index 9c0a6eb2..b3b4b7ea 100644 --- a/server/AyaNova/Controllers/UnitModelController.cs +++ b/server/AyaNova/Controllers/UnitModelController.cs @@ -114,52 +114,6 @@ namespace AyaNova.Api.Controllers } - - /// - /// Patch (update) UnitModel - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchUnitModel([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - UnitModelBiz biz = UnitModelBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - /// /// Post UnitModel /// diff --git a/server/AyaNova/Controllers/UserController.cs b/server/AyaNova/Controllers/UserController.cs index 83850165..dd8c6aa6 100644 --- a/server/AyaNova/Controllers/UserController.cs +++ b/server/AyaNova/Controllers/UserController.cs @@ -143,62 +143,6 @@ namespace AyaNova.Api.Controllers - /// - /// Patch (update) User - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchUser([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - { - return BadRequest(new ApiErrorResponse(ModelState)); - } - - //Instantiate the business object handler - UserBiz biz = UserBiz.GetBiz(ct, HttpContext); - var o = await ct.User.SingleOrDefaultAsync(m => m.Id == id); - - if (o == null) - { - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - } - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - { - return StatusCode(403, new ApiNotAuthorizedResponse()); - } - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - { - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - } - catch (DbUpdateConcurrencyException) - { - if (!UserExists(id)) - { - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - } - else - { - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - } - - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - /// /// Post User /// diff --git a/server/AyaNova/Controllers/UserOptionsController.cs b/server/AyaNova/Controllers/UserOptionsController.cs index 471ba750..f9d1c2ff 100644 --- a/server/AyaNova/Controllers/UserOptionsController.cs +++ b/server/AyaNova/Controllers/UserOptionsController.cs @@ -143,67 +143,6 @@ namespace AyaNova.Api.Controllers - /// - /// Patch (update) UserOptions - /// - /// UserId - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchUserOptions([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - if (!serverState.IsClosed) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - { - return BadRequest(new ApiErrorResponse(ModelState)); - } - - var UserId = UserIdFromContext.Id(HttpContext.Items); - - //Instantiate the business object handler - UserOptionsBiz biz = new UserOptionsBiz(ct, UserId, UserRolesFromContext.Roles(HttpContext.Items)); - - var o = await ct.UserOptions.SingleOrDefaultAsync(m => m.UserId == id); - - if (o == null) - { - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - } - - if (id != UserId && !Authorized.HasModifyRole(HttpContext.Items, AyaType.UserOptions)) - { - return StatusCode(403, new ApiNotAuthorizedResponse()); - } - - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - { - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - } - catch (DbUpdateConcurrencyException) - { - if (!UserOptionsExists(id)) - { - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - } - else - { - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - } - - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - - private bool UserOptionsExists(long id) { //NOTE: checks by UserId, NOT by Id as in most other objects diff --git a/server/AyaNova/Controllers/VendorController.cs b/server/AyaNova/Controllers/VendorController.cs index f703be51..7ebf8b1f 100644 --- a/server/AyaNova/Controllers/VendorController.cs +++ b/server/AyaNova/Controllers/VendorController.cs @@ -114,52 +114,6 @@ namespace AyaNova.Api.Controllers } - - /// - /// Patch (update) Vendor - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchVendor([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - VendorBiz biz = VendorBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - /// /// Post Vendor /// diff --git a/server/AyaNova/Controllers/WidgetController.cs b/server/AyaNova/Controllers/WidgetController.cs index f0d7a2ee..e4318c9b 100644 --- a/server/AyaNova/Controllers/WidgetController.cs +++ b/server/AyaNova/Controllers/WidgetController.cs @@ -121,52 +121,6 @@ namespace AyaNova.Api.Controllers } - - /// - /// Patch (update) widget - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchWidget([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - WidgetBiz biz = WidgetBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - /// /// Post widget /// diff --git a/server/AyaNova/Controllers/WorkOrderTemplateController.cs b/server/AyaNova/Controllers/WorkOrderTemplateController.cs index d7a67ef6..ff9c1ee9 100644 --- a/server/AyaNova/Controllers/WorkOrderTemplateController.cs +++ b/server/AyaNova/Controllers/WorkOrderTemplateController.cs @@ -114,52 +114,6 @@ namespace AyaNova.Api.Controllers } - - /// - /// Patch (update) WorkOrderTemplate - /// - /// - /// - /// - /// - [HttpPatch("{id}/{concurrencyToken}")] - public async Task PatchWorkOrderTemplate([FromRoute] long id, [FromRoute] uint concurrencyToken, [FromBody]JsonPatchDocument objectPatch) - { - //https://dotnetcoretutorials.com/2017/11/29/json-patch-asp-net-core/ - - if (!serverState.IsOpen) - return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); - - if (!ModelState.IsValid) - return BadRequest(new ApiErrorResponse(ModelState)); - - //Instantiate the business object handler - WorkOrderTemplateBiz biz = WorkOrderTemplateBiz.GetBiz(ct, HttpContext); - - var o = await biz.GetAsync(id, false); - if (o == null) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) - return StatusCode(403, new ApiNotAuthorizedResponse()); - - try - { - //patch and validate - if (!await biz.PatchAsync(o, objectPatch, concurrencyToken)) - return BadRequest(new ApiErrorResponse(biz.Errors)); - } - catch (DbUpdateConcurrencyException) - { - if (!await biz.ExistsAsync(id)) - return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - else - return StatusCode(409, new ApiErrorResponse(ApiErrorCode.CONCURRENCY_CONFLICT)); - } - return Ok(ApiOkResponse.Response(new { ConcurrencyToken = o.ConcurrencyToken }, true)); - } - - /// /// Post WorkOrderTemplate /// diff --git a/server/AyaNova/biz/ContractBiz.cs b/server/AyaNova/biz/ContractBiz.cs index 2efa1c91..c186c799 100644 --- a/server/AyaNova/biz/ContractBiz.cs +++ b/server/AyaNova/biz/ContractBiz.cs @@ -159,37 +159,6 @@ namespace AyaNova.Biz return true; } - //patch - internal async Task PatchAsync(Contract dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - Contract SnapshotOfOriginalDBObj = new Contract(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - private async Task SearchIndexAsync(Contract obj, bool isNew) { //SEARCH INDEXING diff --git a/server/AyaNova/biz/CustomerBiz.cs b/server/AyaNova/biz/CustomerBiz.cs index 388e9f39..2961fab8 100644 --- a/server/AyaNova/biz/CustomerBiz.cs +++ b/server/AyaNova/biz/CustomerBiz.cs @@ -159,37 +159,7 @@ namespace AyaNova.Biz return true; } - //patch - internal async Task PatchAsync(Customer dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - Customer SnapshotOfOriginalDBObj = new Customer(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - + private async Task SearchIndexAsync(Customer obj, bool isNew) { //SEARCH INDEXING diff --git a/server/AyaNova/biz/HeadOfficeBiz.cs b/server/AyaNova/biz/HeadOfficeBiz.cs index 069bffce..003dbe35 100644 --- a/server/AyaNova/biz/HeadOfficeBiz.cs +++ b/server/AyaNova/biz/HeadOfficeBiz.cs @@ -158,38 +158,7 @@ namespace AyaNova.Biz return true; } - - //patch - internal async Task PatchAsync(HeadOffice dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - HeadOffice SnapshotOfOriginalDBObj = new HeadOffice(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - + private async Task SearchIndexAsync(HeadOffice obj, bool isNew) { //SEARCH INDEXING diff --git a/server/AyaNova/biz/LoanUnitBiz.cs b/server/AyaNova/biz/LoanUnitBiz.cs index 368c4ab0..da89107f 100644 --- a/server/AyaNova/biz/LoanUnitBiz.cs +++ b/server/AyaNova/biz/LoanUnitBiz.cs @@ -159,37 +159,6 @@ namespace AyaNova.Biz return true; } - //patch - internal async Task PatchAsync(LoanUnit dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - LoanUnit SnapshotOfOriginalDBObj = new LoanUnit(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - private async Task SearchIndexAsync(LoanUnit obj, bool isNew) { //SEARCH INDEXING diff --git a/server/AyaNova/biz/PMTemplateBiz.cs b/server/AyaNova/biz/PMTemplateBiz.cs index 14e8f4e3..a72f979c 100644 --- a/server/AyaNova/biz/PMTemplateBiz.cs +++ b/server/AyaNova/biz/PMTemplateBiz.cs @@ -159,37 +159,6 @@ namespace AyaNova.Biz return true; } - //patch - internal async Task PatchAsync(PMTemplate dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - PMTemplate SnapshotOfOriginalDBObj = new PMTemplate(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - private async Task SearchIndexAsync(PMTemplate obj, bool isNew) { //SEARCH INDEXING diff --git a/server/AyaNova/biz/PartBiz.cs b/server/AyaNova/biz/PartBiz.cs index 5c86a1da..f082f951 100644 --- a/server/AyaNova/biz/PartBiz.cs +++ b/server/AyaNova/biz/PartBiz.cs @@ -159,37 +159,7 @@ namespace AyaNova.Biz return true; } - //patch - internal async Task PatchAsync(Part dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - Part SnapshotOfOriginalDBObj = new Part(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - + private async Task SearchIndexAsync(Part obj, bool isNew) { //SEARCH INDEXING diff --git a/server/AyaNova/biz/ProjectBiz.cs b/server/AyaNova/biz/ProjectBiz.cs index 461a0673..47d9a14d 100644 --- a/server/AyaNova/biz/ProjectBiz.cs +++ b/server/AyaNova/biz/ProjectBiz.cs @@ -158,38 +158,7 @@ namespace AyaNova.Biz return true; } - - //patch - internal async Task PatchAsync(Project dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - Project SnapshotOfOriginalDBObj = new Project(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - + private async Task SearchIndexAsync(Project obj, bool isNew) { //SEARCH INDEXING diff --git a/server/AyaNova/biz/PurchaseOrderBiz.cs b/server/AyaNova/biz/PurchaseOrderBiz.cs index 4df7607c..112527e2 100644 --- a/server/AyaNova/biz/PurchaseOrderBiz.cs +++ b/server/AyaNova/biz/PurchaseOrderBiz.cs @@ -158,38 +158,7 @@ namespace AyaNova.Biz return true; } - - //patch - internal async Task PatchAsync(PurchaseOrder dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - PurchaseOrder SnapshotOfOriginalDBObj = new PurchaseOrder(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - + private async Task SearchIndexAsync(PurchaseOrder obj, bool isNew) { //SEARCH INDEXING diff --git a/server/AyaNova/biz/QuoteTemplateBiz.cs b/server/AyaNova/biz/QuoteTemplateBiz.cs index 538cb84a..c3b4cb43 100644 --- a/server/AyaNova/biz/QuoteTemplateBiz.cs +++ b/server/AyaNova/biz/QuoteTemplateBiz.cs @@ -158,38 +158,7 @@ namespace AyaNova.Biz return true; } - - //patch - internal async Task PatchAsync(QuoteTemplate dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - QuoteTemplate SnapshotOfOriginalDBObj = new QuoteTemplate(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - + private async Task SearchIndexAsync(QuoteTemplate obj, bool isNew) { //SEARCH INDEXING diff --git a/server/AyaNova/biz/UnitBiz.cs b/server/AyaNova/biz/UnitBiz.cs index 12a82db5..a3830b52 100644 --- a/server/AyaNova/biz/UnitBiz.cs +++ b/server/AyaNova/biz/UnitBiz.cs @@ -159,37 +159,7 @@ namespace AyaNova.Biz return true; } - //patch - internal async Task PatchAsync(Unit dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - Unit SnapshotOfOriginalDBObj = new Unit(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - + private async Task SearchIndexAsync(Unit obj, bool isNew) { //SEARCH INDEXING diff --git a/server/AyaNova/biz/UnitModelBiz.cs b/server/AyaNova/biz/UnitModelBiz.cs index 4ee46084..90a5e350 100644 --- a/server/AyaNova/biz/UnitModelBiz.cs +++ b/server/AyaNova/biz/UnitModelBiz.cs @@ -158,38 +158,7 @@ namespace AyaNova.Biz return true; } - - //patch - internal async Task PatchAsync(UnitModel dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - UnitModel SnapshotOfOriginalDBObj = new UnitModel(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - + private async Task SearchIndexAsync(UnitModel obj, bool isNew) { //SEARCH INDEXING diff --git a/server/AyaNova/biz/UserBiz.cs b/server/AyaNova/biz/UserBiz.cs index ba071657..b5f5a8d7 100644 --- a/server/AyaNova/biz/UserBiz.cs +++ b/server/AyaNova/biz/UserBiz.cs @@ -193,58 +193,7 @@ namespace AyaNova.Biz return true; } - - //patch - internal async Task PatchAsync(User dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - User SnapshotOfOriginalDBObj = new User(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - //Is the user patching the password? - if (!string.IsNullOrWhiteSpace(dbObj.Password) && dbObj.Password != SnapshotOfOriginalDBObj.Password) - { - //YES password is being updated: - dbObj.Password = Hasher.hash(dbObj.Salt, dbObj.Password); - } - - //Updating login? - if (!string.IsNullOrWhiteSpace(dbObj.Login) && dbObj.Login != SnapshotOfOriginalDBObj.Login) - { - //YES Login is being updated: - dbObj.Login = SnapshotOfOriginalDBObj.Login; - } - else - { - //No, use the original value - dbObj.Login = SnapshotOfOriginalDBObj.Login; - } - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - await ct.SaveChangesAsync(); - - //Log modification and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - - + //put internal async Task ChangePasswordAsync(long userId, string newPassword) { diff --git a/server/AyaNova/biz/UserOptionsBiz.cs b/server/AyaNova/biz/UserOptionsBiz.cs index 03cc0eb5..b3f0931c 100644 --- a/server/AyaNova/biz/UserOptionsBiz.cs +++ b/server/AyaNova/biz/UserOptionsBiz.cs @@ -62,29 +62,7 @@ namespace AyaNova.Biz await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, AyaType.User, AyaEvent.Modified), ct); return true; } - - //patch - internal async Task PatchAsync(UserOptions dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch, "UserId")) return false; - - //Do the patching - objectPatch.ApplyTo(dbObj); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - Validate(dbObj); - if (HasErrors) - return false; - - await ct.SaveChangesAsync(); - //Log - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, AyaType.User, AyaEvent.Modified), ct); - return true; - } - - - + //////////////////////////////////////////////////////////////////////////////////////////////// //VALIDATION diff --git a/server/AyaNova/biz/VendorBiz.cs b/server/AyaNova/biz/VendorBiz.cs index 5b72a10d..e54fe0e7 100644 --- a/server/AyaNova/biz/VendorBiz.cs +++ b/server/AyaNova/biz/VendorBiz.cs @@ -158,38 +158,7 @@ namespace AyaNova.Biz return true; } - - //patch - internal async Task PatchAsync(Vendor dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - Vendor SnapshotOfOriginalDBObj = new Vendor(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - + private async Task SearchIndexAsync(Vendor obj, bool isNew) { //SEARCH INDEXING diff --git a/server/AyaNova/biz/WidgetBiz.cs b/server/AyaNova/biz/WidgetBiz.cs index e667fba5..a1217bcf 100644 --- a/server/AyaNova/biz/WidgetBiz.cs +++ b/server/AyaNova/biz/WidgetBiz.cs @@ -158,37 +158,6 @@ namespace AyaNova.Biz return true; } - //patch - internal async Task PatchAsync(Widget dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - //Note: Id and Serial are all checked for and disallowed in the validate code by default - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - Widget SnapshotOfOriginalDBObj = new Widget(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - private async Task SearchIndexAsync(Widget obj, bool isNew) { diff --git a/server/AyaNova/biz/WorkorderTemplateBiz.cs b/server/AyaNova/biz/WorkorderTemplateBiz.cs index b04164e3..ac420980 100644 --- a/server/AyaNova/biz/WorkorderTemplateBiz.cs +++ b/server/AyaNova/biz/WorkorderTemplateBiz.cs @@ -159,37 +159,7 @@ namespace AyaNova.Biz return true; } - //patch - internal async Task PatchAsync(WorkOrderTemplate dbObj, JsonPatchDocument objectPatch, uint concurrencyToken) - { - //Validate Patch is allowed - if (!ValidateJsonPatch.Validate(this, objectPatch)) return false; - - //make a snapshot of the original for validation but update the original to preserve workflow - WorkOrderTemplate SnapshotOfOriginalDBObj = new WorkOrderTemplate(); - CopyObject.Copy(dbObj, SnapshotOfOriginalDBObj); - - //Do the patching - objectPatch.ApplyTo(dbObj); - - dbObj.Tags = TagUtil.NormalizeTags(dbObj.Tags); - dbObj.CustomFields = JsonUtil.CompactJson(dbObj.CustomFields); - - ct.Entry(dbObj).OriginalValues["ConcurrencyToken"] = concurrencyToken; - await ValidateAsync(dbObj, SnapshotOfOriginalDBObj); - if (HasErrors) - return false; - - //Log event and save context - await EventLogProcessor.LogEventToDatabaseAsync(new Event(UserId, dbObj.Id, BizType, AyaEvent.Modified), ct); - await SearchIndexAsync(dbObj, false); - - await TagUtil.ProcessUpdateTagsInRepositoryAsync(ct, dbObj.Tags, SnapshotOfOriginalDBObj.Tags); - - return true; - } - - + private async Task SearchIndexAsync(WorkOrderTemplate obj, bool isNew) { //SEARCH INDEXING