public List<Contact> GetContacts( ) { List<Contact> contacts = new List<Contact> ( ); using ( SQLiteDataReader reader = ExecuteReader ( GETPEOPLE_SQL ) ) { while ( reader.Read ( ) ) { Contact contact = new Contact ( ); contact.ID = ( long )reader[ "_id" ]; contact.SyncAccount = ( string )reader[ "_sync_account" ]; contact.SyncDirty = reader[ "_sync_dirty" ] == DBNull.Value ? false : ( long )reader[ "_sync_dirty" ] == 1; contact.SyncID = reader[ "_sync_id" ] == DBNull.Value ? string.Empty : ( string )reader[ "_sync_id" ]; contact.SyncLocalID = reader[ "_sync_local_id" ] == DBNull.Value ? string.Empty : ( string )reader[ "_sync_local_id" ]; contact.SyncMark = reader[ "_sync_mark" ] == DBNull.Value ? false : ( long )reader[ "_sync_mark" ] == 1; contact.SyncTime = reader[ "_sync_time" ] == DBNull.Value ? -1 : long.Parse ( ( string )reader[ "_sync_time" ] ); contact.SyncVersion = reader[ "_sync_version" ] == DBNull.Value ? -1 : long.Parse ( ( string )reader[ "_sync_version" ] ); contact.CustomRingtone = reader[ "custom_ringtone" ] == DBNull.Value ? false : ( long )reader[ "custom_ringtone" ] == 1; contact.IsStarred = reader[ "starred" ] == DBNull.Value ? false : ( long )reader[ "starred" ] == 1; contact.LastTimeContacted = reader[ "last_time_contacted" ] == DBNull.Value ? -1 : ( long )reader[ "last_time_contacted" ]; contact.Name = reader[ "name" ] == DBNull.Value ? string.Empty : ( string )reader[ "name" ]; contact.Notes = reader[ "notes" ] == DBNull.Value ? string.Empty : ( string )reader[ "notes" ]; contact.PhoneticName = reader[ "phonetic_name" ] == DBNull.Value ? string.Empty : ( string )reader[ "phonetic_name" ]; contact.PhotoVersion = reader[ "photo_version" ] == DBNull.Value ? -1 : ( long )reader[ "photo_version" ]; contact.PrimaryEmail = reader[ "primary_email" ] == DBNull.Value ? -1 : ( long )reader[ "primary_email" ]; contact.PrimaryOrganization = reader[ "primary_organization" ] == DBNull.Value ? -1 : ( long )reader[ "primary_organization" ]; contact.PrimaryPhone = reader[ "primary_phone" ] == DBNull.Value ? -1 : ( long )reader[ "primary_phone" ]; contact.SendToVoiceMail = reader[ "send_to_voicemail" ] == DBNull.Value ? false : ( long )reader[ "send_to_voicemail" ] == 1; contact.TimesContacted = reader[ "times_contacted" ] == DBNull.Value ? -1 : ( long )reader[ "times_contacted" ]; if ( reader["data"] != DBNull.Value ) { byte[] buffer = (byte[]) reader["data"]; using ( MemoryStream ms = new MemoryStream ( buffer, false ) ) { contact.Photo = Image.FromStream ( ms, true ); } } using ( SQLiteDataReader reader2 = ExecuteReader ( string.Format ( GETPERSONPHONES_SQL, contact.ID ) ) ) { while ( reader2.Read ( ) ) { Phone phone = new Phone ( ); phone.ID = ( long )reader2[ "_id" ]; phone.PersonID = contact.ID; phone.Type = reader2[ "type" ] == DBNull.Value ? Phone.PhoneType.CUSTOM : ( Phone.PhoneType )((long)reader2[ "type" ]); phone.Number = reader2[ "number" ] == DBNull.Value ? string.Empty : ( string )reader2[ "number" ]; phone.Key = reader2[ "number_key" ] == DBNull.Value ? string.Empty : ( string )reader2[ "number_key" ]; phone.Label = reader2[ "label" ] == DBNull.Value ? string.Empty : ( string )reader2[ "label" ]; phone.IsPrimary = reader2[ "isprimary" ] == DBNull.Value ? false : ( long )reader2[ "isprimary" ] == 1; contact.Phones.Add ( phone ); } } contacts.Add ( contact ); } } return contacts; }
public List<Contact> GetContacts( ) { List<Contact> contacts = new List<Contact> ( ); using ( SQLiteDataReader reader = ExecuteReader ( GETPEOPLE_SQL ) ) { while ( reader.Read ( ) ) { Contact contact = new Contact ( ); if ( reader[ "user_name" ] != DBNull.Value ) { contact.Name = reader[ "user_name" ] == DBNull.Value ? string.Empty : ( string )reader[ "user_name" ]; //contact.Notes = string.Format ( "facebook:{0}", reader[ "user_id" ] == DBNull.Value ? "-1" : (( long )reader[ "user_id" ]).ToString() ); if ( reader[ "cell" ] != DBNull.Value ) { Phone phone = new Phone ( ); phone.Type = Phone.PhoneType.CUSTOM; phone.Label = "Facebook:Cell"; phone.Number = ( string )reader[ "cell" ]; phone.Key = ( string )reader[ "cell" ]; phone.IsPrimary = reader[ "other" ] == DBNull.Value; contact.Phones.Add ( phone ); } if ( reader[ "other" ] != DBNull.Value ) { Phone phone = new Phone ( ); phone.Type = Phone.PhoneType.CUSTOM; phone.Label = "Facebook:Other"; phone.Number = ( string )reader[ "other" ]; phone.Key = ( string )reader[ "other" ]; phone.IsPrimary = reader[ "cell" ] == DBNull.Value; contact.Phones.Add ( phone ); } if ( reader[ "user_image" ] != DBNull.Value ) { byte[] buffer = ( byte[ ] )reader[ "user_image" ]; using ( MemoryStream ms = new MemoryStream ( buffer, false ) ) { contact.Photo = Image.FromStream ( ms, true ); } } } contacts.Add ( contact ); } } return contacts; }