public HttpResponseMessage Post([FromBody] UsuarioCreationDto usuario) { if (usuario == null) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } if (usuario.Nome == usuario.Sobrenome) { ModelState.AddModelError("Sobrenome", "O sobrenome informado deverá ser diferente do nome..."); } if (!ModelState.IsValid) { return(Request.CreateResponse(HttpStatusCode.NotFound)); } var finalUsuario = AutoMapper.Mapper.Map <Entities.Usuario>(usuario); _usuarioRepository.AddUsuario(finalUsuario); if (!_usuarioRepository.Save()) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Ocorreu um problema com a sua solicitação...")); } _usuarioRepository.AddDetalheUsuario(finalUsuario.Id, new Entities.DetalheUsuario() { UsuarioId = finalUsuario.Id, Telefone = usuario.Telefone, Endereco = usuario.Endereco }); if (!_usuarioRepository.Save()) { return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Ocorreu um problema com a sua solicitação...")); } var createUsuarioToReturn = AutoMapper.Mapper.Map <ViewModels.UsuarioDto>(finalUsuario); return(Request.CreateResponse(HttpStatusCode.Created, createUsuarioToReturn)); }