public async Task AddAsync(Cidadao obj) { try { await _cidadaoService.AddAsync(obj); } catch (DomainException ex) { // Registrar no log como erro de regra de negócio.. // Notificar interessados a respeito da violação da regra de negócio.. throw; } catch (InfraDataException ex) { // Registrar no logo como erro de infra.. // Notificar interessados a respeito da violação da regra de negócio.. throw; } }
public async Task <ActionResult> Post([FromBody] CidadaoPostInViewModel item) { try { var entity = Mapper.Map <Cidadao>(item); // Verifica se a o model está preenchido corretamente.. if (!ModelState.IsValid) { return(BadRequest(ModelState)); } await _cidadaoService.AddAsync(entity); } catch (AppException ex) { return(BadRequest( new { Error = ex.Message, ex.InnerException } )); } catch (Exception ex) { return(BadRequest( new { Error = "Ocorreu um erro não tratado antes de inserir o registro. Tente novamente mais tarde! Se o problema persistir entre em contato com o suporte técnico.", ex.Message, ex.InnerException } )); } return(Ok()); }