public static void AddNewStaff(StaffMember staffMember) { string insert = $"INSERT INTO StaffMembers(FullName,NickName,Email,PhoneNumber,Birthday) VALUES('{staffMember.FullName}','{staffMember.NickName}','{staffMember.Email}','{staffMember.PhoneNumber}','{staffMember.Birthday.Date.ToString()}')"; ExecuteNonQuery(insert); string getNewId = $"SELECT MAX(id) FROM StaffMembers"; var reader = ExecuteQuery(getNewId); // There has to be a better way than doing that... staffMember.SetIdNumber(Convert.ToInt32(reader.GetValues().GetValues(0).GetValue(0))); reader.Close(); Close(); // Save preferences foreach (var preference in staffMember.Preferences) { insert = $"INSERT INTO Preferences(StaffMember, ProgramArea, Preference) VALUES " + $"('{staffMember.IdNumber}','{preference.ProgramAreaId}','{preference.PreferenceValue}')"; ExecuteNonQuery(insert); } }