/// <summary> /// This method allows to check if a template can be provisioned /// </summary> /// <param name="hierarchy">The Template to hierarchy</param> /// <param name="sequenceId">The sequence to test within the hierarchy</param> /// <param name="applyingInformation">Any custom provisioning settings</param> /// <returns>A boolean stating whether the current object handler can be run during provisioning or if there are any missing requirements</returns> public static CanProvisionResult CanProvision(Model.ProvisioningHierarchy hierarchy, string sequenceId, ProvisioningTemplateApplyingInformation applyingInformation) { CanProvisionResult result = new CanProvisionResult(); List <ICanProvisionRuleOffice365> rules = GetCanProvisionRules <ICanProvisionRuleOffice365>(); foreach (var rule in rules) { var ruleResult = rule.CanProvision(hierarchy, sequenceId, applyingInformation); result.CanProvision &= ruleResult.CanProvision; result.Issues.AddRange(ruleResult.Issues); } return(result); }
/// <summary> /// This method allows to check if a template can be provisioned in the currently selected target /// </summary> /// <param name="web">The target Web</param> /// <param name="template">The Template to provision</param> /// <param name="applyingInformation">Any custom provisioning settings</param> /// <returns>A boolean stating whether the current object handler can be run during provisioning or if there are any missing requirements</returns> public static CanProvisionResult CanProvision(Web web, Model.ProvisioningTemplate template, ProvisioningTemplateApplyingInformation applyingInformation) { CanProvisionResult result = new CanProvisionResult(); List <ICanProvisionRuleSite> rules = GetCanProvisionRules <ICanProvisionRuleSite>(); foreach (var rule in rules) { var ruleResult = rule.CanProvision(web, template, applyingInformation); result.CanProvision &= ruleResult.CanProvision; result.Issues.AddRange(ruleResult.Issues); } return(result); }