/// <summary>
 /// Serializes the state of this cmdlet to a <see cref="Carbon.Json.JsonNode" /> object.
 /// </summary>
 /// <param name="container">The <see cref="Carbon.Json.JsonObject"/> container to serialize this object into. If the caller
 /// passes in <c>null</c>, a new instance will be created and returned to the caller.</param>
 /// <param name="serializationMode">Allows the caller to choose the depth of the serialization. See <see cref="Microsoft.Rest.ClientRuntime.SerializationMode"/>.</param>
 /// <returns>
 /// a serialized instance of <see cref="GetImage_ImagesFilterKindLengthOffsetSortAttributeSortOrder" /> as a <see cref="Carbon.Json.JsonNode"
 /// />.
 /// </returns>
 public Carbon.Json.JsonNode ToJson(Carbon.Json.JsonObject container, Microsoft.Rest.ClientRuntime.SerializationMode serializationMode)
 {
     // serialization method
     container = container ?? new Carbon.Json.JsonObject();
     AddIf(null != GetEntitiesRequest ? (Carbon.Json.JsonNode)GetEntitiesRequest.ToJson(null) : null, "GetEntitiesRequest", container.Add);
     return(container);
 }
예제 #2
0
        protected List <T> ExecuteRequestByPages <T>(GraphQLClient client, int take, GetEntitiesRequest request, string targetSection, int pageSize = 25)
        {
            List <T> entities = new List <T>();

            int  skipped           = 0;
            bool moresResultsExist = true;

            while (moresResultsExist && pageSize > 0)
            {
                pageSize = skipped + pageSize > take ? take - skipped : pageSize;

                if (pageSize > 0)
                {
                    var result = client.PostAsync(
                        request(pageSize, skipped));
                    var resultsToAdd = result.Result.GetDataFieldAs <List <T> >(targetSection);
                    if (resultsToAdd.Count > 0)
                    {
                        entities.AddRange(resultsToAdd);
                    }

                    moresResultsExist = resultsToAdd.Count == pageSize;

                    skipped += pageSize;
                }
            }

            return(entities);
        }
예제 #3
0
 private List <T> ExecuteRequestByPages <T>(
     int take,
     GetEntitiesRequest request,
     string targetSection,
     int pageSize = 25)
 {
     return(ExecuteRequestByPages <T>(Client, take, request, targetSection, pageSize));
 }
예제 #4
0
        /// <summary>
        /// Erzeugt eine neue Instanz der Klasse
        /// </summary>
        /// <param name="requestHandler">Instanz von RequestHandler</param>
        public EntityManager(IRequestHandler requestHandler)
        {
            this.requestHandler = requestHandler;
            var request = new GetEntitiesRequest()
            {
                EntityType = "Configuration"
            };

            GetEntitiesResponse response = requestHandler.RequestResponse <GetEntitiesRequest, GetEntitiesResponse>(request);

            logicalDevices = response.LogicalDevices;
            locations      = response.Locations;
            profiles       = response.Profiles;
        }
예제 #5
0
        public List <Order> GetOrders(int take = 10000)
        {
            GetEntitiesRequest request = ProjectManagerRequests.Order.GetOrders;

            return(ExecuteRequestByPages <Order>(take, request, "orders", 25));
        }