Ejemplo n.º 1
0
    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);
        }
    }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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);
        }