/// <summary> /// Get a specific message from the server /// </summary> /// <param name="item">The message we want to get</param> /// <param name="messageFormat">The format of the message to download</param> public async Task <YouMailMessage> GetMessageAsync(long item, int imageSize, DataFormat messageFormat) { try { AddPendingOp(); YouMailMessage message = null; if (await(LoginWaitAsync())) { var query = new YouMailMessageQuery(QueryType.GetMessage) { ImageSize = imageSize, DataFormat = messageFormat, IncludePreview = true, IncludeContactInfo = true, IncludeImageUrl = true, IncludeExtraInfo = true }; query.AddItemId(item); var results = await ExecuteMessageQueryAsync(query); if (results != null && results.Data != null && results.Data.Length > 0) { message = results.Data[0]; if (!string.IsNullOrEmpty(message.Preview)) { var uri = string.Format(YMST.c_messageBoxEntryDetails, item); using (var response = await YouMailApiAsync(uri, null, HttpMethod.Get)) { var resp = DeserializeObject <YouMailMessageResponse>(response.GetResponseStream()); if (resp != null) { message.Transcription = resp.Message.Transcription; } } } } } return(message); } finally { RemovePendingOp(); } }
/// <summary> /// Get a specified call /// </summary> /// <param name="messageId">The message that we want to update</param> /// <returns></returns> public async Task <YouMailHistory> GetMessageHistoryAsync(long messageId, int imageSize) { YouMailHistory returnValue = null; try { AddPendingOp(); if (await LoginWaitAsync()) { var query = new YouMailMessageQuery(QueryType.GetMessageHistory) { MaxResults = int.MaxValue, Offset = 0, IncludeImageUrl = true, IncludeContactInfo = true, IncludeLocation = true, ImageSize = imageSize, Page = 1, PageLength = s_PageLength }; query.AddItemId(messageId); var result = await GetMessageHistoryFromQueryAsync(query); if (result != null && result.Data != null && result.Data.Length > 0) { returnValue = result.Data[0]; } } } finally { RemovePendingOp(); } return(returnValue); }