private static ResultadoBaseResult TratarValidacaoException(ValidacaoException validacaoException) { if (!validacaoException.Errors.Any()) { return(new ResultadoBaseResult(validacaoException.Message)); } return(new ResultadoBaseResult(RespostaApi.Falha(validacaoException.Errors))); }
public override void OnException(ExceptionContext context) { using (SentrySdk.Init(sentryDSN)) { var internalIP = Dns.GetHostEntry(Dns.GetHostName()).AddressList?.FirstOrDefault(c => c.AddressFamily == AddressFamily.InterNetwork).ToString(); SentrySdk.AddBreadcrumb($"{Environment.MachineName ?? string.Empty} - {internalIP ?? string.Empty }", "Machine Identification"); SentrySdk.CaptureException(context.Exception); } context.Result = context.Exception switch { NegocioException negocioException => new ResultadoBaseResult(context.Exception.Message, negocioException.StatusCode), ValidacaoException validacaoException => TratarValidacaoException(validacaoException), _ => new ResultadoBaseResult("Ocorreu um erro interno. Favor contatar o Suporte"), }; base.OnException(context); }
private void RetornarErro(ValidacaoException ex) { var error = JsonConvert.SerializeObject(new { Error = ex.Message, TipoErro = TipoErroEnum.ErroTratado, StackTrace = ex.StackTrace }); this.Send(error); }
private JsonResult RetornarErro(ValidacaoException ex) { var error = new { Error = ex.Message, TipoErro = TipoErroEnum.ErroTratado, StackTrace = ex.StackTrace }; return(Json(error, JsonRequestBehavior.AllowGet)); }