예제 #1
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.");
        }
예제 #2
0
        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);
        }