Beispiel #1
0
 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);
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 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);
     }
 }
Beispiel #4
0
        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();
        }
Beispiel #5
0
        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;
        }
Beispiel #6
0
 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();
 }
Beispiel #7
0
        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);
        }
Beispiel #8
0
 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;
 }
Beispiel #9
0
        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;
        }
Beispiel #10
0
        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();
        }
Beispiel #11
0
 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();
 }
Beispiel #12
0
 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();
 }
Beispiel #13
0
 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;
 }