protected override void RunJobInternal(ProvisioningJob job) { RefreshSingleSiteJob updateJob = job as RefreshSingleSiteJob; if (updateJob == null) { throw new ArgumentException("Invalid job type for RefreshSingleSiteJobHandler."); } UpdateTemplates(updateJob); }
private void UpdateTemplates(RefreshSingleSiteJob job) { using (var siteContext = PnPPartnerPackContextProvider.GetAppOnlyClientContext(job.TargetSiteUrl)) { // Get a reference to the target web var targetWeb = siteContext.Site.RootWeb; // Update the root web of the site collection RefreshSitesJobHandler.UpdateTemplateOnWeb(targetWeb); } }
public ActionResult UpdateSiteTemplate(UpdateSiteTemplateViewModel model) { AntiForgery.Validate(); if (ModelState.IsValid) { // Prepare the Job to update the Provisioning Template RefreshSingleSiteJob job = new RefreshSingleSiteJob(); job.TargetSiteUrl = model.TargetSiteUrl; // Prepare all the other information about the Provisioning Job job.Owner = ClaimsPrincipal.Current.Identity.Name; job.Title = $"Update Provisioning Template for {model.TargetSiteUrl}"; model.JobId = ProvisioningRepositoryFactory.Current.EnqueueProvisioningJob(job); } return(View(model)); }