Example #1
0
        private bool ObterExigirProcessoEAplicacao(Produto produto, TipoCalculoGrupoProd tipoCalculo)
        {
            var chapaDeVidro = produto.IdSubgrupoProd.HasValue
                ? SubgrupoProdDAO.Instance.ObtemTipoSubgrupo(produto.IdProd) == TipoSubgrupoProd.ChapasVidro
                : false;

            if (chapaDeVidro)
            {
                return(false);
            }

            var roteiroProducao = PCPConfig.ControlarProducao &&
                                  Data.Helper.Utils.GetSetores.Any(x => x.SetorPertenceARoteiro) &&
                                  produto.IdGrupoProd == (int)NomeGrupoProd.Vidro;

            var tiposCalculoObrigarProcessoEAplicacao = new[]
            {
                TipoCalculoGrupoProd.M2,
                TipoCalculoGrupoProd.M2Direto,
            };

            var obrigarDadosEtiquetaVidrosBeneficiaveis = this.ExibirBeneficiamentos &&
                                                          PedidoConfig.DadosPedido.ObrigarProcAplVidros;

            return(tiposCalculoObrigarProcessoEAplicacao.Contains(tipoCalculo) &&
                   (roteiroProducao ||
                    obrigarDadosEtiquetaVidrosBeneficiaveis));
        }
Example #2
0
        private AlturaDto ObterAltura(Produto produto, TipoCalculoGrupoProd tipoCalculo)
        {
            var tiposCalculoAlturaDecimal = new[]
            {
                new { TipoCalculo = TipoCalculoGrupoProd.ML, Arredondamento = (decimal?)null },
                new { TipoCalculo = TipoCalculoGrupoProd.MLAL0, Arredondamento = (decimal?)null },
                new { TipoCalculo = TipoCalculoGrupoProd.MLAL05, Arredondamento = (decimal?)0.5 },
                new { TipoCalculo = TipoCalculoGrupoProd.MLAL1, Arredondamento = (decimal?)1 },
                new { TipoCalculo = TipoCalculoGrupoProd.MLAL6, Arredondamento = (decimal?)6 },
            };

            var tiposCalculoAlturaNaoEditavel = new[]
            {
                TipoCalculoGrupoProd.Qtd,
                TipoCalculoGrupoProd.QtdDecimal,
                TipoCalculoGrupoProd.QtdM2,
            };

            var tipoCalculoDecimal = tiposCalculoAlturaDecimal.FirstOrDefault(t => t.TipoCalculo == tipoCalculo);

            return(new AlturaDto
            {
                PermiteDecimal = tipoCalculoDecimal != null,
                PodeEditar = !tiposCalculoAlturaNaoEditavel.Contains(tipoCalculo),
                Valor = produto.Altura,
                FatorArredondamento = tipoCalculoDecimal?.Arredondamento,
            });
        }
Example #3
0
        private QuantidadeDto ObterQuantidade(TipoCalculoGrupoProd tipoCalculo)
        {
            var tiposCalculoQuantidadeDecimal = new[]
            {
                TipoCalculoGrupoProd.QtdDecimal,
            };

            return(new QuantidadeDto
            {
                PermiteDecimal = tiposCalculoQuantidadeDecimal.Contains(tipoCalculo),
            });
        }
Example #4
0
        private void VerificarUnidadeEstoqueEM2(TipoCalculoGrupoProd tipoCalculo, EstoqueDto estoque)
        {
            var tiposCalculoM2 = new[]
            {
                TipoCalculoGrupoProd.M2,
                TipoCalculoGrupoProd.M2Direto,
            };

            if (!tiposCalculoM2.Contains(tipoCalculo))
            {
                return;
            }

            estoque.Unidade = "m²";
        }
Example #5
0
        private void CalcularQuantidadeBarrasAluminio(TipoCalculoGrupoProd tipoCalculo, EstoqueDto estoque)
        {
            var tiposCalculoBarrasAluminio = new[]
            {
                TipoCalculoGrupoProd.MLAL0,
                TipoCalculoGrupoProd.MLAL05,
                TipoCalculoGrupoProd.MLAL1,
                TipoCalculoGrupoProd.MLAL6,
            };

            if (!tiposCalculoBarrasAluminio.Contains(tipoCalculo))
            {
                return;
            }

            estoque.Unidade = "ml";
            estoque.NumeroBarrasAluminio = (int)Math.Ceiling(estoque.QuantidadeAtual / 6);
        }
Example #6
0
        private bool ObterExibirBeneficiamentos(Produto produto, TipoCalculoGrupoProd tipoCalculo)
        {
            if (Geral.UsarBeneficiamentosTodosOsGrupos)
            {
                return(true);
            }
            else if (produto.IdGrupoProd != (int)NomeGrupoProd.Vidro)
            {
                return(false);
            }

            var tiposCalculoBeneficiamento = new[]
            {
                TipoCalculoGrupoProd.M2,
                TipoCalculoGrupoProd.M2Direto,
            };

            return(tiposCalculoBeneficiamento.Contains(tipoCalculo));
        }