Example #1
0
        public static async void PortalMethods6()
        {
            Uri portalUri = new Uri("");

            #region Portal: Execute a portal search

            var portal     = ArcGISPortalManager.Current.GetPortal(portalUri);
            var owner      = portal.GetSignOnUsername();
            var portalInfo = await portal.GetPortalInfoAsync();

            //1. Get all web maps
            var query1 = PortalQueryParameters.CreateForItemsOfType(PortalItemType.WebMap);

            //2. Get all web maps and map services - include user, organization
            // and "usa" in the title
            var query2 = PortalQueryParameters.CreateForItemsOfTypes(new List <PortalItemType>()
            {
                PortalItemType.WebMap, PortalItemType.MapService
            }, owner, "", "title:usa");
            query2.OrganizationId = portalInfo.OrganizationId;

            //retrieve in batches of up to a 100 each time
            query2.Limit = 100;

            //Loop until done
            var portalItems = new List <PortalItem>();
            while (query2 != null)
            {
                //run the search
                PortalQueryResultSet <PortalItem> results = await portal.SearchForContentAsync(query2);

                portalItems.AddRange(results.Results);
                query2 = results.NextQueryParameters;
            }

            //process results
            foreach (var pi in portalItems)
            {
                //Do something with the portal items
            }

            #endregion
        }