コード例 #1
0
ファイル: NuevoExperto.cs プロジェクト: mrno/AHP
 private void button1_Click(object sender, EventArgs e)
 {
     if (txt4.Text == txt5.Text)
     {
         dato = new DALDatos();
         dato.altaExperto(txt1.Text, txt2.Text, txt3.Text, txt4.Text);
         dato.asignarProyecto(id_proy, dato.ultimoExperto());
         this.Close();
     }
     else
     {
         MessageBox.Show("Las claves no coinciden. Por favor, vuelva a ingresarlas");
         return;
     }
 }
コード例 #2
0
ファイル: CargarProyecto.cs プロジェクト: mrno/AHP
        private void button5_Click(object sender, EventArgs e)
        {
            if ((listaAlternativas.Count > 2) && (listaCriteiro.Count > 2))
            {
                dato = new DALDatos();

                foreach (criterio cri in listaCriteiro)
                {
                    dato.altaCriterio(id_proyecto, cri.nombre, cri.descripcion);
                }

                foreach (alternativa alt in listaAlternativas)
                {
                    dato.altaAlternativa(id_proyecto, alt.nombre, alt.descripcion);
                }

                List<experto> listaExp = dato.expertosPorProyecto(id_proyecto);
                List<criterio> listaCri = dato.criteriosPorProyecto(id_proyecto);
                List<alternativa> listaAlt = dato.alternativasPorProyecto(id_proyecto);

                foreach(experto exp in listaExp)
                {
                    dato.altaMatrizCriterio(id_proyecto, exp.id_experto);

                    foreach (criterio cri in listaCri)
                    {
                        dato.altaMatrizAlternativa(id_proyecto, exp.id_experto, cri.id_criterio);
                    }
                }

                Queue<criterio> colaCri;
                Queue<alternativa> colaAlt;

                foreach (experto exp in listaExp)
                {
                    int fila = 0;
                    int columna;

                    colaCri = dato.colaCriterios(id_proyecto);
                    foreach (criterio c in listaCri)
                    {
                        columna = fila;
                        colaCri.Dequeue();
                        foreach (criterio c2 in colaCri)
                        {
                            columna++;
                            dato.guardarComparacionCriterios(id_proyecto, exp.id_experto, c.id_criterio, c2.id_criterio, fila, columna, 0);
                        }
                        fila++;
                    }
                }

                foreach (experto exp in listaExp)
                {
                    foreach (criterio cri in listaCri)
                    {
                        int fila = 0;
                        int columna;
                        colaAlt = dato.colaAlternativas(id_proyecto);

                        foreach (alternativa a in listaAlt)
                        {
                            columna = fila;
                            colaAlt.Dequeue();
                            foreach (alternativa a2 in colaAlt)
                            {
                                columna++;
                                dato.guardarComparacionAlternativas(id_proyecto, exp.id_experto, cri.id_criterio, a.id_alternativa, a2.id_alternativa, fila, columna, 0);
                            }
                            fila++;
                        }
                    }
                }

                MessageBox.Show("Las alternativas y criterios se han creado correctamente. Las asignaciones se realizaron satisfactoriamente.");
                this.Close();
            }
            else
                MessageBox.Show("La cantidad mínima para cada conjunto de alternativas o criterios es de 3.");
        }
コード例 #3
0
ファイル: ComparacionAlternativas.cs プロジェクト: mrno/AHP
        private void mostrar(object sender, EventArgs e)
        {
            label9.Text = "";
            button3.Visible = false;
            button1.Visible = true;
            TrackBar track = (TrackBar)sender;

            foreach (Control miLabel in this.FindForm().Controls)
            {
                if (miLabel is Label)
                {
                    if (miLabel.Name.ToString() == track.Name.ToString())
                    {
                        string[] posicion = track.Name.ToString().Split('x');
                        Label l = (Label)miLabel;
                        l.Text = dato.valorarPalabra(track.Value);
                        dato = new DALDatos();
                        dato.modificarComparacionAlternativa(id_proyecto, id_experto, Convert.ToInt32(posicion[0].ToString()), Convert.ToInt32(posicion[1].ToString()), Convert.ToInt32(posicion[2].ToString()), dato.valorarNumero(track.Value));
                        dato.actualizarConsistenciaProyecto(id_proyecto, id_experto, false);
                        dato.actualizarMatrizAlternativa(id_proyecto, id_experto, id_criterio, false);
                    }
                }
            }
        }
