예제 #1
0
        /// <summary>
        /// List all supervisors
        /// </summary>
        /// <param name="service"></param>
        /// <param name="onlyServerState"></param>
        /// <returns></returns>
        public static async Task <IEnumerable <SupervisorApiModel> > ListAllSupervisorsAsync(
            this IRegistryServiceApi service, bool?onlyServerState = null)
        {
            var registrations = new List <SupervisorApiModel>();
            var result        = await service.ListSupervisorsAsync(null, onlyServerState, null);

            registrations.AddRange(result.Items);
            while (result.ContinuationToken != null)
            {
                result = await service.ListSupervisorsAsync(result.ContinuationToken,
                                                            onlyServerState, null);

                registrations.AddRange(result.Items);
            }
            return(registrations);
        }
예제 #2
0
        /// <summary>
        /// Find supervisors
        /// </summary>
        /// <param name="service"></param>
        /// <param name="onlyServerState"></param>
        /// <param name="ct"></param>
        /// <param name="query"></param>
        /// <returns></returns>
        public static async Task <IEnumerable <SupervisorApiModel> > QueryAllSupervisorsAsync(
            this IRegistryServiceApi service, SupervisorQueryApiModel query, bool?onlyServerState = null,
            CancellationToken ct = default)
        {
            var registrations = new List <SupervisorApiModel>();
            var result        = await service.QuerySupervisorsAsync(query, onlyServerState, null, ct);

            registrations.AddRange(result.Items);
            while (result.ContinuationToken != null)
            {
                result = await service.ListSupervisorsAsync(result.ContinuationToken,
                                                            onlyServerState, null, ct);

                registrations.AddRange(result.Items);
            }
            return(registrations);
        }