protected ActionResult CustomizarResponse(object result = null) { if (OperacaoValida()) { return(Ok(new { Sucesso = true, Data = result })); } return(BadRequest(new { Sucesso = false, Erros = _notificador.ObterNotificacoes().Select(e => e.Mensagem) })); }
protected ActionResult CustomResponse(object result = null) { if (IsValidOperation()) { return(Ok(new ResponseViewModel { Success = true, Data = result })); } return(BadRequest(new ResponseViewModel { Success = false, Errors = _notificador.ObterNotificacoes().Select(n => n.Mensagem).ToArray() })); }
protected ActionResult CustomResponse(object result = null) { if (OperacaoValida()) { return(Ok(new { success = true, data = result })); } return(BadRequest(new { success = false, errors = _notificador.ObterNotificacoes().Select(n => n.Mensagem) })); }
//CustomResponse que valida se existe algum tipo de operação independente de onde ela surgiu e retorna um Ok //caso tenha, eu retorno uma lista de mensagens para o cliente protected ActionResult CustomResponse(object result = null) { if (OperacaoValida()) { return Ok(new { success = true, data = result }); } return BadRequest(new { success = false, errors = _notificador.ObterNotificacoes() .Select(n => n.Mensagem) //criando uma lista de mensagens dentro do errors }); }
protected ActionResult Result(object obj = null) { //Validações Ok if (!_notificador.TemNotificacao()) { return(Ok(new { sucesso = true, Data = obj })); } return(BadRequest(new { sucesso = false, erros = _notificador.ObterNotificacoes().Select(n => n.Mensagem) })); }
// DESAFIO usar uma classe wrapper para padronizar a saida protected ActionResult CustomResponse(object result = null) { if (OperacaoValida()) { return(Ok(new { success = true, data = result })); } return(BadRequest(new { success = false, errors = _notificador.ObterNotificacoes().Select(n => n.Mensagem) // Dependendo da forma como precisar ser tratada no front //errors = _notificador.ObterNotificacoes().ToDictionary(n => n.Campo, n => n.Mensagem) })); }
protected ActionResult CustomResponse(Object result = null) { if (OperacaoValida()) { return(Ok(new { success = true, data = result })); } else { return(BadRequest(new { success = false, data = _notificador.ObterNotificacoes().Select(m => m.Message) })); } }
public async Task <IActionResult> OnPostAsync(Guid?id) { if (id == null) { return(NotFound()); } Fornecedor = _mapper.Map <FornecedorViewModel>(await _fornecedorRepository.ObterPorId(id.Value)); if (Fornecedor != null) { var result = await _fornecedorService.Remover(Fornecedor.Id); if (result == false) { _errorMensagens = _notificador.ObterNotificacoes(); return(null); } } return(RedirectToPage("./Index")); }
public ActionResult <EnderecoViewModel> AdicionarEndereco([FromBody] EnderecoViewModel enderecoViewModel) { if (!ModelState.IsValid) { var erros = ModelState.Values.SelectMany(e => e.Errors); foreach (var erro in erros) { var errorMsg = erro.Exception == null ? erro.ErrorMessage : erro.Exception.Message; _notificador.Adicionar(errorMsg); } return(BadRequest(new { Error = _notificador.ObterNotificacoes().Select(n => n.Mensagem) })); } var endereco = _mapper.Map <Endereco>(enderecoViewModel); _enderecoService.Adicionar(endereco); var enderecoViewModelResult = _mapper.Map <EnderecoViewModel>(endereco); return(Ok(enderecoViewModelResult)); }
public async Task <IActionResult> OnPostAsync() { if (!ModelState.IsValid) { return(Page()); } try { var result = await _produtoService.Adicionar(_mapper.Map <Produto>(Produto)); if (result == false) { _errorMensagens = _notificador.ObterNotificacoes(); return(null); } } catch (DbUpdateException ex) { _errorException = ex.Message; } return(RedirectToPage("./Index")); }
protected HttpResponseMessage CustomResponse(object result = null) { HttpResponseMessage resultado = new HttpResponseMessage(); if (OperacaoValida()) { resultado = Request.CreateResponse(HttpStatusCode.OK, new { success = true, data = result }); return(resultado); } resultado = Request.CreateResponse(HttpStatusCode.BadRequest, new { success = false, errors = _notificador.ObterNotificacoes().Select(n => n.Mensagem) }); return(resultado); }
protected ActionResult CustomResponse(object result = null, ETipoAcao tipoAcao = ETipoAcao.Selecionar) { if (OperacaoValida()) { switch (tipoAcao) { case ETipoAcao.Selecionar: // HTTP Code 200 return(Ok(new CustomResult(true, result))); case ETipoAcao.Adicionado: // HTTP Code 201 if (result is MainViewModel mainView) { return(Created(new Uri($"{Url.ActionContext.HttpContext.Request.Scheme}://{Url.ActionContext.HttpContext.Request.Host}{Url.ActionContext.HttpContext.Request.Path}/{mainView.Id}"), new CustomResult(true, result))); } return(Created(new Uri($"{Url.ActionContext.HttpContext.Request.Scheme}://{Url.ActionContext.HttpContext.Request.Host}{Url.ActionContext.HttpContext.Request.Path}"), new CustomResult(true, result))); case ETipoAcao.Atualizado: // HTTP Code 204 return(new CustomNoContentResult(new CustomResult(true, result))); case ETipoAcao.Excluido: // HTTP Code 204 return(new CustomNoContentResult(new CustomResult(true, "Objeto excluido com sucesso"))); case ETipoAcao.NaoEncontrado: // HTTP Code 404 return(NotFound(new CustomResult(false, "Objeto nâo foi encontrado"))); case ETipoAcao.ModeloInvalido: // HTTP Code 400 return(BadRequest(new CustomResult(false, result))); default: throw new ArgumentOutOfRangeException(nameof(tipoAcao), tipoAcao, null); } } return(BadRequest(new CustomResult(false, _notificador.ObterNotificacoes().Select(n => n.Mensagem)))); }
public async Task <IActionResult> DeleteConfirmed(Guid id) { var fornecedorViewModel = await ObterFornecedorEndereco(id); if (fornecedorViewModel == null) { return(NotFound()); } await _fornecedorService.Remover(id); if (!OperacaoValida()) { if (_notificador.TemNotificacao()) { foreach (var item in _notificador.ObterNotificacoes()) { TempData["Erro"] = item.Mensagem; } } } return(RedirectToAction(nameof(Index))); }
public static object GetErrorValidacao(INotificador notificador) { return(new { Error = notificador.ObterNotificacoes().Select(x => x.Mensagem) }); }
protected object Notificacoes() { return(new { errors = _notificador.ObterNotificacoes().ToArray() }); }
protected bool OperacaoValida() { return(!_notificador.TemNotificacao() || _notificador.ObterNotificacoes().TrueForAll(x => x.Sucesso == 2)); }
public async Task <ActionResult> Registrar([FromBody] ContaRegistroModel model) { if (await _contaServico.Registrar(model)) { await _contaServico.Logar(new ContaLoginModel { Email = model.Email, Senha = model.Senha }); return(Ok(new OkAuthResponse("Usuário registrado com sucesso", token: await _jwtServico.GerarToken(model.Email)))); } return(BadRequest(new BadRequestResponse("Não foi possível registrar o usuário", _notificador.ObterNotificacoes(), model))); }
protected IEnumerable <Notificacao> GetErros() { return(_notificador.ObterNotificacoes()); }