protected override void ExecuteCmdlet() { var theme = new SPOTheme(Identity.Name, Palette.ThemePalette, IsInverted); var themes = Tenant.GetAllTenantThemes(); ClientContext.Load(themes); ClientContext.ExecuteQueryRetry(); if (themes.FirstOrDefault(t => t.Name == Identity.Name) != null) { if (Overwrite.ToBool()) { Tenant.UpdateTenantTheme(Identity.Name, JsonSerializer.Serialize(theme)); ClientContext.ExecuteQueryRetry(); } else { WriteError(new ErrorRecord(new Exception($"Theme exists"), "THEMEEXISTS", ErrorCategory.ResourceExists, Identity.Name)); } } else { Tenant.AddTenantTheme(Identity.Name, JsonSerializer.Serialize(theme)); ClientContext.ExecuteQueryRetry(); } }
public ThemePipeBind(SPOTheme theme) { _name = theme.Name; }