public async Task <ActionResult <ResultViewModel> > AlterarEstabelecimentoAsync([FromBody] EstabelecimentoViewModel estabelecimento) { try { if (!ModelState.IsValid) { return(BadRequest(new ResultViewModel(ModelError.GetErrorModelState(ModelState, _notificador)))); } var estabelecimentoDto = _mapper.Map <Estabelecimento>(estabelecimento); var retornoEstabelecimento = await _estabelecimentoService.AlterarEstabelecimentoAsync(estabelecimentoDto); if (retornoEstabelecimento == null) { return(BadRequest(new ResultViewModel(_notificador.ObterNotificacoes()))); } var estabelecimentoViewModel = _mapper.Map <EstabelecimentoViewModel>(retornoEstabelecimento); ResultViewModel resultViewModel = new ResultViewModel(estabelecimentoViewModel); return(Ok(resultViewModel)); } catch (Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, "Ocorreu um erro interno no servidor: " + ex.Message)); } }