private static bool IsWebOrHigher(SkuType sku) { if (sku != SkuType.Web) { return(SkuUtil.IsStandardOrHigher(sku)); } return(true); }
public static bool IsFeatureEnabled(SkuType sku, RestrictedFeatures feature, out bool isFeatureExpected) { isFeatureExpected = true; switch (feature) { case RestrictedFeatures.CustomAuth: return(true); case RestrictedFeatures.ReportBuilder: return(SkuUtil.IsWorkgroupOrHigher(sku)); case RestrictedFeatures.NoCpuThrottling: case RestrictedFeatures.NoMemoryThrottling: return(SkuUtil.IsDataCenterOrHigher(sku)); case RestrictedFeatures.ScaleOut: case RestrictedFeatures.DataDrivenSubscriptions: case RestrictedFeatures.DataAlerting: case RestrictedFeatures.Crescent: case RestrictedFeatures.KpiItems: case RestrictedFeatures.MobileReportItems: case RestrictedFeatures.Branding: return(SkuUtil.IsEnterpriseOrHigher(sku)); case RestrictedFeatures.NonSqlDataSources: case RestrictedFeatures.OtherSkuDatasources: case RestrictedFeatures.RemoteDataSources: case RestrictedFeatures.Caching: case RestrictedFeatures.ExecutionSnapshots: case RestrictedFeatures.History: case RestrictedFeatures.Delivery: case RestrictedFeatures.Scheduling: case RestrictedFeatures.Extensibility: case RestrictedFeatures.Sharepoint: case RestrictedFeatures.Subscriptions: case RestrictedFeatures.CustomRolesSecurity: case RestrictedFeatures.ModelItemSecurity: case RestrictedFeatures.DynamicDrillthrough: case RestrictedFeatures.EventGeneration: case RestrictedFeatures.ComponentLibrary: case RestrictedFeatures.SharedDataset: case RestrictedFeatures.PowerBI: return(SkuUtil.IsStandardOrHigher(sku)); default: isFeatureExpected = false; return(false); } }
public static List <SkuType> GetDatabaseSku(SkuType reportServerSku, out List <SkuType> restrictedSkus) { List <SkuType> list = new List <SkuType>(); restrictedSkus = new List <SkuType>(); switch (reportServerSku) { case SkuType.Express: list.Add(SkuType.Express); break; case SkuType.Web: list.Add(SkuType.Web); break; case SkuType.Workgroup: list.Add(SkuType.Workgroup); break; case SkuType.Standard: case SkuType.Enterprise: case SkuType.DataCenter: case SkuType.BusinessIntelligence: case SkuType.EnterpriseCore: restrictedSkus.Add(SkuType.Developer); restrictedSkus.Add(SkuType.Evaluation); break; case SkuType.Developer: restrictedSkus.Add(SkuType.Evaluation); break; case SkuType.Evaluation: restrictedSkus.Add(SkuType.Developer); break; } if (SkuUtil.IsStandardOrHigher(reportServerSku)) { restrictedSkus.Add(SkuType.Workgroup); restrictedSkus.Add(SkuType.Express); restrictedSkus.Add(SkuType.Web); } return(list); }
public static SkuVerificationErrorCode EnsureCorrectEdition(SkuType rsSku, SkuType sqlSku, string connectionString, LocalDbServerVerifier localDbServerVerifier, bool checkRestrictedSkus) { if (!SkuUtil.IsStandardOrHigher(rsSku) && !SkuUtil.IsLocal(connectionString, localDbServerVerifier)) { return(SkuVerificationErrorCode.LocalConnectionRequired); } List <SkuType> list = new List <SkuType>(); List <SkuType> databaseSku = SkuUtil.GetDatabaseSku(rsSku, out list); if (databaseSku.Count > 0 && !databaseSku.Contains(sqlSku)) { return(SkuVerificationErrorCode.DatabaseSkuRequired); } if (checkRestrictedSkus && list.Count > 0 && list.Contains(sqlSku)) { return(SkuVerificationErrorCode.DatabaseSkuRestricted); } return(SkuVerificationErrorCode.Success); }