Esempio n. 1
0
        public async Task <IActionResult> GetCommentsAsync(
            [FromQuery] PagingOptions pagingOptions,
            CancellationToken ct)
        {
            pagingOptions.Offset = pagingOptions.Offset ?? _defaultPagingOptions.Offset;
            pagingOptions.Limit  = pagingOptions.Limit ?? _defaultPagingOptions.Limit;

            var conversations = await _commentService.GetCommentsAsync(null, pagingOptions, ct);

            var collection = CollectionWithPaging <CommentResource> .Create(
                Link.ToCollection(nameof(GetCommentsAsync)),
                conversations.Items.ToArray(),
                conversations.TotalSize,
                pagingOptions);

            return(Ok(collection));
        }
        public async Task <IActionResult> GetConversationCommentsByIdAsync(
            GetConversationByIdParameters parameters,
            [FromQuery] PagingOptions pagingOptions,
            CancellationToken ct)
        {
            pagingOptions.Offset = pagingOptions?.Offset ?? _defaultPagingOptions.Offset;
            pagingOptions.Limit  = pagingOptions?.Limit ?? _defaultPagingOptions.Limit;

            var conversationComments = await _commentService.GetCommentsAsync(parameters.ConversationId, pagingOptions, ct);

            var collection = CollectionWithPaging <CommentResource> .Create(
                Link.ToCollection(
                    nameof(GetConversationCommentsByIdAsync),
                    new GetConversationByIdParameters {
                ConversationId = parameters.ConversationId
            }),
                conversationComments.Items.ToArray(),
                conversationComments.TotalSize,
                pagingOptions);

            return(Ok(collection));
        }