Пример #1
0
        public ImpostoAproximadoResult CalculoImpostoAproximado(Model.Faturamento.Lancamento.Movimento.Item.IItem item)
        {
            ImpostoAproximadoResult result = new ImpostoAproximadoResult();

            IAcabado prod = item.ItemMovimentado as IAcabado;
            INCM ncm = prod.NCM;

            // Se origem Importado
            if (prod.Importado)
            {
                // Importado - Calcular imposto aproximado importacao
                result.ValorImpostoImportacao = item.ValorTotalLiquido * (ncm.ImpostoAproxImport / 100);
                result.PercentualImpostoImportacao = ncm.ImpostoAproxImport;
            }
            else
            {
                // Nacional - Calcular imposto aproximado
                result.ValorImpostoFederal = item.ValorTotalLiquido * (ncm.ImpostoAproximado / 100);
                result.PercentualImpostoFederal = ncm.ImpostoAproximado;
            }

            // Se tem imposto estadual
            if (ncm.ImpostoAproxEstadual != 0d)
            {
                result.ValorImpostoEstadual = item.ValorTotalLiquido * (ncm.ImpostoAproxEstadual / 100);
                result.PercentualImpostoEstadual = ncm.ImpostoAproxEstadual;
            }

            // Se tem imposto municipal
            if ((ncm.ImpostoAproxMunicip != 0d))
            {
                result.ValorImpostoMunicipal = item.ValorTotalLiquido * (ncm.ImpostoAproxMunicip / 100);
                result.PercentualImpostoMunicipal = ncm.ImpostoAproxMunicip;
            }

            return result;
        }
Пример #2
0
        /// <summary>
        /// Calcula os valores dos impostos aproximados
        /// </summary>
        /// <returns></returns>
        public void CalculaImpostosAproximados(IItem item)
        {
            //Se o item movimentado for nulo ou vazio e for serviço, não calcula o imposto aproximado
            if(item.ItemMovimentado.IsNullOrEmpty() || item.ItemMovimentado.TipoItem == Enuns.Cadastro.Item.TipoItem.Servico) return;

            ImpostoAproximadoResult resultImposto = new ImpostoAproximadoResult().CalculoImpostoAproximado(item);

            //Imposto aproximado estadual
            item.PercentualImpostoAproximadoEstadual = resultImposto.PercentualImpostoEstadual;
            item.ValorImpostoAproximadoEstadual = resultImposto.ValorImpostoEstadual;

            //Imposto aproximado federal
            item.ValorImpostoAproximadoFederal = resultImposto.ValorImpostoFederal;
            item.PercentualImpostoAproximadoFederal = resultImposto.PercentualImpostoFederal;

            //Imposto aproximado importacao
            item.ValorImpostoAproximadoImportado = resultImposto.ValorImpostoImportacao;
            item.PercentualImpostoAproximadoImport = resultImposto.PercentualImpostoImportacao;

            //Imposto aproximado Municicipal
            item.ValorImpostoAproximadoMunicipio = resultImposto.ValorImpostoMunicipal;
            item.PercentualImpostoAproximadoMunicipal = resultImposto.PercentualImpostoMunicipal;
        }