public async Task <IActionResult> Post(ToolDto tool) { var toolToAdd = _mapper.Map <Tool>(tool); toolToAdd.Added = DateTime.Now; if (tool.CurrentState != null) { toolToAdd.StateHistory = new ToolState[] { _mapper.Map <ToolState>(tool.CurrentState) }; } else { toolToAdd.StateHistory = new ToolState[] { new ToolState() { State = "new", Note = "Added to the toolkit", Tool = toolToAdd, WhenChanged = DateTime.Now } }; } var newTool = await _repo.AddTool(toolToAdd); var toolToReturn = _mapper.Map <ToolDto>(toolToAdd); return(Ok(toolToReturn)); }