public static IIrrf ObterImportoRenda(SamBeneficiario beneficiario)
        {
            if(beneficiario.TipoPessoa == TipoPessoaEnum.Fisica)
                return new IrrfFisica(beneficiario);

            return new IrrfJuridica(beneficiario);
        }
        public SfnFatura(TipoFaturaEnum tipoFatura, SamBeneficiario beneficiario)
        {
            if(beneficiario == null)
                throw new ArgumentNullException("beneficiario");

            TipoFatura = tipoFatura;
            Beneficiario = beneficiario;
            Handle = Repositorio.Tabelas.RepositorioLancamento().NovoHandle();
        }
        public SfnFatura(TipoFaturaEnum tipoFatura, SamBeneficiario beneficiario)
        {
            if (beneficiario == null)
            {
                throw new ArgumentNullException("beneficiario");
            }

            TipoFatura   = tipoFatura;
            Beneficiario = beneficiario;
            Handle       = Repositorio.Tabelas.RepositorioLancamento().NovoHandle();
        }
 public IrrfFisica(SamBeneficiario beneficiario)
 {
     this.beneficiario = beneficiario;
     if (beneficiario.TipoPessoa != TipoPessoaEnum.Fisica)
     throw new Exception("Beneficiário não é uma pessoa física");
 }