public async Task <IActionResult> Post([FromBody] TodoBag value)
        {
            var todo = Todo.CreateFrom(value);

            _context.Add(todo);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("Get", new { id = todo.Id }, todo));
        }
        public async Task <IActionResult> Put(Guid id, [FromBody] TodoBag value)
        {
            var todo = await _context.Todos.Where(TodoSpecifications.ById(id).Expression).FirstOrDefaultAsync();

            if (todo == null)
            {
                return(WhenTodoNull(id));
            }

            todo.UpdateFrom(value);
            await _context.SaveChangesAsync();

            return(AcceptedAtAction("Get", new { id = todo.Id }, todo));
        }