コード例 #4
0
ファイル: ComparacionAlternativas.cs プロジェクト: mrno/AHP
        private void cargarTracks(int id_cri)
        {
            dato = new DALDatos();
            y = 140;

            List<comparacion_alternativa> listaComparacion = dato.compAlternativaPorExpertoCriterio(id_proyecto, id_experto, id_cri);

            foreach (comparacion_alternativa comp in listaComparacion)
            {

                Label izquierdaTB = new Label();
                izquierdaTB.SetBounds(5, y, 75, 50);
                izquierdaTB.Text = dato.alternativaNombre(comp.id_alternativa1);
                Controls.Add(izquierdaTB);

                TrackBar track = new TrackBar();
                track.SetBounds(75, y, 400, 45);
                track.Name = comp.id_criterio.ToString() + 'x' + comp.pos_fila.ToString() + 'x' + comp.pos_columna.ToString();
                track.SetRange(1, 17);
                track.Value = dato.obtenerEnteroCompAlternativa(comp.id_proyecto, comp.id_experto, comp.id_criterio, comp.pos_fila, comp.pos_columna);
                track.Scroll += new System.EventHandler(this.mostrar);
                Controls.Add(track);

                Label miLabel = new Label();
                miLabel.SetBounds(150, y + 45, 250, 30);
                miLabel.Name = comp.id_criterio.ToString() + 'x' + comp.pos_fila.ToString() + 'x' + comp.pos_columna.ToString();
                double doble = dato.obtenerValorCompAlternativa(comp.id_proyecto, comp.id_experto, comp.id_criterio, comp.pos_fila, comp.pos_columna);
                miLabel.Text = dato.obtenerDescripcion(doble);
                Controls.Add(miLabel);

                Label derechaTB = new Label();
                derechaTB.SetBounds(500, y, 80, 30);
                derechaTB.Text = dato.alternativaNombre(comp.id_alternativa2);
                Controls.Add(derechaTB);

                button3.Enabled = false;

                y += 90;
            }
        }
コード例 #5
0
ファイル: CompararCriterios.cs プロジェクト: mrno/AHP
        private void CompararCriterios_Load(object sender, EventArgs e)
        {
            dato = new DALDatos();
            int y = 140;

            List<comparacion_criterio> listaComparacion = dato.comparacionCriterioPorExperto(id_proyecto, id_experto);

            List<criterio> lista = dato.criteriosPorProyecto(id_proyecto);

            foreach (comparacion_criterio comp in listaComparacion)
            {
                Label izquierdaTB = new Label();
                izquierdaTB.SetBounds(5, y, 75, 50);
                izquierdaTB.Text = dato.criterioNombre(comp.id_criterio1);
                Controls.Add(izquierdaTB);

                TrackBar track = new TrackBar();
                track.SetBounds(75, y, 400, 45);
                track.Name = comp.pos_fila.ToString() + 'x' + comp.pos_columna.ToString();
                track.SetRange(1, 17);
                track.Value = dato.obtenerEnteroCompCriterio(comp.id_proyecto,
                    comp.id_experto, comp.pos_fila, comp.pos_columna);
                track.Scroll += new System.EventHandler(this.mostrar);
                Controls.Add(track);

                Label derechaTB = new Label();
                derechaTB.SetBounds(500, y, 80, 30);
                derechaTB.Text = dato.criterioNombre(comp.id_criterio2);
                Controls.Add(derechaTB);

                Label miLabel = new Label();
                miLabel.SetBounds(150, y + 45, 250, 30);
                double doble = dato.obtenerValorCompCriterio(comp.id_proyecto, comp.id_experto, comp.pos_fila,
                                                              comp.pos_columna);
                miLabel.Text = dato.obtenerDescripcion(doble);
                miLabel.Name = comp.pos_fila.ToString() + 'x' + comp.pos_columna.ToString();

                Controls.Add(miLabel);

                y += 90;
            }

            //
            // button1
            //
            this.button1.Location = new System.Drawing.Point(20, y);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(150, 40);
            this.button1.TabIndex = 6;
            this.button1.Text = "Calcular consistencia";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);
            //
            // label9
            //
            this.label9.AutoSize = true;
            this.label9.Location = new System.Drawing.Point(20, y + 45);
            this.label9.Name = "label9";
            this.label9.BackColor = Color.Red;
            this.label9.Size = new System.Drawing.Size(40, 30);
            this.label9.TabIndex = 7;
            this.label9.Text = "";

            //
            // button2
            //
            this.button2.Location = new System.Drawing.Point(200, y);
            this.button2.Name = "button2";
            this.button2.Size = new System.Drawing.Size(150, 40);
            this.button2.TabIndex = 8;
            this.button2.Text = "button2";
            this.button3.Visible = false;
            this.button2.UseVisualStyleBackColor = true;
            this.button2.Click += new System.EventHandler(this.button2_Click);
        }
コード例 #6
0
ファイル: NuevoCriterio.cs プロジェクト: mrno/AHP
 private void button1_Click(object sender, EventArgs e)
 {
     dato = new DALDatos();
     dato.altaCriterio(id_proyecto, txt1.Text, txt2.Text);
     this.Close();
 }