public async Task Returns_created_result_when_no_validation_errors()
        {
            var personId = Guid.NewGuid();
            var anyName  = "any name";

            _savePersonHandler.Save(Arg.Is <SavePersonRequest>(request => request.Name.Equals(anyName))).Returns(SavePersonResponse.Success(personId));

            var result = await _controller.Save(new SavePersonModel { Name = anyName, DateCreated = DateTime.UtcNow });

            (result is CreatedResult).ShouldBeTrue();
        }
        public async Task <IActionResult> Save(SavePersonModel model)
        {
            var response = await _savePersonHandler.Save(new SavePersonRequest(model.Name, model.DateCreated));

            return(response.ResponseType == ResponseType.ValidationError
                ? BadRequest(response.Message)
                : (IActionResult)Created($"/persons/{response.PersonId}", null));
        }