public TodoItemView Post([FromBody] TodoItemView value)
        {
            _logger.LogInformation("Create item");
            var entity = new TodoItem();

            entity = _handler.Create(value.Hydrate(entity));
            if (entity == null)
            {
                Response.StatusCode = (int)HttpStatusCode.BadRequest;
                return(null);
            }
            Response.StatusCode = (int)HttpStatusCode.Created;
            return(new TodoItemView(entity));
        }
        public TodoItemView Put(Guid id, [FromBody] TodoItemView value)
        {
            _logger.LogInformation("Update Item {ID}", id);
            var entity = _handler.Retrieve(id);

            if (entity == null)
            {
                _logger.LogWarning("Item {ID} does not exist yet", id);
                Response.StatusCode = (int)HttpStatusCode.NotFound;
                return(null);
            }
            entity    = value.Hydrate(entity);
            entity.Id = id;


            entity = _handler.Update(entity);

            return(new TodoItemView(entity));
        }