Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }