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); }
static void AddPerson1(AddresseKartotekDal myDal) { var folkeadr = new Addresse() { Bynavn = "Aarhus", Husnummer = "92", PostNummer = 8200, Vejnavn = "Finlandsgade" }; myDal.CreateAddresse(folkeadr); var workadr = new Addresse() { Bynavn = "Aarhus", Husnummer = "80", PostNummer = 8200, Vejnavn = "Oslogade" }; myDal.CreateAddresse(workadr); var person = new Person() { Fornavn = "Top", Mellemnavn = "Tom", Efternavn = "Hat", Forhold = "Anstrengt" }; myDal.CreatePerson(person); var telefon = new Telefon() { Number = "80808080", Forhold = "Arbejde" }; myDal.CreateTelefon(telefon, person); myDal.ConnectEkstraAddresse(person, workadr, "Arbejde"); myDal.ConnectEkstraAddresse(person, folkeadr, "Hjemme"); myDal.UpdateFolkeregisterAddresse(person, folkeadr); }
static void PrintPerson(Person person) { Console.WriteLine("Fornavn: " + person.Fornavn); Console.WriteLine("Mellemnavn: " + person.Mellemnavn); Console.WriteLine("Efternavn: " + person.Efternavn); Console.WriteLine("Forhold: " + person.Forhold); Console.WriteLine("Folkeadr: "); PrintAddresse(person.FolkeregisterAddresse); Console.WriteLine("EkstraAddresser"); foreach (var adr in person.EkstraAddresser) { PrintEkstraAddresse(adr); } Console.WriteLine("Telefoner"); foreach (var telefon in person.Telefoner) { PrintTelefon(telefon); } }
public void UpdatePerson(Person person) { _akdc.Open(); const string commandText = @" UPDATE Person SET Fornavn=@Fornavn, Mellemnavn=@Mellemnavn, Efternavn=@Efternavn, Forhold=@Forhold WHERE Id = @Id "; var cmd = new SqlCommand(commandText, _akdc); cmd.Parameters.AddWithValue("@Fornavn", person.Fornavn); cmd.Parameters.AddWithValue("@Mellemnavn", person.Mellemnavn); cmd.Parameters.AddWithValue("@Efternavn", person.Efternavn); cmd.Parameters.AddWithValue("@Forhold", person.Forhold); cmd.Parameters.AddWithValue("@Id", person.Id); cmd.ExecuteNonQuery(); _akdc.Close(); }
public List<Telefon> ReadTelefonerFromPerson(Person person) { var dt = new DataTable(); var telefoner = new List<Telefon>(); _akdc.Open(); const string commandText = @" SELECT Id FROM Telefonnummer 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) { telefoner.Add(ReadTelefon((int)row["Id"])); } return telefoner; }
public void UpdateFolkeregisterAddresse(Person person, Addresse addresse) { _akdc.Open(); const string commandText = @" UPDATE Person SET FolkeAID=@FolkeAID WHERE Id = @Id "; var cmd = new SqlCommand(commandText, _akdc); cmd.Parameters.AddWithValue("@FolkeAID", addresse.Id); cmd.Parameters.AddWithValue("@Id", person.Id); cmd.ExecuteNonQuery(); _akdc.Close(); }
public Addresse ReadFolkeregisterAddresse(Person person) { _akdc.Open(); const string commandText = @" SELECT FolkeAID FROM Person WHERE Id = @Id "; var cmd = new SqlCommand(commandText, _akdc); cmd.Parameters.AddWithValue("@Id", person.Id); var addresseId = (int)cmd.ExecuteScalar(); _akdc.Close(); return ReadAddresse(addresseId); }
public Person ReadPerson(int personid) { _akdc.Open(); const string commandText = @" SELECT Fornavn, Mellemnavn, Efternavn, Forhold FROM Person WHERE Id = @Id "; var cmd = new SqlCommand(commandText, _akdc); cmd.Parameters.AddWithValue("@Id", personid); var reader = cmd.ExecuteReader(); reader.Read(); var person = new Person { Id = personid, Fornavn = reader["Fornavn"].ToString(), Mellemnavn = reader["Mellemnavn"].ToString(), Efternavn = reader["Efternavn"].ToString(), Forhold = reader["Forhold"].ToString(), }; _akdc.Close(); return person; }
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 DeletePerson(Person person) { _akdc.Open(); const string commandText = @" DELETE FROM Person WHERE Id = @Id "; var cmd = new SqlCommand(commandText, _akdc); cmd.Parameters.AddWithValue("@Id", person.Id); cmd.ExecuteNonQuery(); _akdc.Close(); }
public void CreateTelefon(Telefon telefon, Person person) { _akdc.Open(); const string commandText = @"INSERT INTO Telefonnummer (Nummer, Forhold, PersonID) OUTPUT INSERTED.ID VALUES (@Nummer, @Forhold, @PersonID)"; var cmd = new SqlCommand(commandText, _akdc); cmd.Parameters.AddWithValue("@Nummer", telefon.Number); cmd.Parameters.AddWithValue("@Forhold", telefon.Forhold); cmd.Parameters.AddWithValue("@PersonID", person.Id); var id = (int) cmd.ExecuteScalar(); telefon.Id = id; _akdc.Close(); }
public void CreatePerson(Person person) { _akdc.Open(); const string commandText = @" INSERT INTO Person (Fornavn, Mellemnavn, Efternavn, Forhold) OUTPUT INSERTED.ID VALUES (@Fornavn, @Mellemnavn, @Efternavn, @Forhold) "; var cmd = new SqlCommand(commandText, _akdc); cmd.Parameters.AddWithValue("@Fornavn", person.Fornavn); cmd.Parameters.AddWithValue("@Mellemnavn", person.Mellemnavn); cmd.Parameters.AddWithValue("@Efternavn", person.Efternavn); cmd.Parameters.AddWithValue("@Forhold", person.Forhold); var personid = (int)cmd.ExecuteScalar(); person.Id = personid; _akdc.Close(); }
public Person ReadPerson(int personid) { Person person = null; SqlDataReader reader = null; try { _akdc.Open(); const string commandText = @" SELECT Fornavn, Mellemnavn, Efternavn, Forhold FROM Person WHERE Id = @Id "; using (var cmd = new SqlCommand(commandText, _akdc)) { cmd.Parameters.AddWithValue("@Id", personid); reader = cmd.ExecuteReader(); reader.Read(); person = new Person { Id = personid, Fornavn = reader["Fornavn"].ToString(), Mellemnavn = reader["Mellemnavn"].ToString(), Efternavn = reader["Efternavn"].ToString(), Forhold = reader["Forhold"].ToString(), }; } } finally { reader?.Close(); _akdc?.Close(); } return person; }