public async Task <ActionResult <ResultViewModel> > JokenPoNerdAsync([FromBody] JokenPoViewModel jokenPo)
        {
            try
            {
                if (jokenPo == null)
                {
                    _notificador.Add("Parametros de entrada inválidos");
                    return(BadRequest(new ResultViewModel(_notificador.ObterNotificacoes())));
                }

                bool campos = jokenPo.ValidarCampos();


                if (campos == false)
                {
                    _notificador.Add("Parametros de entrada inválidos");
                    return(BadRequest(new ResultViewModel(_notificador.ObterNotificacoes())));
                }

                var result = await _jokenPoNerdService.JokenPoNerdAsync(jokenPo);

                if (result == null)
                {
                    return(BadRequest(new ResultViewModel(_notificador.ObterNotificacoes())));
                }

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Ocorreu um erro interno no servidor: " + ex.Message));
            }
        }
        public static List <Notificacao> GetErrorModelState(ModelStateDictionary modelState, Notificador notificador)
        {
            var erros = modelState.Values.SelectMany(e => e.Errors);

            foreach (var erro in erros)
            {
                var errorMsg = erro.Exception == null ? erro.ErrorMessage : erro.Exception.Message;
                notificador.Add("", errorMsg);
            }

            return(notificador.ObterNotificacoes());
        }
        public void IniciaNotificadorInstanciado()
        {
            //Arrange
            Notificador notificador = new Notificador();

            //Act


            //Assert
            Assert.False(notificador.TemNotificacao());
            Assert.Empty(notificador.ObterNotificacoes());
        }
        public void AdicionaNotificacao()
        {
            //Arrange
            Notificador notificador = new Notificador();

            //Act
            notificador.Handle(new Notificacao("Teste"));

            //Assert
            Assert.True(notificador.TemNotificacao());
            Assert.Single(notificador.ObterNotificacoes());
        }
        public async Task <ActionResult <ResultViewModel> > BuscarEstabelecimentoId(Guid id)
        {
            try
            {
                Estabelecimento estabelecimento = await _estabelecimentoService.BuscarEstabelecimentoIdAsync(id);

                if (estabelecimento == null)
                {
                    return(BadRequest(new ResultViewModel(_notificador.ObterNotificacoes())));
                }


                var estabelecimentoViewModel = _mapper.Map <EstabelecimentoViewModel>(estabelecimento);

                ResultViewModel resultViewModel = new ResultViewModel(estabelecimentoViewModel);
                return(Ok(resultViewModel));
            }
            catch (Exception ex)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Ocorreu um erro interno no servidor: " + ex.Message));
            }
        }
 public static object GetErrorValidacao(Notificador notificador)
 {
     return(new { Error = notificador.ObterNotificacoes().Select(x => x.Mensagem) });
 }