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;
 }
Beispiel #3
0
        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);
        }