public List <TurnierTeilnehmer> GibMoeglicheTurnierteilnehmer(long turnierid, Turnierart turnierart) { using (MySqlConnection connection = new MySqlConnection(_connectionString)) { MannschaftDataMapper madm = new MannschaftDataMapper(); FussballspielerDataMapper fdm = new FussballspielerDataMapper(); TennisspielerDataMapper tdm = new TennisspielerDataMapper(); HandballspielerDataMapper hdm = new HandballspielerDataMapper(); TrainerDataMapper ttdm = new TrainerDataMapper(); PhysioDataMapper pdm = new PhysioDataMapper(); MaterialwartDataMapper mdm = new MaterialwartDataMapper(); connection.Open(); using (MySqlCommand command = connection.CreateCommand()) { command.CommandType = CommandType.Text; command.CommandText = turnierart == Turnierart.Einzelturnier ? gibMoeglicheTurnierteilnehmerEinzelturnier : gibMoeglicheTurnierteilnehmerMannschaftsturnier; command.Parameters.AddWithValue("@TurnierId", turnierid); MySqlDataReader reader = command.ExecuteReader(); List <TurnierTeilnehmer> mitglieder = new List <TurnierTeilnehmer>(); if (reader.HasRows) { while (reader.Read()) { int personId = reader.GetInt32("ID"); int personenTyp = reader.GetInt32("PersonenTyp"); switch (personenTyp) { case 0: mitglieder.Add(ttdm.GibPerId(personId)); break; case 1: mitglieder.Add(pdm.GibPerId(personId)); break; case 2: mitglieder.Add(fdm.GibPerId(personId)); break; case 3: mitglieder.Add(hdm.GibPerId(personId)); break; case 4: mitglieder.Add(tdm.GibPerId(personId)); break; case 5: mitglieder.Add(mdm.GibPerId(personId)); break; case 6: mitglieder.Add(madm.GibPerID(personId)); break; default: throw new Exception(); } } } return(mitglieder); } } }
public List <Person> GibMoeglicheMitglieder(int id) { using (MySqlConnection connection = new MySqlConnection(_connectionString)) { FussballspielerDataMapper fdm = new FussballspielerDataMapper(); TennisspielerDataMapper tdm = new TennisspielerDataMapper(); HandballspielerDataMapper hdm = new HandballspielerDataMapper(); TrainerDataMapper ttdm = new TrainerDataMapper(); PhysioDataMapper pdm = new PhysioDataMapper(); MaterialwartDataMapper mdm = new MaterialwartDataMapper(); connection.Open(); using (MySqlCommand command = connection.CreateCommand()) { command.CommandType = CommandType.Text; command.CommandText = gibMoeglicheMitglieder; command.Parameters.AddWithValue("@MannschaftID", id); MySqlDataReader reader = command.ExecuteReader(); List <Person> mitglieder = new List <Person>(); if (reader.HasRows) { while (reader.Read()) { int personId = reader.GetInt32("ID"); int personenTyp = reader.GetInt32("PersonenTyp"); switch (personenTyp) { case 0: mitglieder.Add(ttdm.GibPerId(personId)); break; case 1: mitglieder.Add(pdm.GibPerId(personId)); break; case 2: mitglieder.Add(fdm.GibPerId(personId)); break; case 3: mitglieder.Add(hdm.GibPerId(personId)); break; case 4: mitglieder.Add(tdm.GibPerId(personId)); break; case 5: mitglieder.Add(mdm.GibPerId(personId)); break; default: throw new Exception("Person ohne Detailtabelle"); } } } return(mitglieder); } } }