/// <summary> /// Crea un nuevo objeto <c>AG1</c> que busca soluciones para /// <paramref name="persona"/> dada la piscina de cursos /// <paramref name="cursos"/> /// </summary> /// <param name="persona">persona para la que se buscarán soluciones</param> /// <param name="cursos">lista de cursos disponibles para satisfacer /// la necesidad de información de <paramref name="persona"/></param> public AG1(Persona persona, HashSet<Curso> cursos) { this.persona = persona; this.cursos = cursos; this.numCursosNecesita = this.persona.cursosQueNecesita.Count; this.cursosTipo = new Dictionary<string, List<Curso>>(); this.soluciones = new List<int[]>(); this.initCursosTipo(); this.setMaxNumeroSoluciones(); }
public bool insertarPersona(Persona p) { int afectados = 0; try { for(int i=0; i<p.cursosQueNecesita.Count(); i++){ afectados = this.personaAdapter.insertarPersona(p.nombre,p.cursosQueNecesita.ElementAt(i).ToString() ); } } catch (Exception e) { return false; } return afectados == 1; }
public void pruebaTonta() { int idActual = 0; Curso cur = new Curso(idActual++, "paradigmas", 2, MARTES, 7); this.cursos.Add(cur); cur = new Curso(idActual++, "paradigmas", 2, MARTES, 9); this.cursos.Add(cur); cur = new Curso(idActual++, "bases", 1, LUNES, 11); this.cursos.Add(cur); cur = new Curso(idActual++, "bases", 2, LUNES, 13); this.cursos.Add(cur); cur = new Curso(idActual++, "redes", 2, MARTES, 7); this.cursos.Add(cur); cur = new Curso(idActual++, "io", 1, LUNES, 7); this.cursos.Add(cur); cur = new Curso(idActual++, "io", 1, MARTES, 7); this.cursos.Add(cur); cur = new Curso(idActual++, "mineria", 1, LUNES, 11); this.cursos.Add(cur); idActual = 0; Persona person = new Persona(idActual++, "Fabian"); person.cursosQueNecesita.Add("paradigmas"); person.cursosQueNecesita.Add("bases"); person.cursosQueNecesita.Add("io"); person.cursosQueNecesita.Add("mineria"); bdp.insertarPersona(person); AG1 ag1 = new AG1(person, cursosTipo); ag1.generarPoblacionInicial(); ag1.evolucionar(); }
//Devuelve un hashset con todas las personas ingresada en la BD public List<Persona> listaPersonasCompletas() { List<Persona> listaP = new List<Persona>(); Persona p; String nombreP; DataTable dt = solicitaListaNombreP(); Array lista; for (int i = 0; i < dt.Rows.Count; i++) { p= new Persona(); lista = dt.Rows[i].ItemArray; nombreP = (string)lista.GetValue(0); p.cursosQueNecesita =listaCursosPersona(nombreP); p.nombre = nombreP; listaP.Add(p); } return listaP; }
private void btnListo_Click(object sender, EventArgs e) { Persona p = new Persona(); p.nombre = this.txtNombreP.Text; p.cursosQueNecesita = this.cursosP; bdp.insertarPersona(p); this.cargarPersonas(); this.obtenerListaPersonas.Fill(this.dataSetPersona.obtenerListaPersonas); this.txtNombreP.Text = ""; this.cmbCursos.SelectedIndex = -1; gbCursosP.Enabled = false; cursosP.Clear(); }