Example #1
0
        public async Task <List <ISyntexModelPublication> > GetModelPublicationsAsync()
        {
            var apiCall      = new ApiCall($"_api/machinelearning/publications/getbymodeluniqueid('{UniqueId}')", ApiType.SPORest);
            var publications = await(ListItem as ListItem).RawRequestAsync(apiCall, HttpMethod.Post).ConfigureAwait(false);

            List <SyntexModelPublication> results = new List <SyntexModelPublication>();

            if (!string.IsNullOrEmpty(publications.Json))
            {
                var root = JsonDocument.Parse(publications.Json).RootElement.GetProperty("d").GetProperty("results");
                if (root.ValueKind == JsonValueKind.Array)
                {
                    foreach (var publicationResultJson in root.EnumerateArray())
                    {
                        var modelPublication = new SyntexModelPublication
                        {
                            ModelUniqueId = publicationResultJson.GetProperty("ModelUniqueId").GetGuid(),
                            TargetLibraryServerRelativeUrl = publicationResultJson.GetProperty("TargetLibraryServerRelativeUrl").GetString(),
                            TargetWebServerRelativeUrl     = publicationResultJson.GetProperty("TargetWebServerRelativeUrl").GetString(),
                            TargetSiteUrl = publicationResultJson.GetProperty("TargetSiteUrl").ToString(),
                            ViewOption    = (MachineLearningPublicationViewOption)Enum.Parse(typeof(MachineLearningPublicationViewOption), publicationResultJson.GetProperty("ViewOption").ToString())
                        };

                        results.Add(modelPublication);
                    }
                }
            }

            return(results.Cast <ISyntexModelPublication>().ToList());
        }
Example #2
0
        private static void ProcessGetModelPublicationsResponse(string json, List <ISyntexModelPublication> results)
        {
            var root = JsonSerializer.Deserialize <JsonElement>(json).GetProperty("value");

            if (root.ValueKind == JsonValueKind.Array)
            {
                foreach (var publicationResultJson in root.EnumerateArray())
                {
                    var modelPublication = new SyntexModelPublication
                    {
                        ModelUniqueId = publicationResultJson.GetProperty("ModelUniqueId").GetGuid(),
                        TargetLibraryServerRelativeUrl = publicationResultJson.GetProperty("TargetLibraryServerRelativeUrl").GetString(),
                        TargetWebServerRelativeUrl     = publicationResultJson.GetProperty("TargetWebServerRelativeUrl").GetString(),
                        TargetSiteUrl = publicationResultJson.GetProperty("TargetSiteUrl").ToString(),
                        ViewOption    = (MachineLearningPublicationViewOption)Enum.Parse(typeof(MachineLearningPublicationViewOption), publicationResultJson.GetProperty("ViewOption").ToString())
                    };

                    results.Add(modelPublication);
                }
            }
        }