Exemplo n.º 1
0
 /// <summary>
 /// Aplica os impostos do resultado do calculo.
 /// </summary>
 /// <param name="sessao"></param>
 /// <param name="resultado"></param>
 private void AplicarImpostos(GDA.GDASession sessao, ICalculoImpostoResultado resultado)
 {
     foreach (var item in resultado.Itens)
     {
         AplicarImpostos(sessao, item);
     }
 }
Exemplo n.º 2
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;
 }
Exemplo n.º 3
0
            /// <summary>
            /// Aplica os impostos do resultado do calculo.
            /// </summary>
            /// <param name="sessao"></param>
            /// <param name="resultado"></param>
            private void AplicarImpostos(GDA.GDASession sessao, ICalculoImpostoResultado resultado)
            {
                var orcamentoImpostoContainer = resultado.Container as OrcamentoImpostoContainer;

                if (orcamentoImpostoContainer == null)
                {
                    return;
                }

                var orcamento = orcamentoImpostoContainer.Orcamento;

                foreach (var item in resultado.Itens)
                {
                    AplicarImpostos(sessao, item);
                }

                var atualizarTotalOrcamento = false;

                if (Loja.CalcularIpiPedido && Cliente.CobrarIpi)
                {
                    orcamento.ValorIpi    = resultado.Itens.Sum(f => f.ValorIpi);
                    orcamento.AliquotaIpi = resultado.Itens.Any(f => f.AliqIpi > 0) ?
                                            resultado.Itens.Sum(f => f.AliqIpi) / resultado.Itens.Count(f => f.AliqIpi > 0f) : 0f;

                    orcamento.Total        += orcamento.ValorIpi;
                    atualizarTotalOrcamento = true;
                }
                else
                {
                    orcamento.ValorIpi    = 0;
                    orcamento.AliquotaIpi = 0;
                }

                if (Loja.CalcularIcmsPedido && Cliente.CobrarIcmsSt)
                {
                    orcamento.ValorIcms    = resultado.Itens.Sum(f => f.ValorIcmsSt);
                    orcamento.AliquotaIcms = resultado.Itens.Any(f => f.AliqIcmsSt > 0) ?
                                             resultado.Itens.Sum(f => f.AliqIcmsSt) / resultado.Itens.Count(f => f.AliqIcmsSt > 0f) : 0f;

                    orcamento.Total        += orcamento.ValorIcms;
                    atualizarTotalOrcamento = true;
                }
                else
                {
                    orcamento.ValorIcms    = 0;
                    orcamento.AliquotaIcms = 0;
                }

                Data.DAL.OrcamentoDAO.Instance.AtualizarImpostos(sessao, orcamento, atualizarTotalOrcamento);
            }
Exemplo n.º 4
0
 /// <summary>
 /// Construtor padrão.
 /// </summary>
 /// <param name="container"></param>
 /// <param name="resultadoInterno"></param>
 public Resultado(IItemImpostoContainer container, ICalculoImpostoResultado resultadoInterno)
 {
     Container        = container;
     ResultadoInterno = resultadoInterno;
 }