public async Task ProcessDeploymentStepAsync(DeploymentStep deploymentStep, DeploymentPlanResult result) { if (!(deploymentStep is DeploymentPlanDeploymentStep deploymentPlanStep)) { return; } if (!await _deploymentPlanService.DoesUserHavePermissionsAsync()) { return; } var deploymentPlans = deploymentPlanStep.IncludeAll ? (await _deploymentPlanService.GetAllDeploymentPlansAsync()).ToArray() : (await _deploymentPlanService.GetDeploymentPlansAsync(deploymentPlanStep.DeploymentPlanNames)).ToArray(); var plans = (from plan in deploymentPlans select new { plan.Name, Steps = (from step in plan.DeploymentSteps select new { Type = step.GetType().Name, Step = step }).ToArray() }).ToArray(); // Adding deployment plans result.Steps.Add(new JObject( new JProperty("name", "deployment"), new JProperty("Plans", JArray.FromObject(plans)) )); }
public async Task <int> CreateAsync() { await _recipeMigrator.ExecuteAsync("exportcontenttodeploymenttarget.recipe.json", this); var deploymentPlans = await _deploymentPlanService.GetAllDeploymentPlansAsync(); var exportContentToDeploymentTargetPlan = deploymentPlans.FirstOrDefault(x => x.DeploymentSteps.Any(x => x.Name == nameof(ExportContentToDeploymentTargetDeploymentStep))); if (exportContentToDeploymentTargetPlan != null) { var siteSettings = await _siteService.LoadSiteSettingsAsync(); siteSettings.Alter <ExportContentToDeploymentTargetSettings>(nameof(ExportContentToDeploymentTargetSettings), aspect => aspect.ExportContentToDeploymentTargetPlanId = exportContentToDeploymentTargetPlan.Id); await _siteService.UpdateSiteSettingsAsync(siteSettings); } return(1); }