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"); } } }
private void ReiniciarVariables() { ListFO.Clear(); for (int i = 0; i < totalVariables; ++i) { ListFO.Add(new Core.MiembroFuncionObjetivo()); ListFO[i].Nombre = ""; } }