Beispiel #1
0
        /// <summary>
        /// Retrieves the contacts having given type.
        /// </summary>
        /// <returns></returns>
        public static async Task <List <WrikeUser> > GetContactsByTypeAsync(this IWrikeContactsClient wrikeContactsClient,
                                                                            WrikeUserType type,
                                                                            bool?me = null,
                                                                            WrikeMetadata metadata = null,
                                                                            bool?isDeleted         = null,
                                                                            bool?retrieveMetadata  = null)
        {
            var contacts = await wrikeContactsClient.GetAsync(me, metadata, isDeleted, retrieveMetadata).ConfigureAwait(false);

            return(contacts.Where(c => c.Type == type).ToList());
        }
Beispiel #2
0
        /// <summary>
        /// Retrieves the first contact record having type person and provided email.
        /// </summary>
        public static async Task <WrikeUser> GetContactByEmailAsync(this IWrikeContactsClient wrikeContactsClient,
                                                                    string email)
        {
            if (email == null)
            {
                throw new ArgumentNullException(nameof(email));
            }
            if (email.Trim() == string.Empty)
            {
                throw new ArgumentException("value can not be empty", nameof(email));
            }

            var contacts = await wrikeContactsClient.GetAsync().ConfigureAwait(false);

            return(contacts.Where(c =>
                                  c.Type == WrikeUserType.Person &&
                                  c.Profiles.Any(p => p.Email == email)).FirstOrDefault());
        }