Exemplo n.º 1
0
        private void B_GenerarReporte_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int TipoModelo = (int)CB_TipoModelo.SelectedValue;
                ListRest.Clear();
                for (int i = 0; i < totalRestricciones; ++i)
                {
                    ListRest.Add(new Core.Restriction());
                    ListRest[i].Nombre = (string)RestriccionesDT.Rows[i][0];
                    ListRest[i].LadoB  = (double)RestriccionesDT.Rows[i][totalVariables + 2];
                    // Verificando que no falte un signo
                    if ((string)RestriccionesDT.Rows[i][totalVariables + 1] == "")
                    {
                        MessageBox.Show("Falta indicar un signo en una restricción.", "Error", MessageBoxButton.OK);
                        return;
                    }
                    ListRest[i].Signo = Core.Signos.SignosDictionary[(string)RestriccionesDT.Rows[i][totalVariables + 1]];
                    for (int j = 1; j <= totalVariables; ++j)
                    {
                        ListRest[i].Coeficientes.Add((double)RestriccionesDT.Rows[i][j]);
                    }
                }

                // Verificamos que no falten datos fundamentales
                // Funcion objetivo
                // Nombres
                foreach (var val in ListFO)
                {
                    if (val.Nombre == "")
                    {
                        MessageBox.Show("Falta nombrar una variable.", "Error", MessageBoxButton.OK);
                        return;
                    }
                }

                // Restricciones
                // Verificando que no falte un nombre
                foreach (var val in ListRest)
                {
                    if (val.Nombre == "")
                    {
                        MessageBox.Show("Falta nombrar una restricción.", "Error", MessageBoxButton.OK);
                        return;
                    }
                }

                Frames.Simplex.Reporte Reporte = new Reporte(ListFO.ToList(), ListRest, TipoModelo);
                Reporte.Show();
            }
            catch (Exception ex)
            {
                if (MessageBox.Show("No se ha podido generar el reporte. \n ¿Ver excepción?", "Error", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    MessageBox.Show(ex.Message, "Exception");
                }
            }
        }
Exemplo n.º 2
0
 private void ReiniciarVariables()
 {
     ListFO.Clear();
     for (int i = 0; i < totalVariables; ++i)
     {
         ListFO.Add(new Core.MiembroFuncionObjetivo());
         ListFO[i].Nombre = "";
     }
 }