/*
         * @TODO
         * Aplicar as regras
         * a. Ao salvar nova, desenvolver trigger que altera valor da rendaextra na carteira
         * b. Ao update, efetuar alteracao do valor na carteira tbm caso seja diferente
         * c. Ao remover(update do campo ativo para 0), remover o valor da rendaextra na carteira
         */
        public RendaAdicional nova(RendaAdicionalDTO rendaAdicionalDto)
        {
            RendaAdicional rendaAdicional = mapper(rendaAdicionalDto);

            rendaAdicional = _rendaAdicionalRepository.Add(rendaAdicional);
            return(rendaAdicional);
        }
 public ActionResult <RendaAdicional> editar([FromBody] RendaAdicionalDTO rendaAdicionalDto)
 {
     try
     {
         RendaAdicional rendaAdicional = _rendaAdicionalService.editar(rendaAdicionalDto);
         return(Ok(rendaAdicional));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
        public RendaAdicional editar(RendaAdicionalDTO rendaAdicionalDto)
        {
            RendaAdicional renda = _rendaAdicionalRepository.Get(rendaAdicionalDto.Id);

            if (rendaAdicionalDto.UsuarioId != renda.UsuarioId || rendaAdicionalDto.CarteiraId != renda.CarteiraId)
            {
                throw new VerificationException("Carteira/Usuário não podem sem modificados");
            }
            RendaAdicional rendaAdicional = mapper(rendaAdicionalDto);

            rendaAdicional = _rendaAdicionalRepository.Update(rendaAdicional);
            return(rendaAdicional);
        }
        public void remover(long id)
        {
            // Carteira carteira = _carteiraRepository.Get(rendaAdicionalDto.CarteiraId);
            RendaAdicional rendaAdicional = _rendaAdicionalRepository.Get(id);

            if (/*carteira != null &&*/ rendaAdicional != null)
            {
                // carteira.RendaExtra -= rendaAdicional.Valor;
                rendaAdicional.Ativo = 0;

                // _carteiraRepository.Update(carteira);
                _rendaAdicionalRepository.Update(rendaAdicional);
            }
        }