示例#1
0
        private IEnumerable <IMailFolder> GetSubFolders()
        {
            string uri = _folder == null ? "Folders" : Uri + "/ChildFolders";

            var folders = HttpUtilSync.GetItems <Folder>(uri, int.MaxValue);

            return(folders.Select(f => new MailFolderProviderHTTP(f)));
        }
        private IEnumerable <string> EnumerateUsersHttp(string match, int count)
        {
            string uri = "https://graph/windows.net/" + AuthenticationHelper.TenantId;

            uri += "/users()";

            uri = AddFilters(uri, match, "userPrincipalName", "displayName", "givenName", "surName");

            var users = HttpUtilSync.GetItems <IEnumerable <UserHttp> >(uri);

            return(users.Select(x => x.UserPrincipalName));
        }
示例#3
0
        public IEnumerable <string> GetDLMembers(string dLName, int count)
        {
            if (string.IsNullOrEmpty(dLName))
            {
                return(Enumerable.Empty <string>());
            }

            string uri = BaseUri + "groups";

            uri += '?';     // we always have at least api version parameter

            uri = AddFilters(uri, dLName,
                             "displayName"
                             );

            uri += '&';
            uri += ApiVersion;

            var httpProxy = new HttpUtilSync(Constants.AadServiceResourceId);

            var groups = httpProxy.GetItems <GroupHttp>(uri, 100);

            // Look for the group with exact name match
            var group = groups.FirstOrDefault((g) => g.DisplayName.EqualsCaseInsensitive(dLName));

            if (group == null)
            {
                return(Enumerable.Empty <string>());
            }

            uri = BaseUri + "groups/" + group.ObjectId + "/members?" + ApiVersion;

            var members = httpProxy.GetItems <UserHttp>(uri, count);

            return(members.Select(x => x.UserPrincipalName));
        }
示例#4
0
        private IEnumerable <MailItemProviderHTTP.Message> GetMessages(int count)
        {
            string uri = Uri + string.Format("/Messages?&$top={0}", PageSize);

            return(HttpUtilSync.GetItems <MailItemProviderHTTP.Message>(uri, count));
        }