public IPIBasico ObterIPIBasico() { IPIBasico ipiBasico; switch (CST) { case CSTIPI.ipi00: case CSTIPI.ipi49: case CSTIPI.ipi50: case CSTIPI.ipi99: ipiBasico = new IPITrib(); break; case CSTIPI.ipi01: case CSTIPI.ipi02: case CSTIPI.ipi03: case CSTIPI.ipi04: case CSTIPI.ipi05: case CSTIPI.ipi51: case CSTIPI.ipi52: case CSTIPI.ipi53: case CSTIPI.ipi54: case CSTIPI.ipi55: ipiBasico = new IPINT(); break; default: throw new ArgumentOutOfRangeException(); } ipiBasico.CopiarPropriedades(this); return(ipiBasico); }
public override object Processar(ProdutoOuServico prod) { if (PreImposto.Corpo is IPINT corpo) { corpo.CST = CST; } else { corpo = new IPINT(CST); } return(PreImposto); }