Exemplo n.º 1
0
        internal virtual GetQueueResponse GetQueue(GetQueueRequest request)
        {
            var marshaller   = new GetQueueRequestMarshaller();
            var unmarshaller = GetQueueResponseUnmarshaller.Instance;

            return(Invoke <GetQueueRequest, GetQueueResponse>(request, marshaller, unmarshaller));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Initiates the asynchronous execution of the GetQueue operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the GetQueue operation.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>The task object representing the asynchronous operation.</returns>
        /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/GetQueue">REST API Reference for GetQueue Operation</seealso>
        public virtual Task <GetQueueResponse> GetQueueAsync(GetQueueRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller   = new GetQueueRequestMarshaller();
            var unmarshaller = GetQueueResponseUnmarshaller.Instance;

            return(InvokeAsync <GetQueueRequest, GetQueueResponse>(request, marshaller,
                                                                   unmarshaller, cancellationToken));
        }
        public override Task <GetQueueResponse> GetItems(GetQueueRequest request, ServerCallContext context)
        {
            GetQueueResponse response = new GetQueueResponse();
            var items = _dataStore.Items;

            response.Items
            .Add(FilterQueueItems(items, request));

            return(Task.FromResult(response));
        }
        private IEnumerable <QueueItem> FilterQueueItems(IEnumerable <QueueItem> items, GetQueueRequest request)
        {
            var from  = request.From ?? items.Min(i => i.Created);
            var to    = request.To ?? items.Max(i => i.Created);
            var users = request.Users.ToList();

            if (users.Count == 0)
            {
                users = _dataStore.Users.ToList();
            }

            return(items.Where(q => users.Contains(q.User))
                   .Where(q => q.Content.Contains(request.Filter))
                   .Where(q => q.Created >= from && q.Created <= to));
        }