/// <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); }
/// <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)); }
/// <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); }
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); } }
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); } }
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); }
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); }
/// <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); }
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); }