private static System.Dynamic.ExpandoObject PublishModelApiRequestBody(Guid uniqueId, string targetSiteUrl, string targetWebServerRelativeUrl, string targetLibraryServerRelativeUrl, MachineLearningPublicationViewOption viewOption) { /* * { * "__metadata": { * "type": "Microsoft.Office.Server.ContentCenter.SPMachineLearningPublicationsEntityData" * }, * "Publications": { * "results": [ * { * "ModelUniqueId": "bb25a5be-aeed-436d-90e7-add975ac766e", * "TargetSiteUrl": "https://m365x215748.sharepoint.com/sites/Mark8ProjectTeam", * "TargetWebServerRelativeUrl": "/sites/Mark8ProjectTeam", * "TargetLibraryServerRelativeUrl": "/sites/Mark8ProjectTeam/Shared Documents", * "ViewOption": "NewViewAsDefault" * } * ] * }, * "Comment": "" * } */ return(new { __metadata = new { type = "Microsoft.Office.Server.ContentCenter.SPMachineLearningPublicationsEntityData" }, Publications = new { results = new List <SyntexModelPublication>() { new SyntexModelPublication() { ModelUniqueId = uniqueId, TargetSiteUrl = targetSiteUrl, TargetWebServerRelativeUrl = targetWebServerRelativeUrl, TargetLibraryServerRelativeUrl = targetLibraryServerRelativeUrl, ViewOption = viewOption } } }, Comment = "" }.AsExpando()); }
public IEnumerableBatchResult <ISyntexModelPublicationResult> PublishModelBatch(List <IList> libraries, MachineLearningPublicationViewOption viewOption = MachineLearningPublicationViewOption.NewViewAsDefault) { return(PublishModelBatchAsync(libraries, viewOption).GetAwaiter().GetResult()); }
private async Task <ApiCallResponse> PublishModelApiRequestAsync(Guid uniqueId, string targetSiteUrl, string targetWebServerRelativeUrl, string targetLibraryServerRelativeUrl, MachineLearningPublicationViewOption viewOption) { System.Dynamic.ExpandoObject registerInfo = PublishModelApiRequestBody(uniqueId, targetSiteUrl, targetWebServerRelativeUrl, targetLibraryServerRelativeUrl, viewOption); return(await PublishModelApiCallAsync(registerInfo).ConfigureAwait(false)); }
public async Task <IEnumerableBatchResult <ISyntexModelPublicationResult> > PublishModelBatchAsync(Batch batch, List <IList> libraries, MachineLearningPublicationViewOption viewOption = MachineLearningPublicationViewOption.NewViewAsDefault) { List <SyntexModelPublication> modelPublications = await BuildModelPublicationListAsync(libraries, viewOption).ConfigureAwait(false); return(await PublishModelBatchImplementationAsync(batch, modelPublications).ConfigureAwait(false)); }
public async Task <IEnumerableBatchResult <ISyntexModelPublicationResult> > PublishModelBatchAsync(List <IList> libraries, MachineLearningPublicationViewOption viewOption = MachineLearningPublicationViewOption.NewViewAsDefault) { return(await PublishModelBatchAsync((ListItem as ListItem).PnPContext.CurrentBatch, libraries, viewOption).ConfigureAwait(false)); }
public async Task <List <ISyntexModelPublicationResult> > PublishModelAsync(List <IList> libraries, MachineLearningPublicationViewOption viewOption = MachineLearningPublicationViewOption.NewViewAsDefault) { List <SyntexModelPublication> modelPublications = await BuildModelPublicationListAsync(libraries, viewOption).ConfigureAwait(false); return(ProcessModelPublishResponseMultiple(await PublishModelApiRequestAsync(modelPublications).ConfigureAwait(false))); }
private async Task <List <SyntexModelPublication> > BuildModelPublicationListAsync(List <IList> libraries, MachineLearningPublicationViewOption viewOption) { List <SyntexModelPublication> modelPublications = new List <SyntexModelPublication>(); foreach (var library in libraries) { await(library as List).EnsurePropertiesAsync(p => p.RootFolder).ConfigureAwait(false); await library.PnPContext.Web.EnsurePropertiesAsync(p => p.ServerRelativeUrl).ConfigureAwait(false); modelPublications.Add(new SyntexModelPublication() { ModelUniqueId = UniqueId, TargetSiteUrl = library.PnPContext.Uri.AbsoluteUri.ToString(), TargetWebServerRelativeUrl = library.PnPContext.Web.ServerRelativeUrl, TargetLibraryServerRelativeUrl = library.RootFolder.ServerRelativeUrl, ViewOption = viewOption }); } return(modelPublications); }
public IBatchSingleResult <ISyntexModelPublicationResult> PublishModelBatch(IList library, MachineLearningPublicationViewOption viewOption = MachineLearningPublicationViewOption.NewViewAsDefault) { return(PublishModelBatchAsync(library, viewOption).GetAwaiter().GetResult()); }
private async Task <IBatchSingleResult <ISyntexModelPublicationResult> > PublishModelBatchImplementationAsync(Batch batch, Guid uniqueId, string targetSiteUrl, string targetWebServerRelativeUrl, string targetLibraryServerRelativeUrl, MachineLearningPublicationViewOption viewOption) { System.Dynamic.ExpandoObject registerInfo = PublishModelApiRequestBody(uniqueId, targetSiteUrl, targetWebServerRelativeUrl, targetLibraryServerRelativeUrl, viewOption); string body = JsonSerializer.Serialize(registerInfo, PnPConstants.JsonSerializer_IgnoreNullValues_StringEnumConvertor); var apiCall = new ApiCall("_api/machinelearning/publications", ApiType.SPORest, body) { RawSingleResult = new SyntexModelPublicationResult(), RawResultsHandler = (json, apiCall) => { List <SyntexModelPublicationResult> modelPublicationResults = ParseModelPublishResponse(json); var firstModelPublicationResult = modelPublicationResults.First(); (apiCall.RawSingleResult as SyntexModelPublicationResult).ErrorMessage = firstModelPublicationResult.ErrorMessage; (apiCall.RawSingleResult as SyntexModelPublicationResult).Publication = firstModelPublicationResult.Publication; (apiCall.RawSingleResult as SyntexModelPublicationResult).StatusCode = firstModelPublicationResult.StatusCode; } }; var batchRequest = await(ListItem as ListItem).RawRequestBatchAsync(batch, apiCall, HttpMethod.Post).ConfigureAwait(false); return(new BatchSingleResult <ISyntexModelPublicationResult>(batch, batchRequest.Id, apiCall.RawSingleResult as ISyntexModelPublicationResult)); }
public async Task <IBatchSingleResult <ISyntexModelPublicationResult> > PublishModelBatchAsync(Batch batch, IList library, MachineLearningPublicationViewOption viewOption = MachineLearningPublicationViewOption.NewViewAsDefault) { // Ensure we have the needed data loaded await(library as List).EnsurePropertiesAsync(p => p.RootFolder).ConfigureAwait(false); await library.PnPContext.Web.EnsurePropertiesAsync(p => p.ServerRelativeUrl).ConfigureAwait(false); return(await PublishModelBatchImplementationAsync(batch, UniqueId, library.PnPContext.Uri.AbsoluteUri.ToString(), library.PnPContext.Web.ServerRelativeUrl, library.RootFolder.ServerRelativeUrl, viewOption).ConfigureAwait(false)); }
public async Task <ISyntexModelPublicationResult> PublishModelAsync(IList library, MachineLearningPublicationViewOption viewOption = MachineLearningPublicationViewOption.NewViewAsDefault) { // Ensure we have the needed data loaded await(library as List).EnsurePropertiesAsync(p => p.RootFolder).ConfigureAwait(false); await library.PnPContext.Web.EnsurePropertiesAsync(p => p.ServerRelativeUrl).ConfigureAwait(false); return(ProcessModelPublishResponse(await PublishModelApiRequestAsync(UniqueId, library.PnPContext.Uri.AbsoluteUri.ToString(), library.PnPContext.Web.ServerRelativeUrl, library.RootFolder.ServerRelativeUrl, viewOption).ConfigureAwait(false))); }
public async Task <List <ISyntexModelPublicationResult> > PublishModelAsync(List <IList> libraries, MachineLearningPublicationViewOption viewOption = MachineLearningPublicationViewOption.NewViewAsDefault) { List <SyntexModelPublication> modelPublications = new List <SyntexModelPublication>(); foreach (var library in libraries) { await(library as List).EnsurePropertiesAsync(p => p.RootFolder).ConfigureAwait(false); await library.PnPContext.Web.EnsurePropertiesAsync(p => p.ServerRelativeUrl).ConfigureAwait(false); modelPublications.Add(new SyntexModelPublication() { ModelUniqueId = UniqueId, TargetSiteUrl = library.PnPContext.Uri.ToString(), TargetWebServerRelativeUrl = library.PnPContext.Web.ServerRelativeUrl, TargetLibraryServerRelativeUrl = library.RootFolder.ServerRelativeUrl, ViewOption = viewOption }); } return(ProcessModelPublishResponseMultiple(await PublishModelApiRequestAsync(modelPublications).ConfigureAwait(false))); }