/// <summary> /// Get a YouMailContact from an ID /// </summary> /// <param name="id">The id of the contact</param> /// <returns>The YouMailContact</returns> public async Task <YouMailContact> GetContactAsync(long id, int imageSize = 100) { YouMailContact contact = null; try { AddPendingOp(); YouMailContactQuery query = new YouMailContactQuery(QueryType.GetContact) { ImageSize = imageSize, }; query.AddItemId(id); var results = await ExecuteContactQueryAsync(query); if (results != null && results.Data != null && results.Data.Length > 0) { contact = results.Data[0]; } } finally { RemovePendingOp(); } return(contact); }
/// <summary> /// Get the contacts for the user /// </summary> /// <param name="lastUpdated"></param> /// <returns></returns> public async Task <GetUpdateResult <YouMailContact[]> > GetContactsAsync(DateTime lastUpdated, int imageSize, YouMailContactType contactType = YouMailContactType.NoRestriction) { GetUpdateResult <YouMailContact[]> returnValue = null; try { AddPendingOp(); if (await LoginWaitAsync()) { YouMailContactQuery query = new YouMailContactQuery(QueryType.GetContacts) { UpdatedFrom = lastUpdated, ImageSize = imageSize, Page = 1, PageLength = s_PageLength, ContactType = contactType }; returnValue = await ExecuteContactQueryAsync(query); } } finally { RemovePendingOp(); } return(returnValue); }