Ejemplo n.º 1
0
        /// <summary>
        /// List tasks on current workspace with filters
        /// </summary>
        /// <param name="workspaceSid">The Sid of the workspace the tasks belong to</param>
        /// <param name="options">List filter options. If an property is set the list will be filtered by that value.</param>
        public virtual async Task<TaskResult> ListTasksAsync(string workspaceSid, TaskListRequest options)
        {
            Require.Argument("WorkspaceSid", workspaceSid);

            var request = new RestRequest();
            request.Resource = "Workspaces/{WorkspaceSid}/Tasks";

            request.AddUrlSegment("WorkspaceSid", workspaceSid);

            AddTaskListOptions(options, request);

            return await Execute<TaskResult>(request);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// List tasks on current workspace with filters
        /// </summary>
        /// <param name="workspaceSid">The Sid of the workspace the tasks belong to</param>
        /// <param name="options">List filter options. If an property is set the list will be filtered by that value.</param>
        public virtual async Task <TaskResult> ListTasksAsync(string workspaceSid, TaskListRequest options)
        {
            Require.Argument("WorkspaceSid", workspaceSid);

            var request = new RestRequest();

            request.Resource = "Workspaces/{WorkspaceSid}/Tasks";

            request.AddUrlSegment("WorkspaceSid", workspaceSid);

            AddTaskListOptions(options, request);

            return(await Execute <TaskResult>(request));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// List tasks on current workspace with filters
        /// </summary>
        /// <param name="workspaceSid">The Sid of the workspace the tasks belong to</param>
        /// <param name="options">List filter options. If an property is set the list will be filtered by that value.</param>
        /// <param name="callback">Method to call upon successful completion</param>
        public virtual void ListTasks(string workspaceSid, TaskListRequest options, Action <TaskResult> callback)
        {
            Require.Argument("WorkspaceSid", workspaceSid);

            var request = new RestRequest();

            request.Resource = "Workspaces/{WorkspaceSid}/Tasks";

            request.AddUrlSegment("WorkspaceSid", workspaceSid);

            AddTaskListOptions(options, request);

            ExecuteAsync <TaskResult>(request, callback);
        }
Ejemplo n.º 4
0
        private void AddTaskListOptions(TaskListRequest options, RestRequest request)
        {
            if (options.Priority.HasValue())
            {
                request.AddParameter("Priority", options.Priority);
            }
            if (options.AssignmentStatus.HasValue())
            {
                request.AddParameter("AssignmentStatus", options.AssignmentStatus);
            }
            if (options.WorkflowSid.HasValue())
            {
                request.AddParameter("WorkflowSid", options.WorkflowSid);
            }
            if (options.WorkflowName.HasValue())
            {
                request.AddParameter("WorkflowName", options.WorkflowName);
            }
            if (options.TaskQueueSid.HasValue())
            {
                request.AddParameter("TaskQueueSid", options.TaskQueueSid);
            }
            if (options.TaskQueueName.HasValue())
            {
                request.AddParameter("TaskQueueName", options.TaskQueueName);
            }

            if (options.AfterSid.HasValue())
            {
                request.AddParameter("AfterSid", options.AfterSid);
            }
            if (options.BeforeSid.HasValue())
            {
                request.AddParameter("BeforeSid", options.BeforeSid);
            }
            if (options.Count.HasValue)
            {
                request.AddParameter("PageSize", options.Count.Value);
            }
        }
Ejemplo n.º 5
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/user/account
        string AccountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        string AuthToken = "your_auth_token";
        string WorkspaceSid = "WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        var client = new TaskRouterClient(AccountSid, AuthToken);

        TaskListRequest filters = new TaskListRequest();
        filters.TaskQueueSid = "WQf855e98ad280d0a0a325628e24ca9627";
        TaskResult taskResult = client.ListTasks(WorkspaceSid, filters);
        foreach(Task task in taskResult.Tasks) {
        Console.WriteLine(task.Attributes);
        }

        filters = new TaskListRequest();
        filters.AssignmentStatus = "pending";
        taskResult = client.ListTasks(WorkspaceSid, filters);
        foreach(Task task in taskResult.Tasks) {
        Console.WriteLine(task.Attributes);
        }
    }
Ejemplo n.º 6
0
        public void ShouldListTasksUsingFiltersAsynchronously()
        {
            RestRequest savedRequest = null;
            mockClient.Setup(trc => trc.ExecuteAsync<TaskResult>(It.IsAny<RestRequest>(), It.IsAny<Action<TaskResult>>()))
                .Callback<RestRequest, Action<TaskResult>>((request, action) => savedRequest = request);
            var client = mockClient.Object;
            manualResetEvent = new ManualResetEvent(false);
            var options = new TaskListRequest();
            options.AssignmentStatus = "assignmentStatus";
            options.Priority = "10";
            options.WorkflowName = "workflowName";
            options.WorkflowSid = "WF123";
            options.AfterSid = "afterSid";
            options.BeforeSid = "beforeSid";
            options.Count = 10;
            options.TaskQueueName = "taskQueueName";
            options.TaskQueueSid = "WQ123";

            client.ListTasks(WORKSPACE_SID, options, tasks => {
                manualResetEvent.Set();
            });

            manualResetEvent.WaitOne(1);

            mockClient.Verify(trc => trc.ExecuteAsync<TaskResult>(It.IsAny<RestRequest>(), It.IsAny<Action<TaskResult>>()), Times.Once);
            Assert.IsNotNull(savedRequest);
            Assert.AreEqual("Workspaces/{WorkspaceSid}/Tasks", 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 assignmentStatusParam = savedRequest.Parameters.Find(x => x.Name == "AssignmentStatus");
            Assert.IsNotNull(assignmentStatusParam);
            Assert.AreEqual(options.AssignmentStatus, assignmentStatusParam.Value);
            var priorityParam = savedRequest.Parameters.Find(x => x.Name == "Priority");
            Assert.IsNotNull(priorityParam);
            Assert.AreEqual(options.Priority, priorityParam.Value);
            var workflowNameParam = savedRequest.Parameters.Find(x => x.Name == "WorkflowName");
            Assert.IsNotNull(workflowNameParam);
            Assert.AreEqual(options.WorkflowName, workflowNameParam.Value);
            var workflowSidParam = savedRequest.Parameters.Find(x => x.Name == "WorkflowSid");
            Assert.IsNotNull(workflowSidParam);
            Assert.AreEqual(options.WorkflowSid, workflowSidParam.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.º 7
0
        private void AddTaskListOptions(TaskListRequest options, RestRequest request)
        {
            if (options.Priority.HasValue()) request.AddParameter("Priority", options.Priority);
            if (options.AssignmentStatus.HasValue()) request.AddParameter("AssignmentStatus", options.AssignmentStatus);
            if (options.WorkflowSid.HasValue()) request.AddParameter("WorkflowSid", options.WorkflowSid);
            if (options.WorkflowName.HasValue()) request.AddParameter("WorkflowName", options.WorkflowName);
            if (options.TaskQueueSid.HasValue()) request.AddParameter("TaskQueueSid", options.TaskQueueSid);
            if (options.TaskQueueName.HasValue()) request.AddParameter("TaskQueueName", options.TaskQueueName);

            if (options.AfterSid.HasValue()) request.AddParameter("AfterSid", options.AfterSid);
            if (options.BeforeSid.HasValue()) request.AddParameter("BeforeSid", options.BeforeSid);
            if (options.Count.HasValue) request.AddParameter("PageSize", options.Count.Value);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// List tasks on current workspace with filters
        /// </summary>
        /// <param name="workspaceSid">The Sid of the workspace the tasks belong to</param>
        /// <param name="options">List filter options. If an property is set the list will be filtered by that value.</param>
        /// <param name="callback">Method to call upon successful completion</param>
        public virtual void ListTasks(string workspaceSid, TaskListRequest options, Action<TaskResult> callback)
        {
            Require.Argument("WorkspaceSid", workspaceSid);

            var request = new RestRequest();
            request.Resource = "Workspaces/{WorkspaceSid}/Tasks";

            request.AddUrlSegment("WorkspaceSid", workspaceSid);

            AddTaskListOptions(options, request);

            ExecuteAsync<TaskResult>(request, callback);
        }
Ejemplo n.º 9
0
        public async System.Threading.Tasks.Task ShouldListTasksUsingFilters()
        {
            RestRequest savedRequest = null;

            var tcs = new TaskCompletionSource<TaskResult>();
            tcs.SetResult(new TaskResult());

            mockClient.Setup(trc => trc.Execute<TaskResult>(It.IsAny<RestRequest>()))
                .Callback<RestRequest>((request) => savedRequest = request)
                .Returns(tcs.Task);
            var client = mockClient.Object;
            var options = new TaskListRequest();
            options.AssignmentStatus = "assignmentStatus";
            options.Priority = "10";
            options.WorkflowName = "workflowName";
            options.WorkflowSid = "WF123";
            options.AfterSid = "afterSid";
            options.BeforeSid = "beforeSid";
            options.Count = 10;
            options.TaskQueueName = "taskQueueName";
            options.TaskQueueSid = "WQ123";

            await client.ListTasksAsync(WORKSPACE_SID, options);

            mockClient.Verify(trc => trc.Execute<TaskResult>(It.IsAny<RestRequest>()), Times.Once);
            Assert.IsNotNull(savedRequest);
            Assert.AreEqual("Workspaces/{WorkspaceSid}/Tasks", 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 assignmentStatusParam = savedRequest.Parameters.Find(x => x.Name == "AssignmentStatus");
            Assert.IsNotNull(assignmentStatusParam);
            Assert.AreEqual(options.AssignmentStatus, assignmentStatusParam.Value);
            var priorityParam = savedRequest.Parameters.Find(x => x.Name == "Priority");
            Assert.IsNotNull(priorityParam);
            Assert.AreEqual(options.Priority, priorityParam.Value);
            var workflowNameParam = savedRequest.Parameters.Find(x => x.Name == "WorkflowName");
            Assert.IsNotNull(workflowNameParam);
            Assert.AreEqual(options.WorkflowName, workflowNameParam.Value);
            var workflowSidParam = savedRequest.Parameters.Find(x => x.Name == "WorkflowSid");
            Assert.IsNotNull(workflowSidParam);
            Assert.AreEqual(options.WorkflowSid, workflowSidParam.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);
        }