예제 #1
0
        private void button2_Click(object sender, EventArgs e)
        {
            proyecto proy = (proyecto)dataGridView1.CurrentRow.DataBoundItem;
            listaExperto = dato.expeProyConsistente(proy.id_proyecto);

            if (listaExperto.Count != 0)
            {
                foreach (experto exp in listaExperto)
                {

                    AgrAlternativas altAgregar = new AgrAlternativas(proy.id_proyecto, exp.id_experto);
                    listaAlternativasPonderar.Add(altAgregar);
                }

                matrizCriterioPonderar = new AgrCriterio(proy.id_proyecto);

                //Acá procedo a agregarle la primer matriz, la de criterios:

                listaCompleta.Add(calculadorNoPonderadas.AgregarCriterios(matrizCriterioPonderar));

                //Acá creo una lista con las alternativas ponderadas en la primer línea y luego la recorro y para cada elemento le asigno
                //su valor de atributo a la listaCompleta:

                listaNAlt = calculadorNoPonderadas.AgregarAlternativas(listaAlternativasPonderar);

                foreach (NAlternativas alt in listaNAlt)
                {
                    listaCompleta.Add(alt.nAlternativas);
                }

                //Luego de todo este despelote, listaCompleta está terminada para pasarse a la clase CalculoAHP.

                CalculoAHP calculo = new CalculoAHP();
                ranking = calculo.calcularRanking(listaCompleta);
                CalcularAhpAgregado frmAhpAgregado = new CalcularAhpAgregado(ranking, proy.id_proyecto);
                frmAhpAgregado.ShowDialog();
            }
            else
            {
                MessageBox.Show("Ningún experto ha valorado de manera consistente.");
            }
        }
예제 #2
0
        private void button3_Click(object sender, EventArgs e)
        {
            proy = (proyecto)dataGridView1.CurrentRow.DataBoundItem;
            id = proy.id_proyecto;
            listaExpertoProyecto = dato.expePorProyConsistente(proy.id_proyecto);
            PreparacionListaCriterioAlternativa preparacionLista = new PreparacionListaCriterioAlternativa();

            if (listaExpertoProyecto.Count != 0)
            {

                List<KRankPonderado> listaKRankPonderado = new List<KRankPonderado>();
                foreach (experto_proyecto exp in listaExpertoProyecto)
                {
                    List<double[,]> listaPreparada = preparacionLista.Preparar(proy.id_proyecto, exp.id_experto);
                    KRankPonderado kRankPonderado = new KRankPonderado();
                  calculo = new CalculoAHP();
            kRankPonderado.KRanking = calculo.calcularRanking(listaPreparada);
                    kRankPonderado.Peso = Convert.ToInt32(exp.ponderacion);
                    listaKRankPonderado.Add(kRankPonderado);
                }
                AgregacionPonderada agregacionPonderada = new AgregacionPonderada();

                var rdo = agregacionPonderada.agregar(listaKRankPonderado);

               CalcularAhpAgregado frmAhpAgregado = new CalcularAhpAgregado(rdo,proy.id_proyecto);
               frmAhpAgregado.ShowDialog();
            }
            else
            {
                MessageBox.Show("Ningún experto ha valorado de manera consistente.");
            }
        }
예제 #3
0
파일: FrmPrincipal.cs 프로젝트: mrno/AHP
        private void CalcularAgregacionPonderada()
        {
            proyecto proy = _proyectoSeleccionado;
               Int32 id = proy.id_proyecto;
               var listaExpertoProyecto = dato.expeProyConsistentePONDERADO(_proyectoSeleccionado.id_proyecto);
               PreparacionListaCriterioAlternativa preparacionLista = new PreparacionListaCriterioAlternativa();
               CalculoAHP calculo;

               if (listaExpertoProyecto.Count != 0)
               {

               List<KRankPonderado> listaKRankPonderado = new List<KRankPonderado>();
               foreach (experto_proyecto exp in listaExpertoProyecto)
               {
                   List<double[,]> listaPreparada = preparacionLista.Preparar(proy.id_proyecto, exp.id_experto);
                   KRankPonderado kRankPonderado = new KRankPonderado();
                   calculo = new CalculoAHP();
                   kRankPonderado.KRanking = calculo.calcularRanking(listaPreparada);
                   kRankPonderado.Peso = Convert.ToInt32(exp.ponderacion);
                   listaKRankPonderado.Add(kRankPonderado);
               }
               AgregacionPonderada agregacionPonderada = new AgregacionPonderada();

               var rdo = agregacionPonderada.agregar(listaKRankPonderado);

               CalcularAhpAgregado frmAhpAgregado = new CalcularAhpAgregado(rdo, proy.id_proyecto);
               frmAhpAgregado.ShowDialog();
               }
               else
               {
               MessageBox.Show("Ningún experto ha valorado de manera consistente.");
               }
        }