internal static int saveContact(Contact contact, ObservableCollection<Contact> lContacts)
        {
            if(lContacts.FirstOrDefault(x => x.ID == contact.ID) == null)
                return InsertContact(contact);
            else
                UpdateContact(contact);

            return contact.ID;
        }
        internal static Contact GetContactByID(int id)
        {
            Contact c = new Contact();

            string sql = "SELECT * FROM contact WHERE ContactID = @ID";
            DbDataReader reader = Database.GetData(sql, Database.AddParameter("@ID", id));

            if (reader.Read())
                c = MaakContact(reader);

            reader.Close();
            return c;
        }
 private void VerwijderContact(Contact current)
 {
     ContactRepository.RemoveContact(current);
     this._allContacts.Remove(current);
     FilterContacts();
 }
 private void PasContactAan(Contact current)
 {
     this.SelectedContact = ContactRepository.GetContactByID(current.ID);
     GaNaarDetail();
 }
        private static int InsertContact(Contact contact)
        {
            int id = 0;

            string sql = "INSERT INTO contact (Voornaam, Naam, Straat_Nr, Postcode, Gemeente, FunctieID, OrganisatieID, Tel, Email, Image) VALUES (@VN, @N, @SN, @P, @G, @F, @O, @T, @E, @I); SELECT SCOPE_IDENTITY() AS [InsertedReserveringID]";
            DbDataReader reader = Database.GetData(sql
                , Database.AddParameter("@VN", contact.Voornaam)
                , Database.AddParameter("@N", contact.Naam)
                , Database.AddParameter("@SN", contact.Straat_Nr)
                , Database.AddParameter("@P", contact.Postcode)
                , Database.AddParameter("@G", contact.Gemeente)
                , Database.AddParameter("@F", contact.Functie.ID)
                , Database.AddParameter("@O", contact.Organisatie.ID)
                , Database.AddParameter("@T", contact.Tel)
                , ((contact.Image != null) ? Database.AddParameter("@I", contact.Image) : Database.AddParameter("@I", DBNull.Value))
                , Database.AddParameter("@E", contact.Email)
                );

            if (reader.Read())
                id = Convert.ToInt32(reader[0]);

            reader.Close();

            return id;
        }
 internal static void RemoveContact(Contact contact)
 {
     string sql = "DELETE FROM contact WHERE ContactID = @ID";
     Database.ModifyData(sql, Database.AddParameter("@ID", contact.ID));
 }
 private static void UpdateContact(Contact contact)
 {
     string sql = "UPDATE contact SET Voornaam = @VN, Naam = @N, Straat_Nr = @SN, Postcode = @P, Gemeente = @G, FunctieID = @F, OrganisatieID = @O, Tel = @T, Email = @E, Image = @I WHERE ContactID = @ID";
     Database.ModifyData(sql
        , Database.AddParameter("@VN", contact.Voornaam)
        , Database.AddParameter("@N", contact.Naam)
        , Database.AddParameter("@SN", contact.Straat_Nr)
        , Database.AddParameter("@P", contact.Postcode)
        , Database.AddParameter("@G", contact.Gemeente)
        , Database.AddParameter("@F", contact.Functie.ID)
        , Database.AddParameter("@O", contact.Organisatie.ID)
        , Database.AddParameter("@T", contact.Tel)
        , Database.AddParameter("@E", contact.Email)
        , Database.AddParameter("@I", contact.Image)
        , Database.AddParameter("@ID", contact.ID)
        );
 }
        private static Contact MaakContact(DbDataReader rij)
        {
            Contact nieuw = new Contact();
            nieuw.ID = Convert.ToInt32(rij["ContactID"].ToString());
            nieuw.Naam = rij["Naam"].ToString().Trim();
            nieuw.Voornaam = rij["Voornaam"].ToString().Trim();
            nieuw.Tel = rij["Tel"].ToString().Trim();
            nieuw.Email = rij["Email"].ToString().Trim();
            nieuw.Postcode = rij["Postcode"].ToString();
            nieuw.Gemeente = rij["Gemeente"].ToString().Trim();
            nieuw.Straat_Nr = rij["Straat_Nr"].ToString().Trim();
            nieuw.Image = rij["Image"].ToString().Trim();
            nieuw.Functie = FunctieRepository.GetFunctieFromID(Convert.ToInt32(rij["FunctieID"]));
            nieuw.Organisatie = OrganisatieRepository.GetOrganisatieFromID(Convert.ToInt32(rij["OrganisatieID"]));

            return nieuw;
        }