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)); }
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, }); }
private QuantidadeDto ObterQuantidade(TipoCalculoGrupoProd tipoCalculo) { var tiposCalculoQuantidadeDecimal = new[] { TipoCalculoGrupoProd.QtdDecimal, }; return(new QuantidadeDto { PermiteDecimal = tiposCalculoQuantidadeDecimal.Contains(tipoCalculo), }); }
private void VerificarUnidadeEstoqueEM2(TipoCalculoGrupoProd tipoCalculo, EstoqueDto estoque) { var tiposCalculoM2 = new[] { TipoCalculoGrupoProd.M2, TipoCalculoGrupoProd.M2Direto, }; if (!tiposCalculoM2.Contains(tipoCalculo)) { return; } estoque.Unidade = "m²"; }
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); }
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)); }