static void Main(string[] args) { // Find your Account Sid and Auth Token at twilio.com/user/account string AccountSid = "{{ account_sid }}"; string AuthToken = "{{ auth_token }}"; string WorkspaceSid = "{{ workspace_sid }}"; var client = new TaskRouterClient(AccountSid, AuthToken); WorkerListRequest filters = new WorkerListRequest(); filters.Available = "1"; filters.TaskQueueSid = "WQf855e98ad280d0a0a325628e24ca9627"; WorkerResult workerResult = client.ListWorkers(WorkspaceSid, filters); foreach (Worker worker in workerResult.Workers) { Console.WriteLine(worker.FriendlyName); } filters = new WorkerListRequest(); filters.TargetWorkersExpression = "type == 'leads'"; WorkerResult workerResult = client.ListWorkers(WorkspaceSid, filters); foreach (Worker worker in workerResult.Workers) { Console.WriteLine(worker.FriendlyName); } }
public async Task <IActionResult> List([FromQuery] WorkerListRequest request) { var list = await _mediator.Send(new WorkerListQuery( request.Page, request.PerPage, request.OrderDirection, request.OrderBy, request.Search, request.ShowInactiveContracts ?? false, request.HasPkzp, request.JobPosition )); return(Ok(list)); }
public void ShouldListWorkersUsingFiltersAsynchronously() { IRestRequest savedRequest = null; mockClient.Setup(trc => trc.ExecuteAsync<WorkerResult>(It.IsAny<IRestRequest>(), It.IsAny<Action<WorkerResult>>())) .Callback<IRestRequest, Action<WorkerResult>>((request, action) => savedRequest = request); var client = mockClient.Object; manualResetEvent = new ManualResetEvent(false); var options = new WorkerListRequest(); var friendlyName = Utilities.MakeRandomFriendlyName(); options.FriendlyName = friendlyName; options.ActivityName = "activityName"; options.ActivitySid = "WA123"; options.AfterSid = "afterSid"; options.BeforeSid = "beforeSid"; options.Count = 10; options.TargetWorkersExpression = "expression"; options.TaskQueueName = "taskQueueName"; options.TaskQueueSid = "WQ123"; client.ListWorkers(WORKSPACE_SID, options, workers => { manualResetEvent.Set(); }); manualResetEvent.WaitOne(1); mockClient.Verify(trc => trc.ExecuteAsync<WorkerResult>(It.IsAny<IRestRequest>(), It.IsAny<Action<WorkerResult>>()), Times.Once); Assert.IsNotNull(savedRequest); Assert.AreEqual("Workspaces/{WorkspaceSid}/Workers", savedRequest.Resource); Assert.AreEqual(Method.GET, savedRequest.Method); Assert.AreEqual(10, savedRequest.Parameters.Count); var workspaceSidParam = savedRequest.Parameters.Find(x => x.Name == "WorkspaceSid"); Assert.IsNotNull(workspaceSidParam); Assert.AreEqual(WORKSPACE_SID, workspaceSidParam.Value); var friendlyNameParam = savedRequest.Parameters.Find(x => x.Name == "FriendlyName"); Assert.IsNotNull(friendlyNameParam); Assert.AreEqual(friendlyName, friendlyNameParam.Value); var activityNameParam = savedRequest.Parameters.Find(x => x.Name == "ActivityName"); Assert.IsNotNull(activityNameParam); Assert.AreEqual(options.ActivityName, activityNameParam.Value); var activitySidParam = savedRequest.Parameters.Find(x => x.Name == "ActivitySid"); Assert.IsNotNull(activitySidParam); Assert.AreEqual(options.ActivitySid, activitySidParam.Value); var targetWorkersExpressionParam = savedRequest.Parameters.Find(x => x.Name == "TargetWorkersExpression"); Assert.IsNotNull(targetWorkersExpressionParam); Assert.AreEqual(options.TargetWorkersExpression, targetWorkersExpressionParam.Value); var taskQueueNameParam = savedRequest.Parameters.Find(x => x.Name == "TaskQueueName"); Assert.IsNotNull(taskQueueNameParam); Assert.AreEqual(options.TaskQueueName, taskQueueNameParam.Value); var taskQueueSidParam = savedRequest.Parameters.Find(x => x.Name == "TaskQueueSid"); Assert.IsNotNull(taskQueueSidParam); Assert.AreEqual(options.TaskQueueSid, taskQueueSidParam.Value); var afterSidParam = savedRequest.Parameters.Find(x => x.Name == "AfterSid"); Assert.IsNotNull(afterSidParam); Assert.AreEqual("afterSid", afterSidParam.Value); var beforeSidParam = savedRequest.Parameters.Find(x => x.Name == "BeforeSid"); Assert.IsNotNull(beforeSidParam); Assert.AreEqual("beforeSid", beforeSidParam.Value); var countSidParam = savedRequest.Parameters.Find(x => x.Name == "PageSize"); Assert.IsNotNull(countSidParam); Assert.AreEqual(10, countSidParam.Value); }
public void ShouldListWorkersUsingFiltersAsynchronously() { RestRequest savedRequest = null; mockClient.Setup(trc => trc.ExecuteAsync <WorkerResult>(It.IsAny <RestRequest>(), It.IsAny <Action <WorkerResult> >())) .Callback <RestRequest, Action <WorkerResult> >((request, action) => savedRequest = request); var client = mockClient.Object; manualResetEvent = new ManualResetEvent(false); var options = new WorkerListRequest(); var friendlyName = Twilio.Api.Tests.Utilities.MakeRandomFriendlyName(); options.FriendlyName = friendlyName; options.ActivityName = "activityName"; options.ActivitySid = "WA123"; options.AfterSid = "afterSid"; options.BeforeSid = "beforeSid"; options.Count = 10; options.TargetWorkersExpression = "expression"; options.TaskQueueName = "taskQueueName"; options.TaskQueueSid = "WQ123"; client.ListWorkers(WORKSPACE_SID, options, workers => { manualResetEvent.Set(); }); manualResetEvent.WaitOne(1); mockClient.Verify(trc => trc.ExecuteAsync <WorkerResult>(It.IsAny <RestRequest>(), It.IsAny <Action <WorkerResult> >()), Times.Once); Assert.IsNotNull(savedRequest); Assert.AreEqual("Workspaces/{WorkspaceSid}/Workers", savedRequest.Resource); Assert.AreEqual("GET", savedRequest.Method); Assert.AreEqual(10, savedRequest.Parameters.Count); var workspaceSidParam = savedRequest.Parameters.Find(x => x.Name == "WorkspaceSid"); Assert.IsNotNull(workspaceSidParam); Assert.AreEqual(WORKSPACE_SID, workspaceSidParam.Value); var friendlyNameParam = savedRequest.Parameters.Find(x => x.Name == "FriendlyName"); Assert.IsNotNull(friendlyNameParam); Assert.AreEqual(friendlyName, friendlyNameParam.Value); var activityNameParam = savedRequest.Parameters.Find(x => x.Name == "ActivityName"); Assert.IsNotNull(activityNameParam); Assert.AreEqual(options.ActivityName, activityNameParam.Value); var activitySidParam = savedRequest.Parameters.Find(x => x.Name == "ActivitySid"); Assert.IsNotNull(activitySidParam); Assert.AreEqual(options.ActivitySid, activitySidParam.Value); var targetWorkersExpressionParam = savedRequest.Parameters.Find(x => x.Name == "TargetWorkersExpression"); Assert.IsNotNull(targetWorkersExpressionParam); Assert.AreEqual(options.TargetWorkersExpression, targetWorkersExpressionParam.Value); var taskQueueNameParam = savedRequest.Parameters.Find(x => x.Name == "TaskQueueName"); Assert.IsNotNull(taskQueueNameParam); Assert.AreEqual(options.TaskQueueName, taskQueueNameParam.Value); var taskQueueSidParam = savedRequest.Parameters.Find(x => x.Name == "TaskQueueSid"); Assert.IsNotNull(taskQueueSidParam); Assert.AreEqual(options.TaskQueueSid, taskQueueSidParam.Value); var afterSidParam = savedRequest.Parameters.Find(x => x.Name == "AfterSid"); Assert.IsNotNull(afterSidParam); Assert.AreEqual("afterSid", afterSidParam.Value); var beforeSidParam = savedRequest.Parameters.Find(x => x.Name == "BeforeSid"); Assert.IsNotNull(beforeSidParam); Assert.AreEqual("beforeSid", beforeSidParam.Value); var countSidParam = savedRequest.Parameters.Find(x => x.Name == "PageSize"); Assert.IsNotNull(countSidParam); Assert.AreEqual(10, countSidParam.Value); }
public async System.Threading.Tasks.Task ShouldListWorkersUsingFilters() { RestRequest savedRequest = null; var tcs = new TaskCompletionSource <WorkerResult>(); tcs.SetResult(new WorkerResult()); mockClient.Setup(trc => trc.Execute <WorkerResult>(It.IsAny <RestRequest>())) .Callback <RestRequest>((request) => savedRequest = request) .Returns(tcs.Task); var client = mockClient.Object; var options = new WorkerListRequest(); var friendlyName = Twilio.Api.Tests.Utilities.MakeRandomFriendlyName(); options.FriendlyName = friendlyName; options.ActivityName = "activityName"; options.ActivitySid = "WA123"; options.AfterSid = "afterSid"; options.BeforeSid = "beforeSid"; options.Count = 10; options.TargetWorkersExpression = "expression"; options.TaskQueueName = "taskQueueName"; options.TaskQueueSid = "WQ123"; await client.ListWorkersAsync(WORKSPACE_SID, options); mockClient.Verify(trc => trc.Execute <WorkerResult>(It.IsAny <RestRequest>()), Times.Once); Assert.IsNotNull(savedRequest); Assert.AreEqual("Workspaces/{WorkspaceSid}/Workers", savedRequest.Resource); Assert.AreEqual("GET", savedRequest.Method); Assert.AreEqual(10, savedRequest.Parameters.Count); var workspaceSidParam = savedRequest.Parameters.Find(x => x.Name == "WorkspaceSid"); Assert.IsNotNull(workspaceSidParam); Assert.AreEqual(WORKSPACE_SID, workspaceSidParam.Value); var friendlyNameParam = savedRequest.Parameters.Find(x => x.Name == "FriendlyName"); Assert.IsNotNull(friendlyNameParam); Assert.AreEqual(friendlyName, friendlyNameParam.Value); var activityNameParam = savedRequest.Parameters.Find(x => x.Name == "ActivityName"); Assert.IsNotNull(activityNameParam); Assert.AreEqual(options.ActivityName, activityNameParam.Value); var activitySidParam = savedRequest.Parameters.Find(x => x.Name == "ActivitySid"); Assert.IsNotNull(activitySidParam); Assert.AreEqual(options.ActivitySid, activitySidParam.Value); var targetWorkersExpressionParam = savedRequest.Parameters.Find(x => x.Name == "TargetWorkersExpression"); Assert.IsNotNull(targetWorkersExpressionParam); Assert.AreEqual(options.TargetWorkersExpression, targetWorkersExpressionParam.Value); var taskQueueNameParam = savedRequest.Parameters.Find(x => x.Name == "TaskQueueName"); Assert.IsNotNull(taskQueueNameParam); Assert.AreEqual(options.TaskQueueName, taskQueueNameParam.Value); var taskQueueSidParam = savedRequest.Parameters.Find(x => x.Name == "TaskQueueSid"); Assert.IsNotNull(taskQueueSidParam); Assert.AreEqual(options.TaskQueueSid, taskQueueSidParam.Value); var afterSidParam = savedRequest.Parameters.Find(x => x.Name == "AfterSid"); Assert.IsNotNull(afterSidParam); Assert.AreEqual("afterSid", afterSidParam.Value); var beforeSidParam = savedRequest.Parameters.Find(x => x.Name == "BeforeSid"); Assert.IsNotNull(beforeSidParam); Assert.AreEqual("beforeSid", beforeSidParam.Value); var countSidParam = savedRequest.Parameters.Find(x => x.Name == "PageSize"); Assert.IsNotNull(countSidParam); Assert.AreEqual(10, countSidParam.Value); }