public IActionResult Create([FromBody] CreateOrUpdateTodoItemRequest request)
        {
            _logger.LogInformation("Action{ActionName} called, with body {RequestBody.}", nameof(Create), request);
            var todoItem = new TodoItem()
            {
                Title       = request.Title,
                Description = request.Description,
                DueDate     = request.DueDate
            };

            _todoItemContext.TodoItems.Add(todoItem);
            _todoItemContext.SaveChanges();
            return(Ok(todoItem));
        }
        public IActionResult Update([FromRoute] int id, [FromBody] CreateOrUpdateTodoItemRequest request)
        {
            _logger.LogInformation("Action{ActionName} called, with parameter id = {Id} ,with body {RequestBody}.",
                                   nameof(Update), id, request);
            TodoItem todoItem = _todoItemContext.TodoItems.Find(id);

            if (todoItem == null)
            {
                return(NotFound());
            }
            todoItem.Title       = request.Title;
            todoItem.Description = request.Description;
            todoItem.DueDate     = request.DueDate;
            _todoItemContext.SaveChanges();
            return(Ok());
        }