static void PrintEkstraAddresse(EkstraAddresse adr) { Console.WriteLine("Forhold: " + adr.Forhold); PrintAddresse(adr.Adresse); }
public List<EkstraAddresse> ReadEkstraAddressesFromPerson(Person person) { var dt = new DataTable(); var ekstraAddresser = new List<EkstraAddresse>(); _akdc.Open(); const string commandText = @" SELECT AddresseID, Forhold, Id FROM EkstraAddresse WHERE PersonID = @PersonID "; var cmd = new SqlCommand(commandText, _akdc); cmd.Parameters.AddWithValue("@PersonID", person.Id); var reader = cmd.ExecuteReader(); if (reader.HasRows) { dt.Load(reader); } _akdc.Close(); foreach (DataRow row in dt.Rows) { var ekstraAddresse = new EkstraAddresse() { Id = (int)row["Id"], Adresse = ReadAddresse((int)row["AddresseID"]), Person = person, Forhold = row["Forhold"].ToString(), }; ekstraAddresser.Add(ekstraAddresse); } return ekstraAddresser; }
public void ConnectEkstraAddresse(Person person, Addresse addresse, string forhold) { _akdc.Open(); const string commandText = @" INSERT INTO EkstraAddresse (PersonID, AddresseID, Forhold) OUTPUT INSERTED.ID VALUES (@PersonID, @AddresseID, @Forhold) "; var cmd = new SqlCommand(commandText, _akdc); cmd.Parameters.AddWithValue("@PersonID", person.Id); cmd.Parameters.AddWithValue("@AddresseID", addresse.Id); cmd.Parameters.AddWithValue("@Forhold", forhold); var id = (int)cmd.ExecuteScalar(); _akdc.Close(); var ekstraAddresse = new EkstraAddresse { Id = id, Person = person, Adresse = addresse, Forhold = forhold }; person.EkstraAddresser.Add(ekstraAddresse); addresse.Personer.Add(ekstraAddresse); }
public void DisconnectEkstraAddresse(EkstraAddresse ekstraAddresse) { ekstraAddresse.Person.EkstraAddresser.Remove(ekstraAddresse); ekstraAddresse.Adresse.Personer.Remove(ekstraAddresse); _akdc.Open(); const string commandText = @" DELETE FROM EkstraAddresse WHERE Id = @Id "; var cmd = new SqlCommand(commandText, _akdc); cmd.Parameters.AddWithValue("@Id", ekstraAddresse.Id); cmd.ExecuteNonQuery(); _akdc.Close(); }