private void AddTaskQueuesStatisticsOptions(TaskQueuesStatisticsRequest options, RestRequest request)
        {
            AddStatisticsDateOptions(options, request);

            if (options.FriendlyName.HasValue())
            {
                request.AddParameter("FriendlyName", options.FriendlyName);
            }

            if (options.Count.HasValue)
            {
                request.AddParameter("PageSize", options.Count.Value);
            }

            if (options.PageNumber.HasValue)
            {
                request.AddParameter("Page", options.PageNumber.Value);
            }

            if (options.BeforeSid.HasValue())
            {
                request.AddParameter("BeforeSid", options.BeforeSid);
            }

            if (options.AfterSid.HasValue())
            {
                request.AddParameter("AfterSid", options.AfterSid);
            }
        }
        /// <summary>
        /// List task queues statictics on current workspace with filters
        /// </summary>
        /// <param name="workspaceSid">The Sid of the workspace the task queues belong to</param>
        /// <param name="options">Filtering and time interval options.</param>
        /// <param name="callback">Method to call upon successful completion</param>
        public virtual void ListTaskQueuesStatistics(string workspaceSid, TaskQueuesStatisticsRequest options, Action<TaskQueueStatisticsResult> callback)
        {
            Require.Argument("WorkspaceSid", workspaceSid);

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

            request.AddUrlSegment("WorkspaceSid", workspaceSid);

            AddTaskQueuesStatisticsOptions(options, request);

            ExecuteAsync<TaskQueueStatisticsResult>(request, callback);
        }
        /// <summary>
        /// List task queues statictics on current workspace with filters
        /// </summary>
        /// <param name="workspaceSid">The Sid of the workspace the task queues belong to</param>
        /// <param name="options">Time-interval and filtering options.</param>
        public virtual TaskQueueStatisticsResult ListTaskQueuesStatistics(string workspaceSid, TaskQueuesStatisticsRequest options)
        {
            Require.Argument("WorkspaceSid", workspaceSid);

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

            request.AddUrlSegment("WorkspaceSid", workspaceSid);

            AddTaskQueuesStatisticsOptions(options, request);
            
            return Execute<TaskQueueStatisticsResult>(request);
        }
Exemple #4
0
        /// <summary>
        /// List task queues statictics on current workspace with filters
        /// </summary>
        /// <param name="workspaceSid">The Sid of the workspace the task queues belong to</param>
        /// <param name="options">Filtering and time interval options.</param>
        /// <param name="callback">Method to call upon successful completion</param>
        public virtual void ListTaskQueuesStatistics(string workspaceSid, TaskQueuesStatisticsRequest options, Action <TaskQueueStatisticsResult> callback)
        {
            Require.Argument("WorkspaceSid", workspaceSid);

            var request = new RestRequest();

            request.Resource = "Workspaces/{WorkspaceSid}/TaskQueues/Statistics";

            request.AddUrlSegment("WorkspaceSid", workspaceSid);

            AddTaskQueuesStatisticsOptions(options, request);

            ExecuteAsync <TaskQueueStatisticsResult>(request, callback);
        }
        private void AddTaskQueuesStatisticsOptions(TaskQueuesStatisticsRequest options, RestRequest request)
        {
            AddStatisticsDateOptions(options, request);

            if (options.FriendlyName.HasValue()) {
                request.AddParameter("FriendlyName", options.FriendlyName);
            }

            if (options.Count.HasValue) {
                request.AddParameter("PageSize", options.Count.Value);
            }

            if (options.PageNumber.HasValue) {
                request.AddParameter("Page", options.PageNumber.Value);
            }

            if (options.BeforeSid.HasValue()) {
                request.AddParameter("BeforeSid", options.BeforeSid);
            }

            if (options.AfterSid.HasValue()) {
                request.AddParameter("AfterSid", options.AfterSid);
            }
        }
        /// <summary>
        /// List task queues statictics on current workspace with filters
        /// </summary>
        /// <param name="workspaceSid">The Sid of the workspace the task queues belong to</param>
        /// <param name="options">Time-interval and filtering options.</param>
        public virtual async Task <TaskQueueStatisticsResult> ListTaskQueuesStatisticsAsync(string workspaceSid, TaskQueuesStatisticsRequest options)
        {
            Require.Argument("WorkspaceSid", workspaceSid);

            var request = new RestRequest();

            request.Resource = "Workspaces/{WorkspaceSid}/TaskQueues/Statistics";

            request.AddUrlSegment("WorkspaceSid", workspaceSid);

            AddTaskQueuesStatisticsOptions(options, request);

            return(await Execute <TaskQueueStatisticsResult>(request));
        }
        public void ShouldListTaskQueueStatisticsUsingFiltersAsynchronously()
        {
            RestRequest savedRequest = null;
            mockClient.Setup(trc => trc.ExecuteAsync<TaskQueueStatisticsResult>(It.IsAny<RestRequest>(), It.IsAny<Action<TaskQueueStatisticsResult>>()))
                .Callback<RestRequest, Action<TaskQueueStatisticsResult>>((request, action) => savedRequest = request);
            var client = mockClient.Object;
            manualResetEvent = new ManualResetEvent(false);
            var friendlyName = Twilio.Api.Tests.Utilities.MakeRandomFriendlyName();
            var minutes = 10;
            var options = new TaskQueuesStatisticsRequest();
            options.FriendlyName = friendlyName;
            options.Minutes = minutes;

            client.ListTaskQueuesStatistics(WORKSPACE_SID, options, stats => {
                manualResetEvent.Set();
            });

            mockClient.Verify(trc => trc.ExecuteAsync<TaskQueueStatisticsResult>(It.IsAny<RestRequest>(), It.IsAny<Action<TaskQueueStatisticsResult>>()), Times.Once);
            Assert.IsNotNull(savedRequest);
            Assert.AreEqual("Workspaces/{WorkspaceSid}/TaskQueues/Statistics", savedRequest.Resource);
            Assert.AreEqual("GET", savedRequest.Method);
            Assert.AreEqual(3, 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 minutesParam = savedRequest.Parameters.Find(x => x.Name == "Minutes");
            Assert.IsNotNull(minutesParam);
            Assert.AreEqual(minutes, minutesParam.Value);
        }
        public async System.Threading.Tasks.Task ShouldListTaskQueueStatisticsUsingFilters()
        {
            RestRequest savedRequest = null;

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

            mockClient.Setup(trc => trc.Execute<TaskQueueStatisticsResult>(It.IsAny<RestRequest>()))
                .Callback<RestRequest>((request) => savedRequest = request)
                .Returns(tcs.Task);
            var client = mockClient.Object;
            var friendlyName = Twilio.Api.Tests.Utilities.MakeRandomFriendlyName();
            var minutes = 10;

            var options = new TaskQueuesStatisticsRequest();
            options.FriendlyName = friendlyName;
            options.Minutes = minutes;
            await client.ListTaskQueuesStatisticsAsync(WORKSPACE_SID, options);

            mockClient.Verify(trc => trc.Execute<TaskQueueStatisticsResult>(It.IsAny<RestRequest>()), Times.Once);
            Assert.IsNotNull(savedRequest);
            Assert.AreEqual("Workspaces/{WorkspaceSid}/TaskQueues/Statistics", savedRequest.Resource);
            Assert.AreEqual("GET", savedRequest.Method);
            Assert.AreEqual(3, 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 minutesParam = savedRequest.Parameters.Find(x => x.Name == "Minutes");
            Assert.IsNotNull(minutesParam);
            Assert.AreEqual(minutes, minutesParam.Value);
        }