public static Contact ConvertFromContactDB(ContactDB item) { Contact toReturn = new Contact (); toReturn.Blocked = item.Blocked; toReturn.ContactAccountID = item.ContactAccountID; toReturn.ContactID = item.ContactID; toReturn.ContactOAuths = item.ContactOAuths; toReturn.ContactUser = item.ContactUser; toReturn.Errors = item.Errors; toReturn.OwnerAccountID = item.OwnerAccountID; toReturn.DateCreated = item.DateCreated; toReturn.DateLastUpdated = item.DateLastUpdated; return toReturn; }
/// <summary> /// Deletes the contact that belongs to the owner. /// </summary> /// <param name='contact'> /// The contact to delete. /// </param> public void DeleteContactForOwner(ContactDB contact) { lock (this.dbLock) { using (SQLiteConnection sqlCon = new SQLiteConnection(this.DBPath)) { sqlCon.Execute(WZConstants.DBClauseSyncOff); sqlCon.BeginTransaction(); try { // Delete OAuths for the contact sqlCon.Execute("DELETE FROM ContactOAuthDB WHERE ContactGuid=? AND " + "ContactGuid IN (SELECT ContactGuid FROM ContactDB WHERE OwnerAccountGuid=?)", contact.ContactGuid, contact.OwnerAccountGuid); // Delete the Contact object sqlCon.Execute("DELETE FROM ContactDB WHERE ContactGuid=? AND OwnerAccountGuid=?", contact.ContactGuid, contact.OwnerAccountGuid); //NOTE: No need to delete the user object for the contact (maybe). // Delete the User object // sqlCon.Execute("DELETE FROM UserDB WHERE AccountGuid=?", contact.ContactUser.AccountID.ToString()); sqlCon.Commit(); } catch (Exception ex) { sqlCon.Rollback(); #if(DEBUG) Console.WriteLine("Error in DeleteContactForOwner! {0}--{1}", ex.Message, ex.StackTrace); #endif }//end try catch }//end using sqlCon }//end lock }
public static ContactDB ConvertFromContact(Contact item) { ContactDB toReturn = new ContactDB (); toReturn.Blocked = item.Blocked; toReturn.ContactAccountID = item.ContactAccountID; toReturn.ContactID = item.ContactID; if (null != item.ContactOAuths) { toReturn.ContactOAuthItems = new List<ContactOAuthDB> (item.ContactOAuths.Count); foreach (Contact.ContactOAuth eachOAuth in item.ContactOAuths) { ContactOAuthDB contactOAuthDB = ContactOAuthDB.ConvertFromContactOAuth (eachOAuth); contactOAuthDB.ContactGuid = toReturn.ContactGuid; toReturn.ContactOAuthItems.Add (contactOAuthDB); }//end foreach }//end if toReturn.ContactUser = item.ContactUser; toReturn.Errors = item.Errors; toReturn.OwnerAccountID = item.OwnerAccountID; toReturn.DateCreated = item.DateCreated; toReturn.DateLastUpdated = item.DateLastUpdated; return toReturn; }