Ejemplo n.º 1
0
        protected void lkbCalcularAderencia_Click(object sender, EventArgs e)
        {
            if (trvAderencia.SelectedNode.Text.EndsWith("(C)"))
            {
                double soma      = 0;
                double filhos    = 0;
                double conta     = 0;
                double resultado = 0;

                for (int i = 0; i < trvAderencia.SelectedNode.ChildNodes.Count; i++)
                {
                    dadosProduto.Segmento = new Segmento()
                    {
                        IDSegmento = Convert.ToInt32(TextBox1.Text)
                    };
                    dadosProduto.VersaoProdutoFator = new VersaoProdutoFator()
                    {
                        IdVersaoProdutoFator = Convert.ToInt32(ddlVersao.SelectedValue)
                    };

                    if (trvAderencia.SelectedNode.ChildNodes[i].Text.EndsWith("(P)"))
                    {
                        dadosProduto.IdProduto = Convert.ToInt32(trvAderencia.SelectedNode.ChildNodes[i].Value);
                        dadosProduto           = oProduto.ListarCriterioAderencia(dadosProduto);
                        soma += dadosProduto.valor;
                        filhos++;
                    }
                }

                conta     = soma / filhos;
                resultado = Math.Round(conta, 0);

                dadosCriterio.LinhaNegocio = new VO.LinhaNegocio();
                dadosCriterio.Valor        = Convert.ToInt32(resultado);
                dadosCriterio = oCriterio.ListarAderenciaValor(dadosCriterio);

                dadosProdutoNivel.Produto = new Produto()
                {
                    IdProduto = Convert.ToInt32(trvAderencia.SelectedValue)
                };
                dadosProdutoNivel.CriterioAderencia = new CriterioAderencia()
                {
                    IDCriterioAderencia = dadosCriterio.IDIdCriterioAderencia
                };
                dadosProdutoNivel.Segmento = new Segmento()
                {
                    IDSegmento = Convert.ToInt32(TextBox1.Text)
                };
                dadosProdutoNivel.IDCriterioAderenciaCalculado = Convert.ToInt32(resultado);
                dadosProdutoNivel.VersaoProdutoFator           = new VersaoProdutoFator()
                {
                    IdVersaoProdutoFator = Convert.ToInt32(ddlVersao.SelectedValue)
                };
                oProdutoNivel.RemoverCriterioAderenciaSegmento(dadosProdutoNivel);
                oProdutoNivel.NovoCriterioAderenciaSegmento(dadosProdutoNivel);
                txtAderenciaCalculada.Text = dadosCriterio.Nome;
            }
        }