public static AbstractPerson GetPersonByName(string name) { List <SqlParameter> parameters = new List <SqlParameter>() { new SqlParameter("@Name", name) }; SqlDataReader reader = Database.ExecuteStoredProcedure("sp_getPersonByName", parameters); AbstractPerson person; if (reader.HasRows) { if (reader.Read()) { string typeOfPerson; typeOfPerson = reader.GetString(reader.GetOrdinal("FunctionName")); person = PersonFactory.Create(typeOfPerson); person.Name = reader.GetString(reader.GetOrdinal("PersonName")); person.IdPerson = reader.GetInt32(reader.GetOrdinal("Person_Id")); person.IdAgenda = reader.GetInt32(reader.GetOrdinal("FK_Agenda_id")); } else { throw new Exception($"No result for {name}"); } } else { throw new Exception($"{name} match any result"); } person.Agenda = DBExtractor.GetAgendaByIdPerson(person.IdPerson); return(person); }
public List <AbstractPerson> DisplayAllStudentsFromACursusId(int cursusId) { List <AbstractPerson> studentsOfASameCursus = new List <AbstractPerson>(); SqlCommand cmd = new SqlCommand("sp_DisplayAllStudentsFromACursus", Connection); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@CursusId", SqlDbType.VarChar).Value = cursusId; Cursus cursus = Database.GetInstance().GetCursusFromId(cursusId); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { int personId = reader.GetInt32(0); string personFirstName = reader.GetString(1); string personLastName = reader.GetString(2); string personEmail = reader.GetString(3); DateTime personBirthday = reader.GetDateTime(4); int streetNumber = reader.GetInt32(5); string streetName = reader.GetString(6); string city = reader.GetString(7); string country = reader.GetString(8); Adress adress = new Adress(streetNumber, streetName, city, country); AbstractPerson person = PersonFactory.Create(); // set Person properties independently studentsOfASameCursus.Add(person); } reader.Close(); return(studentsOfASameCursus); }