Example #1
0
        public async Task <HttpResponseData> GetTodoItems([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "todolists/{id}")]
                                                          HttpRequestData req,
                                                          int id,
                                                          FunctionContext functionContext)
        {
            logger.LogInformation("Called GetTodoItems");

            if (req.Headers.TryGetValues("Content-Type", out IEnumerable <string> values))
            {
                if (values.Contains("text/csv"))
                {
                    var request = new ExportTodosQuery()
                    {
                        ListId = id
                    };
                    return(await this.processor.ExecuteAsync <ExportTodosQuery, ExportTodosVm>(functionContext,
                                                                                               req,
                                                                                               request,
                                                                                               (r) => req.CreateFileContentResponseAsync(r.Content, r.ContentType, r.FileName)));
                }
            }

            var query = new GetTodoItemsWithPaginationQuery()
            {
                ListId = id
            };

            return(await this.processor.ExecuteAsync <GetTodoItemsWithPaginationQuery, PaginatedList <TodoItemDto> >(functionContext,
                                                                                                                     req,
                                                                                                                     query,
                                                                                                                     (r) => req.CreateObjectResponseAsync(r)));
        }