예제 #1
0
 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;
     }
 }
예제 #2
0
        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());
        }