protected override void ExecuteCmdlet() { if (ParameterSpecified(nameof(Identity)) || ParameterSpecified(nameof(Template))) { ClientResult <TenantOutOfBoxSiteTemplateSettings> templateSetting = null; if (ParameterSpecified(nameof(Identity))) { if (Identity == null || !Identity.Id.HasValue) { throw new PSArgumentException($"Identity contains an invalid {nameof(BuiltInSiteTemplateSettingsPipeBind)} value", nameof(Identity)); } templateSetting = Tenant.GetOutOfBoxSiteTemplateSettings(ClientContext, Identity.Id.Value); } else { var template = BuiltInSiteTemplateSettings.BuiltInSiteTemplateMappings.FirstOrDefault(tm => tm.Value == Template); templateSetting = Tenant.GetOutOfBoxSiteTemplateSettings(ClientContext, template.Key); } ClientContext.ExecuteQueryRetry(); if (templateSetting == null || templateSetting.Value == null) { WriteVerbose("No out of the box SharePoint site template setting with the identity provided through Identity has been found"); return; } var response = new BuiltInSiteTemplateSettings { Id = templateSetting.Value.Id, IsHidden = templateSetting.Value.IsHidden }; WriteObject(response, false); } else { WriteVerbose("Retrieving all out of the box SharePoint site template settings"); var templateSettings = Tenant.GetAllOutOfBoxSiteTemplateSettings(); ClientContext.ExecuteQueryRetry(); WriteVerbose($"{templateSettings.Count} returned"); var responses = templateSettings.Select(ts => new BuiltInSiteTemplateSettings { Id = ts.Id, IsHidden = ts.IsHidden }); WriteObject(responses, true); } }
public BuiltInSiteTemplateSettingsPipeBind(BuiltInSiteTemplateSettings builtInSiteTemplateSettings) { _id = builtInSiteTemplateSettings.Id; }
protected override void ExecuteCmdlet() { ClientResult <TenantOutOfBoxSiteTemplateSettings> templateSetting = null; if (ParameterSpecified(nameof(Identity))) { if (Identity == null || !Identity.Id.HasValue) { throw new PSArgumentException($"Identity contains an invalid {nameof(BuiltInSiteTemplateSettingsPipeBind)} value", nameof(Identity)); } if (!ParameterSpecified(nameof(WhatIf))) { WriteVerbose($"Setting built in site template settings for template with Id {Identity.Id.Value} to become {(IsHidden ? "hidden" : "visible")}"); templateSetting = Tenant.SetTenantOutOfBoxSiteTemplateSettings(new TenantOutOfBoxSiteTemplateSettings { Id = Identity.Id.Value, IsHidden = IsHidden }); } else { WriteVerbose($"Omitting setting built in site template settings for template with Id {Identity.Id.Value} to become {(IsHidden ? "hidden" : "visible")} as {nameof(WhatIf)} has been provided"); } } if (ParameterSpecified(nameof(Template))) { var template = BuiltInSiteTemplateSettings.BuiltInSiteTemplateMappings.FirstOrDefault(tm => tm.Value == Template); if (!ParameterSpecified(nameof(WhatIf))) { WriteVerbose($"Setting built in site template settings for template with Id {template.Key} to become {(IsHidden ? "hidden" : "visible")}"); templateSetting = Tenant.SetTenantOutOfBoxSiteTemplateSettings(new TenantOutOfBoxSiteTemplateSettings { Id = template.Key, IsHidden = IsHidden }); } else { WriteVerbose($"Omitting setting built in site template settings for template with Id {template.Key} to become {(IsHidden ? "hidden" : "visible")} as {nameof(WhatIf)} has been provided"); } } if (ParameterSpecified(nameof(WhatIf))) { return; } ClientContext.ExecuteQueryRetry(); if (templateSetting == null || templateSetting.Value == null) { WriteVerbose("Invalid response received"); return; } WriteVerbose("Mapping response to BuiltInSiteTemplateSettings result"); var response = new BuiltInSiteTemplateSettings { Id = templateSetting.Value.Id, IsHidden = templateSetting.Value.IsHidden }; WriteObject(response, false); }