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));
            }
        }