public override void Calcula(ITributavel tributavel) { var resultadoCalculoIcmsCredito = new FacadeCalculadoraTributacao(tributavel).CalculaIcmsCredito(); PercentualCredito = tributavel.PercentualCredito; ValorCredito = resultadoCalculoIcmsCredito.Valor; }
public override void Calcula(ITributavel tributavel) { var facade = new FacadeCalculadoraTributacao(tributavel, TipoDesconto); var ret = facade.CalculaIcms(); ValorIcmsDesonerado = ((ret.BaseCalculo) * ((tributavel.PercentualFcp + tributavel.PercentualIcms) / 100)); }
public override void Calcula(ITributavel tributavel) { base.Calcula(tributavel); PercentualReducao = tributavel.PercentualReducao; ValorBcFcp = new FacadeCalculadoraTributacao(tributavel, TipoDesconto).CalculaFcp().BaseCalculo; }
private void CalculaCredito(ITributavel tributavel) { PercentualCredito = tributavel.PercentualCredito; switch (tributavel.Documento) { case Documento.MFe: case Documento.SAT: case Documento.MDFe: case Documento.NFCe: case Documento.CTeOs: case Documento.NFe: var facade = new FacadeCalculadoraTributacao(tributavel, TipoDesconto); var resultadoCalculaCredito = facade.CalculaIcmsCredito(); ValorCredito = resultadoCalculaCredito.Valor; break; case Documento.CTe: var resultadoIcms = new FacadeCalculadoraTributacao(tributavel, TipoDesconto).CalculaIcms(); ValorCredito = resultadoIcms.Valor * tributavel.PercentualCredito / 100; break; default: throw new ArgumentOutOfRangeException(); } }
public override void Calcula(ITributavel tributavel) { var result = new FacadeCalculadoraTributacao(tributavel, TipoDesconto).CalculaIcms(); ValorBcIcms = result.BaseCalculo; PercentualIcms = tributavel.PercentualIcms; ValorIcms = result.Valor; }
public override void Calcula(ITributavel tributavel) { CalculaIcms(tributavel); CalculaIcmsSt(tributavel); CalculaCredito(tributavel); }
private void CalculaCredito(ITributavel tributavel) { PercentualCredito = tributavel.PercentualCredito; var facade = new FacadeCalculadoraTributacao(tributavel, TipoDesconto); var resultadoCalculaCredito = facade.CalculaIcmsCredito(); ValorCredito = resultadoCalculaCredito.Valor; }
public static void TesteInterface(ITributavel conta) { var conta2 = conta; if (conta is IRecompensavel) { (conta as Conta).Recompensavel(); } }
private void CalculaFcpSt(ITributavel tributavel) { PercentualFcpSt = tributavel.PercentualFcpSt; var facade = new FacadeCalculadoraTributacao(tributavel, TipoDesconto); var resultadoCalculoFcpSt = facade.CalculaFcpSt(); ValorBcFcpSt = resultadoCalculoFcpSt.BaseCalculoFcpSt; ValorFcpSt = resultadoCalculoFcpSt.ValorFcpSt; }
public override void Calcula(ITributavel tributavel) { var facade = new FacadeCalculadoraTributacao(tributavel, TipoDesconto); var resultadoCalculoIcms = facade.CalculaIcmsSt(); PercentualBcStRetido = tributavel.PercentualIcmsSt; ValorBcStRetido = resultadoCalculoIcms.BaseCalculoIcmsSt; ValorIcmsStRetido = resultadoCalculoIcms.ValorIcmsSt; ValorCreditoOutorgadoOuPresumido = facade.CalculaIcmsCredito().Valor; }
public override void Calcula(ITributavel tributavel) { FacadeCalculadoraTributacao facadeCalculadoraTributacao = new FacadeCalculadoraTributacao(tributavel, TipoDesconto); IResultadoCalculoIcms resultadoCalculoIcms = facadeCalculadoraTributacao.CalculaIcms(); IResultadoCalculoFcp resultadoCalculoFcp = facadeCalculadoraTributacao.CalculaFcp(); ValorBcIcms = resultadoCalculoIcms.BaseCalculo; PercentualIcms = tributavel.PercentualIcms; ValorIcms = resultadoCalculoIcms.Valor; PercentualFcp = tributavel.PercentualFcp; ValorFcp = resultadoCalculoFcp.Valor; }
public override void Calcula(ITributavel tributavel) { var result = new FacadeCalculadoraTributacao(tributavel, TipoDesconto).CalculaIcms(); PercentualReducao = tributavel.PercentualReducao; ValorBcIcms = result.BaseCalculo; PercentualIcms = tributavel.PercentualIcms; ValorIcmsOperacao = (ValorBcIcms * PercentualIcms) / 100; PercentualDiferimento = tributavel.PercentualDiferimento; ValorIcmsDiferido = (PercentualDiferimento * ValorIcmsOperacao) / 100; ValorIcms = ValorIcmsOperacao - ValorIcmsDiferido; }
private void CalculaIcms(ITributavel tributavel) { PercentualReducaoIcmsBc = tributavel.PercentualReducao; PercentualIcms = tributavel.PercentualIcms; var facade = new FacadeCalculadoraTributacao(tributavel, TipoDesconto); tributavel.ValorIpi = facade.CalculaIpi().Valor; var resultadoCalculoIcms = facade.CalculaIcms(); ValorBcIcms = resultadoCalculoIcms.BaseCalculo; ValorIcms = resultadoCalculoIcms.Valor; }
public override void Calcula(ITributavel tributavel) { PercentualMva = tributavel.PercentualMva; PercentualReducaoSt = tributavel.PercentualReducaoSt; PercentualIcmsSt = tributavel.PercentualIcmsSt; var facade = new FacadeCalculadoraTributacao(tributavel, TipoDesconto); tributavel.ValorIpi = facade.CalculaIpi().Valor; var resultadoCalculoCofins = facade.CalculaIcmsSt(); ValorBcIcmsSt = resultadoCalculoCofins.BaseCalculoIcmsSt; ValorIcmsSt = resultadoCalculoCofins.ValorIcmsSt; }
private void CalculaIcmsSt(ITributavel tributavel) { PercentualMva = tributavel.PercentualMva; PercentualReducaoSt = tributavel.PercentualReducaoSt; PercentualIcmsSt = tributavel.PercentualIcmsSt; var facade = new FacadeCalculadoraTributacao(tributavel); tributavel.ValorIpi = facade.CalculaIpi().Valor; var resultadoCalculoIcmsSt = facade.CalculaIcmsSt(); ValorBcIcmsSt = resultadoCalculoIcmsSt.BaseCalculoIcmsSt; ValorIcmsSt = resultadoCalculoIcmsSt.ValorIcmsSt; }
private void btnCalcularImposto_Click(object sender, EventArgs e) { Conta contaSelecionada = (Conta)cBoxEscolheConta.SelectedItem; if (contaSelecionada is ITributavel) { ITributavel t = (ITributavel)contaSelecionada; textoImposto.Text = Convert.ToString(t.CalcularTributos()); } else { textoImposto.Clear(); MessageBox.Show("Essa conta nao e tributavel"); } }
private void buttonImpostos_Click(object sender, EventArgs e) { ContaCorrente conta = new ContaCorrente(); conta.Deposita(200.0); MessageBox.Show("Imposto da conta corrente = " + conta.CalcularTributos()); ITributavel t = conta; MessageBox.Show("Imposto da conta pela interface = " + t.CalcularTributos()); SeguroDeVida sv = new SeguroDeVida(); MessageBox.Show("imposto seguro de vida = " + sv.CalcularTributos()); t = sv; MessageBox.Show("imposto do seguro pela interface = " + t.CalcularTributos()); }
} // fim botaoNovaConta_Click /// <summary> /// Método executado quando o botão impostos é clicado. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void botaoImpostos_Click(object sender, EventArgs e) { var c1 = new ContaCorrente(); c1.Deposita(100); MessageBox.Show("Imposto da conta corrente = " + c1.CalculaTributos()); ITributavel t = c1; MessageBox.Show("Imposto da conta pela interface = " + t.CalculaTributos()); SeguroDeVida sv = new SeguroDeVida(); MessageBox.Show("Imposto do seguro de vida = " + sv.CalculaTributos()); t = sv; MessageBox.Show("Imposto do segudo de vida pela interface = " + t.CalculaTributos()); TotalizadorDeTributos tdc = new TotalizadorDeTributos(); tdc.Adiciona(c1); MessageBox.Show("Total: " + tdc.Total); tdc.Adiciona(t); MessageBox.Show("Total: " + tdc.Total); } // fim botaoImpostos_Click
public override void Calcula(ITributavel tributavel) { FacadeCalculadoraTributacao facadeCalculadoraTributacao = new FacadeCalculadoraTributacao(tributavel, TipoDesconto); IResultadoCalculoIcms resultadoCalculoIcms = facadeCalculadoraTributacao.CalculaIcms(); PercentualReducao = tributavel.PercentualReducao; ValorBcIcms = resultadoCalculoIcms.BaseCalculo; PercentualIcms = tributavel.PercentualIcms; ValorIcmsOperacao = (ValorBcIcms * PercentualIcms) / 100; PercentualDiferimento = tributavel.PercentualDiferimento; ValorIcmsDiferido = (PercentualDiferimento * ValorIcmsOperacao) / 100; ValorIcms = ValorIcmsOperacao - ValorIcmsDiferido; IResultadoCalculoFcp resultadoCalculoFcp = facadeCalculadoraTributacao.CalculaFcp(); PercentualFcp = tributavel.PercentualFcp; ValorBcFcp = resultadoCalculoFcp.BaseCalculo; ValorFcp = resultadoCalculoFcp.Valor; }
public override void Calcula(ITributavel tributavel) { PercentualMva = tributavel.PercentualMva; PercentualReducaoSt = tributavel.PercentualReducaoSt; PercentualIcmsSt = tributavel.PercentualIcmsSt; PercentualFcpSt = tributavel.PercentualFcpSt; FacadeCalculadoraTributacao facadeCalculadoraTributacao = new FacadeCalculadoraTributacao(tributavel, TipoDesconto); tributavel.ValorIpi = facadeCalculadoraTributacao.CalculaIpi().Valor; IResultadoCalculoIcmsSt resultadoCalculoIcmsSt = facadeCalculadoraTributacao.CalculaIcmsSt(); ValorBcIcmsSt = resultadoCalculoIcmsSt.BaseCalculoIcmsSt; ValorIcmsSt = resultadoCalculoIcmsSt.ValorIcmsSt; IResultadoCalculoFcpSt resultadoCalculoFcpSt = facadeCalculadoraTributacao.CalculaFcpSt(); ValorBcFcpSt = resultadoCalculoFcpSt.BaseCalculoFcpSt; ValorFcpSt = resultadoCalculoFcpSt.ValorFcpSt; }
} // fim botaoNovaConta_Click /// <summary> /// Método executado quando o botão impostos é clicado. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void botaoImpostos_Click(object sender, EventArgs e) { // Instancia e deposita um valor na conta ContaCorrente c1 = new ContaCorrente(); c1.Deposita(100); // Exibe o calculo dos tributos da conta MessageBox.Show("Imposto da conta corrente = " + c1.CalculaTributos()); // Mostrando que o polimorfismo também funciona com interfaces ITributavel t = c1; // Exibindo o mesmo resultado do imposto que fizemos pela classe. Em ambos os casos, é o mesmo método executado. MessageBox.Show("Imposto da conta pela interface = " + t.CalculaTributos()); // Criando um seguro de vida SeguroDeVida sv = new SeguroDeVida(); // Exibindo o imposto do seguro de vida MessageBox.Show("Imposto do seguro de vida = " + sv.CalculaTributos()); // Polimorfismo de novo... t = sv; // Exibindo o mesmo resultado novamente. MessageBox.Show("Imposto do segudo de vida pela interface = " + t.CalculaTributos()); // Criando uma instância do totalizador para praticar o polimorfismo TotalizadorDeTributos tdc = new TotalizadorDeTributos(); // Adicionando a conta ao cálculo de tributos no totalizador tdc.Adiciona(c1); MessageBox.Show("Total: " + tdc.Total); // Adicionando a conta ao cálculo de tributos no totalizador tdc.Adiciona(t); MessageBox.Show("Total: " + tdc.Total); } // fim botaoImpostos_Click
public TributacaoCofins(ITributavel tributavel, TipoDesconto tipoDesconto) { _tributavel = tributavel ?? throw new ArgumentNullException(nameof(tributavel)); _calculaBaseCalculoCofins = new CalculaBaseCalculoCofins(_tributavel, tipoDesconto); }
public CalculaBaseCalculoIpi(ITributavel tributavel, TipoDesconto tipoDesconto) : base(tributavel) { _tributavel = tributavel; _tipoDesconto = tipoDesconto; }
public void Acumula(ITributavel t) { Total += t.CalculaTributo(); }
public TributacaoIcmsSt(ITributavel tributavel, TipoDesconto tipoDesconto) { _tributavel = tributavel ?? throw new ArgumentNullException(nameof(tributavel)); _calculaBaseCalculoIcmsSemIpi = new CalculoBaseIcmsSemIpi(_tributavel, tipoDesconto); _baseIcmsSt = new CalculoBaseIcmsSt(_tributavel, tipoDesconto); }
public TributacaoIbpt(ITributavel tributavel, IIbpt ibpt) { _tributavel = tributavel; _ibpt = ibpt; }
/// <summary> /// Adiciona o valor de tributo de uma referência tributável ao valor total. /// </summary> /// <param name="t">Referencia para um objeto tributável</param> public void Adiciona(ITributavel t) { this.Total += t.CalculaTributos(); } // fim Adiciona
public ResultadoTributacao(ITributavel produtoTributavel, Crt crtEmpresa, TipoContribuinte tipoContribuinte) { _produtoTributavel = produtoTributavel; CrtEmpresa = crtEmpresa; TipoContribuinte = tipoContribuinte; }
public void Acumula(ITributavel ct) //Vai passar aqui a conta que é tributavel { this.Total += ct.CalculaTributo(); }
public void Adiciona(ITributavel tributavel) { this.Total += tributavel.CalculaTributos(); }
public void Adiciona(ITributavel tributavel) { this.Total += tributavel.CalculaTributo(); }
public void Adiciona(ITributavel tributavel) { Total += tributavel.CalculaTributo(); }