protected void grdItemProjetos_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName.Equals("Add"))
            {
                int index = Convert.ToInt32(e.CommandArgument);
                GridViewRow linha = grdItemProjetos.Rows[index];
                Label lblId = (Label)linha.FindControl("lblId");

                var itemProj = new FuncaoDoProjetoControl().Buscar(Convert.ToInt16(lblId.Text));

                frmCalculoPontosFuncao.Visible = true;
                lblNomeItemProjeto.Text = itemProj.Nome;
                hdfIdItemProjeto.Value = itemProj.Id.ToString();
                lblnomeProjeto.Text = itemProj.Projeto.Nome;

                grdItemProjetos.DataSource = null;
                grdItemProjetos.DataBind();

                popularGridView(new TipoDePontoDeFuncaoControl().BuscarTodos());
                popularGridView(new NivelDeComplexidadeControl().BuscarTodos());
                popularGridView(new CaracteristicasGeraisControl().BuscarTodos());
                popularGridView(new NivelDeInfluenciaControl().BuscarTodos());

            }
        }
        protected void btnCalcularPontosDeFuncao_Click(object sender, EventArgs e)
        {
            var idsPF = BuscaIdsPF();
            var idsNC = BuscaIdsNC();
            var idsCG = BuscaIdsCG();
            var idsNI = BuscaIdsNI();

            if (Validar(idsPF.ToArray(), idsNC.ToArray(), idsCG.ToArray(), idsNI.ToArray()))
            {
                var aPF = new AtribuicaoDePesoPFControl().BuscarPorPFeNC(idsPF.ToArray(), idsNC.ToArray());
                var aCG = new AtribuicaoDePesoNIControl().BuscarPorCGeNI(idsCG.ToArray(), idsNI.ToArray());

                var itemProjeto = new FuncaoDoProjetoControl().Buscar(Convert.ToInt16(hdfIdItemProjeto.Value));

                int PFB = 0;
                int TNI = 0;
                double FA = 0;
                //calcular pontos de função brutos
                foreach (var p in aPF)
                {
                    PFB = p.Avaliacao + PFB;
                }
                //soma dos NI
                foreach (var n in aCG)
                {
                    TNI = n.Avaliacao + TNI;
                }
                //calcular fator de ajuste
                FA = 0.65 + (0.01 * TNI);
                //CALCULAR PONTOS DE FUNÇÃO AJUSTADP
                //PFA = PFB * FA
                itemProjeto.PfAjustado = PFB * FA;
                itemProjeto.NivelDeInfluenciaTotal = TNI;
                itemProjeto.PfBruto = PFB;
                itemProjeto.FatorDeAjuste = FA;

                DateTime dataCalculo = DateTime.Now;
                try
                {
                    //AMARRAR O ITEM DE PROJETO COM ASSOCIACAOPF
                    foreach (var p in aPF)
                    {
                        var associacaoPf = new AssociacaoPF();
                        associacaoPf.FuncaoDoProjeto = itemProjeto;
                        associacaoPf.AtribuicaoDePesoPF = p;
                        associacaoPf.DataAvaliacao = dataCalculo;
                        new AssociacaoPFControl().Salvar(associacaoPf);
                    }
                    foreach (var c in aCG)
                    {
                        var associacaoNI = new AssociacaoNI();
                        associacaoNI.FuncaoDoProjeto = itemProjeto;
                        associacaoNI.AtribuicaoDePesoNI = c;
                        associacaoNI.DataAvaliacao = dataCalculo;
                        new AssociacaoNIControl().Salvar(associacaoNI);
                    }

                    new FuncaoDoProjetoControl().Salvar(itemProjeto);

                    lblPontosDeFuncaoAjustados.Text = itemProjeto.PfAjustado.ToString();
                }
                catch (Exception ex) { }
                //AMARRAR O ITEM DE PROJETO COM ASSOCIACAONI

                //ATUALIZAR O ITEM DE PROJETO COM OS CÁLCULOS

            }
        }
        protected void grdItemProjetos_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName.Equals("Editar"))
            {
                int index = Convert.ToInt32(e.CommandArgument);
                GridViewRow linha = grdItemProjetos.Rows[index];
                Label lblId = (Label)linha.FindControl("lblId");

                var itemProj = new FuncaoDoProjetoControl().Buscar(Convert.ToInt16(lblId.Text));

                lblNomeProjeto.Text = itemProj.Projeto.Nome;
                hdfIdProjeto.Value = itemProj.Projeto.Id.ToString();
                txtNomeItemProjeto.Value = itemProj.Nome;
                txtDescricaoItemProjeto.Value = itemProj.Descricao;
                hdfIdItemProjeto.Value = itemProj.Id.ToString();
                MenuCadastro();
                btnCadastrarProjeto.Text = "Salvar";
                lblAcaoItemProjeto.Text = "Editar";
                frmInformacoesItemProjeto.Visible = true;
            }
        }