diff --git a/server/AyaNova/Controllers/ContractController.cs b/server/AyaNova/Controllers/ContractController.cs index f2611df0..06c3d589 100644 --- a/server/AyaNova/Controllers/ContractController.cs +++ b/server/AyaNova/Controllers/ContractController.cs @@ -117,7 +117,7 @@ namespace AyaNova.Api.Controllers ContractBiz biz = ContractBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/CustomerController.cs b/server/AyaNova/Controllers/CustomerController.cs index 5b7a0b55..b47bc021 100644 --- a/server/AyaNova/Controllers/CustomerController.cs +++ b/server/AyaNova/Controllers/CustomerController.cs @@ -119,7 +119,7 @@ namespace AyaNova.Api.Controllers CustomerBiz biz = CustomerBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/CustomerNoteController.cs b/server/AyaNova/Controllers/CustomerNoteController.cs index f6922a81..a4f62345 100644 --- a/server/AyaNova/Controllers/CustomerNoteController.cs +++ b/server/AyaNova/Controllers/CustomerNoteController.cs @@ -95,7 +95,7 @@ namespace AyaNova.Api.Controllers CustomerNoteBiz biz = CustomerNoteBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.Customer)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/CustomerServiceRequestController.cs b/server/AyaNova/Controllers/CustomerServiceRequestController.cs index 405841bb..4a2e187d 100644 --- a/server/AyaNova/Controllers/CustomerServiceRequestController.cs +++ b/server/AyaNova/Controllers/CustomerServiceRequestController.cs @@ -118,7 +118,7 @@ namespace AyaNova.Api.Controllers CustomerServiceRequestBiz biz = CustomerServiceRequestBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/GlobalBizSettingsController.cs b/server/AyaNova/Controllers/GlobalBizSettingsController.cs index e0e4730c..6c976f89 100644 --- a/server/AyaNova/Controllers/GlobalBizSettingsController.cs +++ b/server/AyaNova/Controllers/GlobalBizSettingsController.cs @@ -86,7 +86,7 @@ namespace AyaNova.Api.Controllers if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) return StatusCode(409, new ApiErrorResponse(biz.Errors)); return Ok(ApiOkResponse.Response(new { Concurrency = o.Concurrency })); diff --git a/server/AyaNova/Controllers/GlobalOpsBackupSettingsController.cs b/server/AyaNova/Controllers/GlobalOpsBackupSettingsController.cs index acc1ea94..541db4f6 100644 --- a/server/AyaNova/Controllers/GlobalOpsBackupSettingsController.cs +++ b/server/AyaNova/Controllers/GlobalOpsBackupSettingsController.cs @@ -79,7 +79,7 @@ namespace AyaNova.Api.Controllers GlobalOpsBackupSettingsBiz biz = GlobalOpsBackupSettingsBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) return StatusCode(409, new ApiErrorResponse(biz.Errors)); return Ok(ApiOkResponse.Response(new { Concurrency = o.Concurrency })); diff --git a/server/AyaNova/Controllers/GlobalOpsNotificationSettingsController.cs b/server/AyaNova/Controllers/GlobalOpsNotificationSettingsController.cs index bd057bf2..f7296760 100644 --- a/server/AyaNova/Controllers/GlobalOpsNotificationSettingsController.cs +++ b/server/AyaNova/Controllers/GlobalOpsNotificationSettingsController.cs @@ -79,7 +79,7 @@ namespace AyaNova.Api.Controllers GlobalOpsNotificationSettingsBiz biz = GlobalOpsNotificationSettingsBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) return StatusCode(409, new ApiErrorResponse(biz.Errors)); return Ok(ApiOkResponse.Response(new { Concurrency = o.Concurrency })); diff --git a/server/AyaNova/Controllers/HeadOfficeController.cs b/server/AyaNova/Controllers/HeadOfficeController.cs index 0ff7d015..c85a5dc4 100644 --- a/server/AyaNova/Controllers/HeadOfficeController.cs +++ b/server/AyaNova/Controllers/HeadOfficeController.cs @@ -117,7 +117,7 @@ namespace AyaNova.Api.Controllers HeadOfficeBiz biz = HeadOfficeBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/LoanUnitController.cs b/server/AyaNova/Controllers/LoanUnitController.cs index faf3f36a..db635f6e 100644 --- a/server/AyaNova/Controllers/LoanUnitController.cs +++ b/server/AyaNova/Controllers/LoanUnitController.cs @@ -117,7 +117,7 @@ namespace AyaNova.Api.Controllers LoanUnitBiz biz = LoanUnitBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/MemoController.cs b/server/AyaNova/Controllers/MemoController.cs index f9290402..485f8286 100644 --- a/server/AyaNova/Controllers/MemoController.cs +++ b/server/AyaNova/Controllers/MemoController.cs @@ -186,7 +186,7 @@ namespace AyaNova.Api.Controllers // MemoBiz biz = MemoBiz.GetBiz(ct, HttpContext); // if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) // return StatusCode(403, new ApiNotAuthorizedResponse()); - // var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + // var o = await biz.PutAsync(updatedObject); // if (o == null) // { // if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/NotifySubscriptionController.cs b/server/AyaNova/Controllers/NotifySubscriptionController.cs index bdf048b8..a2e74ba4 100644 --- a/server/AyaNova/Controllers/NotifySubscriptionController.cs +++ b/server/AyaNova/Controllers/NotifySubscriptionController.cs @@ -118,7 +118,7 @@ namespace AyaNova.Api.Controllers NotifySubscriptionBiz biz = NotifySubscriptionBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/PartAssemblyController.cs b/server/AyaNova/Controllers/PartAssemblyController.cs index ba3ca857..51aefa33 100644 --- a/server/AyaNova/Controllers/PartAssemblyController.cs +++ b/server/AyaNova/Controllers/PartAssemblyController.cs @@ -117,7 +117,7 @@ namespace AyaNova.Api.Controllers PartAssemblyBiz biz = PartAssemblyBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/PartController.cs b/server/AyaNova/Controllers/PartController.cs index d2dfe5fc..f4aa8b9f 100644 --- a/server/AyaNova/Controllers/PartController.cs +++ b/server/AyaNova/Controllers/PartController.cs @@ -121,7 +121,7 @@ namespace AyaNova.Api.Controllers PartBiz biz = PartBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/PartWarehouseController.cs b/server/AyaNova/Controllers/PartWarehouseController.cs index f1d6efba..ff559ba7 100644 --- a/server/AyaNova/Controllers/PartWarehouseController.cs +++ b/server/AyaNova/Controllers/PartWarehouseController.cs @@ -119,7 +119,7 @@ namespace AyaNova.Api.Controllers PartWarehouseBiz biz = PartWarehouseBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/ProjectController.cs b/server/AyaNova/Controllers/ProjectController.cs index 199f7fd7..c11a22af 100644 --- a/server/AyaNova/Controllers/ProjectController.cs +++ b/server/AyaNova/Controllers/ProjectController.cs @@ -118,7 +118,7 @@ namespace AyaNova.Api.Controllers ProjectBiz biz = ProjectBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/PurchaseOrderController.cs b/server/AyaNova/Controllers/PurchaseOrderController.cs index 777776e4..e15b0a97 100644 --- a/server/AyaNova/Controllers/PurchaseOrderController.cs +++ b/server/AyaNova/Controllers/PurchaseOrderController.cs @@ -119,7 +119,7 @@ namespace AyaNova.Api.Controllers PurchaseOrderBiz biz = PurchaseOrderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/QuoteController.cs b/server/AyaNova/Controllers/QuoteController.cs index fb8b1b99..88785d42 100644 --- a/server/AyaNova/Controllers/QuoteController.cs +++ b/server/AyaNova/Controllers/QuoteController.cs @@ -144,7 +144,7 @@ namespace AyaNova.Api.Controllers QuoteBiz biz = QuoteBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.QuotePutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.QuotePutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -344,7 +344,7 @@ namespace AyaNova.Api.Controllers QuoteBiz biz = QuoteBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.QuoteItem) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.ItemPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.ItemPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -451,7 +451,7 @@ namespace AyaNova.Api.Controllers QuoteBiz biz = QuoteBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.QuoteItemExpense) || biz.UserIsSubContractorFull || biz.UserIsSubContractorRestricted) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.ExpensePutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.ExpensePutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -559,7 +559,7 @@ namespace AyaNova.Api.Controllers QuoteBiz biz = QuoteBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.QuoteItemLabor)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.LaborPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.LaborPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -667,7 +667,7 @@ namespace AyaNova.Api.Controllers QuoteBiz biz = QuoteBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.QuoteItemLoan) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.LoanPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.LoanPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -776,7 +776,7 @@ namespace AyaNova.Api.Controllers QuoteBiz biz = QuoteBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.QuoteItemOutsideService) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.OutsideServicePutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.OutsideServicePutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -883,7 +883,7 @@ namespace AyaNova.Api.Controllers QuoteBiz biz = QuoteBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.QuoteItemPart) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PartPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PartPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -990,7 +990,7 @@ namespace AyaNova.Api.Controllers QuoteBiz biz = QuoteBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.QuoteItemScheduledUser) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.ScheduledUserPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.ScheduledUserPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -1096,7 +1096,7 @@ namespace AyaNova.Api.Controllers QuoteBiz biz = QuoteBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.QuoteItemTask)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.TaskPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.TaskPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -1202,7 +1202,7 @@ namespace AyaNova.Api.Controllers QuoteBiz biz = QuoteBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.QuoteItemTravel)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.TravelPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.TravelPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -1308,7 +1308,7 @@ namespace AyaNova.Api.Controllers QuoteBiz biz = QuoteBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.QuoteItemUnit) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.UnitPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.UnitPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/QuoteStatusController.cs b/server/AyaNova/Controllers/QuoteStatusController.cs new file mode 100644 index 00000000..209f5d0b --- /dev/null +++ b/server/AyaNova/Controllers/QuoteStatusController.cs @@ -0,0 +1,162 @@ +using System.Threading.Tasks; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Routing; +using Microsoft.AspNetCore.Authorization; +using Microsoft.Extensions.Logging; +using AyaNova.Models; +using AyaNova.Api.ControllerHelpers; +using AyaNova.Biz; +using Microsoft.EntityFrameworkCore; +using System.Linq; +using EnumsNET; + +namespace AyaNova.Api.Controllers +{ + [ApiController] + [ApiVersion("8.0")] + [Route("api/v{version:apiVersion}/quote-status")] + [Produces("application/json")] + [Authorize] + public class QuoteStatusController : ControllerBase + { + private readonly AyContext ct; + private readonly ILogger log; + private readonly ApiServerState serverState; + + /// + /// ctor + /// + /// + /// + /// + public QuoteStatusController(AyContext dbcontext, ILogger logger, ApiServerState apiServerState) + { + ct = dbcontext; + log = logger; + serverState = apiServerState; + } + + /// + /// Create QuoteStatus + /// + /// + /// From route path + /// + [HttpPost] + public async Task PostQuoteStatus([FromBody] QuoteStatus newObject, ApiVersion apiVersion) + { + if (!serverState.IsOpen) + return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); + QuoteStatusBiz biz = QuoteStatusBiz.GetBiz(ct, HttpContext); + if (!Authorized.HasCreateRole(HttpContext.Items, biz.BizType)) + return StatusCode(403, new ApiNotAuthorizedResponse()); + if (!ModelState.IsValid) + return BadRequest(new ApiErrorResponse(ModelState)); + QuoteStatus o = await biz.CreateAsync(newObject); + if (o == null) + return BadRequest(new ApiErrorResponse(biz.Errors)); + else + return CreatedAtAction(nameof(QuoteStatusController.GetQuoteStatus), new { id = o.Id, version = apiVersion.ToString() }, new ApiCreatedResponse(o)); + } + + + + /// + /// Get QuoteStatus + /// + /// + /// QuoteStatus + [HttpGet("{id}")] + public async Task GetQuoteStatus([FromRoute] long id) + { + if (!serverState.IsOpen) + return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); + QuoteStatusBiz biz = QuoteStatusBiz.GetBiz(ct, HttpContext); + if (!Authorized.HasReadFullRole(HttpContext.Items, biz.BizType)) + return StatusCode(403, new ApiNotAuthorizedResponse()); + if (!ModelState.IsValid) + return BadRequest(new ApiErrorResponse(ModelState)); + var o = await biz.GetAsync(id); + if (o == null) return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); + return Ok(ApiOkResponse.Response(o)); + } + + /// + /// Update QuoteStatus + /// + /// + /// + [HttpPut] + public async Task PutQuoteStatus([FromBody] QuoteStatus updatedObject) + { + if (!serverState.IsOpen) + return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); + if (!ModelState.IsValid) + return BadRequest(new ApiErrorResponse(ModelState)); + QuoteStatusBiz biz = QuoteStatusBiz.GetBiz(ct, HttpContext); + if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) + return StatusCode(403, new ApiNotAuthorizedResponse()); + var o = await biz.PutAsync(updatedObject); + 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 })); ; + } + + /// + /// Delete QuoteStatus + /// + /// + /// NoContent + [HttpDelete("{id}")] + public async Task DeleteQuoteStatus([FromRoute] long id) + { + if (!serverState.IsOpen) + return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); + if (!ModelState.IsValid) + return BadRequest(new ApiErrorResponse(ModelState)); + QuoteStatusBiz biz = QuoteStatusBiz.GetBiz(ct, HttpContext); + if (!Authorized.HasDeleteRole(HttpContext.Items, biz.BizType)) + return StatusCode(403, new ApiNotAuthorizedResponse()); + if (!await biz.DeleteAsync(id)) + return BadRequest(new ApiErrorResponse(biz.Errors)); + return NoContent(); + } + + + + /// + /// Get Status list + /// + /// List in alphabetical order of all work order status items + [HttpGet("list")] + public async Task StatusList() + { + if (!serverState.IsOpen) + return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); + if (!Authorized.HasSelectRole(HttpContext.Items, AyaType.QuoteStatus)) + return StatusCode(403, new ApiNotAuthorizedResponse()); + var allStates = await ct.QuoteStatus.AsNoTracking().OrderBy(z => z.Name).ToListAsync(); + var currentUserRoles = UserRolesFromContext.Roles(HttpContext.Items); + var allowedStates = allStates.Where(z => currentUserRoles.HasAnyFlags(z.SelectRoles)).ToList(); + + // foreach (var item in rpts) + // { + // if (CurrentUserRoles.HasAnyFlags(item.roles)) + // { + // ret.Add(new NameIdItem() { Name = item.name, Id = item.id }); + // } + // } + return Ok(ApiOkResponse.Response(new { all = allStates, allowed = allowedStates })); + } + + //------------ + + + }//eoc +}//eons \ No newline at end of file diff --git a/server/AyaNova/Controllers/ReminderController.cs b/server/AyaNova/Controllers/ReminderController.cs index 6e01602a..3c30bae2 100644 --- a/server/AyaNova/Controllers/ReminderController.cs +++ b/server/AyaNova/Controllers/ReminderController.cs @@ -118,7 +118,7 @@ namespace AyaNova.Api.Controllers ReminderBiz biz = ReminderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/ReportController.cs b/server/AyaNova/Controllers/ReportController.cs index 718ac967..4e37c6a5 100644 --- a/server/AyaNova/Controllers/ReportController.cs +++ b/server/AyaNova/Controllers/ReportController.cs @@ -124,7 +124,7 @@ namespace AyaNova.Api.Controllers ReportBiz biz = ReportBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/ReviewController.cs b/server/AyaNova/Controllers/ReviewController.cs index 33753eed..52d1fa87 100644 --- a/server/AyaNova/Controllers/ReviewController.cs +++ b/server/AyaNova/Controllers/ReviewController.cs @@ -118,7 +118,7 @@ namespace AyaNova.Api.Controllers ReviewBiz biz = ReviewBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/ServiceRateController.cs b/server/AyaNova/Controllers/ServiceRateController.cs index 2c8be775..743264af 100644 --- a/server/AyaNova/Controllers/ServiceRateController.cs +++ b/server/AyaNova/Controllers/ServiceRateController.cs @@ -118,7 +118,7 @@ namespace AyaNova.Api.Controllers ServiceRateBiz biz = ServiceRateBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/TaskGroupController.cs b/server/AyaNova/Controllers/TaskGroupController.cs index fead7235..5c15ebbb 100644 --- a/server/AyaNova/Controllers/TaskGroupController.cs +++ b/server/AyaNova/Controllers/TaskGroupController.cs @@ -117,7 +117,7 @@ namespace AyaNova.Api.Controllers TaskGroupBiz biz = TaskGroupBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/TaxCodeController.cs b/server/AyaNova/Controllers/TaxCodeController.cs index 3a1ae3d8..dd7d9f41 100644 --- a/server/AyaNova/Controllers/TaxCodeController.cs +++ b/server/AyaNova/Controllers/TaxCodeController.cs @@ -118,7 +118,7 @@ namespace AyaNova.Api.Controllers TaxCodeBiz biz = TaxCodeBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/TranslationController.cs b/server/AyaNova/Controllers/TranslationController.cs index 90262a13..9b5c4fb3 100644 --- a/server/AyaNova/Controllers/TranslationController.cs +++ b/server/AyaNova/Controllers/TranslationController.cs @@ -102,7 +102,7 @@ namespace AyaNova.Api.Controllers TranslationBiz biz = TranslationBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/TravelRateController.cs b/server/AyaNova/Controllers/TravelRateController.cs index 9d770ac8..1f2dc952 100644 --- a/server/AyaNova/Controllers/TravelRateController.cs +++ b/server/AyaNova/Controllers/TravelRateController.cs @@ -118,7 +118,7 @@ namespace AyaNova.Api.Controllers TravelRateBiz biz = TravelRateBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/UnitController.cs b/server/AyaNova/Controllers/UnitController.cs index dbbfbecb..b10b11b3 100644 --- a/server/AyaNova/Controllers/UnitController.cs +++ b/server/AyaNova/Controllers/UnitController.cs @@ -121,7 +121,7 @@ namespace AyaNova.Api.Controllers UnitBiz biz = UnitBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/UnitModelController.cs b/server/AyaNova/Controllers/UnitModelController.cs index 52b73e56..c9947b59 100644 --- a/server/AyaNova/Controllers/UnitModelController.cs +++ b/server/AyaNova/Controllers/UnitModelController.cs @@ -117,7 +117,7 @@ namespace AyaNova.Api.Controllers UnitModelBiz biz = UnitModelBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/UserController.cs b/server/AyaNova/Controllers/UserController.cs index 44f008ee..2cae9461 100644 --- a/server/AyaNova/Controllers/UserController.cs +++ b/server/AyaNova/Controllers/UserController.cs @@ -107,7 +107,7 @@ namespace AyaNova.Api.Controllers if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.User) && !Authorized.HasModifyRole(HttpContext.Items, AyaType.Customer)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/VendorController.cs b/server/AyaNova/Controllers/VendorController.cs index 630fbd34..8b211a6f 100644 --- a/server/AyaNova/Controllers/VendorController.cs +++ b/server/AyaNova/Controllers/VendorController.cs @@ -119,7 +119,7 @@ namespace AyaNova.Api.Controllers VendorBiz biz = VendorBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/WidgetController.cs b/server/AyaNova/Controllers/WidgetController.cs index 1a9d4d97..2a281249 100644 --- a/server/AyaNova/Controllers/WidgetController.cs +++ b/server/AyaNova/Controllers/WidgetController.cs @@ -125,7 +125,7 @@ namespace AyaNova.Api.Controllers WidgetBiz biz = WidgetBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/WorkOrderController.cs b/server/AyaNova/Controllers/WorkOrderController.cs index 8b86ef87..3209fc96 100644 --- a/server/AyaNova/Controllers/WorkOrderController.cs +++ b/server/AyaNova/Controllers/WorkOrderController.cs @@ -145,7 +145,7 @@ namespace AyaNova.Api.Controllers WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.WorkOrderPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.WorkOrderPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -345,7 +345,7 @@ namespace AyaNova.Api.Controllers WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItem) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.ItemPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.ItemPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -452,7 +452,7 @@ namespace AyaNova.Api.Controllers WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemExpense) || biz.UserIsSubContractorFull || biz.UserIsSubContractorRestricted) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.ExpensePutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.ExpensePutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -560,7 +560,7 @@ namespace AyaNova.Api.Controllers WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemLabor)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.LaborPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.LaborPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -668,7 +668,7 @@ namespace AyaNova.Api.Controllers WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemLoan) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.LoanPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.LoanPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -777,7 +777,7 @@ namespace AyaNova.Api.Controllers WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemOutsideService) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.OutsideServicePutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.OutsideServicePutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -884,7 +884,7 @@ namespace AyaNova.Api.Controllers WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemPart) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PartPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PartPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -990,7 +990,7 @@ namespace AyaNova.Api.Controllers WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemPartRequest) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PartRequestPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PartRequestPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -1096,7 +1096,7 @@ namespace AyaNova.Api.Controllers WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemScheduledUser) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.ScheduledUserPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.ScheduledUserPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -1202,7 +1202,7 @@ namespace AyaNova.Api.Controllers WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemTask)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.TaskPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.TaskPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -1308,7 +1308,7 @@ namespace AyaNova.Api.Controllers WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemTravel)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.TravelPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.TravelPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) @@ -1414,7 +1414,7 @@ namespace AyaNova.Api.Controllers WorkOrderBiz biz = WorkOrderBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, AyaType.WorkOrderItemUnit) || biz.UserIsRestrictedType) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.UnitPutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.UnitPutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/WorkOrderItemPriorityController.cs b/server/AyaNova/Controllers/WorkOrderItemPriorityController.cs index b1106279..5bafd068 100644 --- a/server/AyaNova/Controllers/WorkOrderItemPriorityController.cs +++ b/server/AyaNova/Controllers/WorkOrderItemPriorityController.cs @@ -119,7 +119,7 @@ namespace AyaNova.Api.Controllers WorkOrderItemPriorityBiz biz = WorkOrderItemPriorityBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/WorkOrderItemStatusController.cs b/server/AyaNova/Controllers/WorkOrderItemStatusController.cs index 136049b8..9d48be99 100644 --- a/server/AyaNova/Controllers/WorkOrderItemStatusController.cs +++ b/server/AyaNova/Controllers/WorkOrderItemStatusController.cs @@ -119,7 +119,7 @@ namespace AyaNova.Api.Controllers WorkOrderItemStatusBiz biz = WorkOrderItemStatusBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT)) diff --git a/server/AyaNova/Controllers/WorkOrderStatusController.cs b/server/AyaNova/Controllers/WorkOrderStatusController.cs index 76207074..e28cfeee 100644 --- a/server/AyaNova/Controllers/WorkOrderStatusController.cs +++ b/server/AyaNova/Controllers/WorkOrderStatusController.cs @@ -119,7 +119,7 @@ namespace AyaNova.Api.Controllers WorkOrderStatusBiz biz = WorkOrderStatusBiz.GetBiz(ct, HttpContext); if (!Authorized.HasModifyRole(HttpContext.Items, biz.BizType)) return StatusCode(403, new ApiNotAuthorizedResponse()); - var o = await biz.PutAsync(updatedObject);//In future may need to return entire object, for now just concurrency token + var o = await biz.PutAsync(updatedObject); if (o == null) { if (biz.Errors.Exists(z => z.Code == ApiErrorCode.CONCURRENCY_CONFLICT))