Beispiel #1
0
 /// <summary>
 /// Construtor padrão.
 /// </summary>
 /// <param name="container"></param>
 /// <param name="resultadoInterno"></param>
 /// <param name="loja"></param>
 /// <param name="cliente"></param>
 public Resultado(
     IItemImpostoContainer container, ICalculoImpostoResultado resultadoInterno,
     Global.Negocios.Entidades.Loja loja, Global.Negocios.Entidades.Cliente cliente)
 {
     Container        = container;
     ResultadoInterno = resultadoInterno;
     Loja             = loja;
     Cliente          = cliente;
 }
Beispiel #2
0
        /// <summary>
        /// Realiza o calculo do impostao para o container de itens informado.
        /// </summary>
        /// <param name="container"></param>
        public ICalculoImpostoResultado Calcular(IItemImpostoContainer container)
        {
            _container = container;

            // Calcula o percentual de desconto, considerando todas as casas decimais (TotalProd na nota fiscal salva arredondado)
            // O totalProd foi alterado para recuperar da lista de produtos para ao inserir um produto ele ser considerado.
            var     totalProd    = container.Itens.Sum(f => f.Total);
            decimal percDesconto = (container.ValorDesconto / (totalProd > 0 ? totalProd : 1));

            var itens = container.Itens.Select(f => new ItemImpostoResultado(f, container.CalcularAliquotaIcmsSt)).ToList();

            _totalDescontoAplicado = 0m;

            foreach (var item in itens)
            {
                // Calcula os impostos do item
                Calcular(item, percDesconto);
            }

            return(new Resultado(container, itens));
        }
Beispiel #3
0
 /// <summary>
 /// Construtor padrão.
 /// </summary>
 /// <param name="container"></param>
 /// <param name="resultadoInterno"></param>
 public Resultado(IItemImpostoContainer container, ICalculoImpostoResultado resultadoInterno)
 {
     Container        = container;
     ResultadoInterno = resultadoInterno;
 }
Beispiel #4
0
 /// <summary>
 /// Construtor padrão.
 /// </summary>
 /// <param name="container"></param>
 /// <param name="itens"></param>
 public Resultado(IItemImpostoContainer container, IEnumerable <IItemCalculoImpostoResultado> itens)
 {
     Container = container;
     Itens     = itens;
 }