private async Task VerifyCanComplete(WorkOrder workOrder) { if (await workOrder.CanAssignOperative(_scheduleOfRatesGateway) && await _featureManager.IsEnabledAsync(FeatureFlags.EnforceAssignedOperative) && workOrder.AssignedOperatives.IsNullOrEmpty()) { ThrowHelper.ThrowUnsupported(Resources.CannotCompleteWithNoOperative); } workOrder.VerifyCanComplete(); if (!CanUserComplete(workOrder)) { throw new UnauthorizedAccessException("Not Authorised to close jobs"); } }