public static CrmIdentityErrorDescriber GetCrmIdentityErrorDescriber(this CrmWebsite website, IOwinContext context) { if (website == null) { throw new ArgumentNullException("website"); } return(new CrmIdentityErrorDescriber(context)); }
public WebsiteHeaderSettingsMiddleware(OwinMiddleware next, CrmWebsite website) : base(next) { if (website == null) { throw new ArgumentNullException("website"); } Website = website; }
/// <summary> /// Initializes a new instance of the <see cref="StrictTransportSecurityOptions"/> class. /// </summary> /// <param name="website">The website.</param> /// <exception cref="System.ArgumentNullException">website raised</exception> public StrictTransportSecurityOptions(CrmWebsite website) { if (website == null) { throw new ArgumentNullException(nameof(website)); } this.MaxAge = DefaultMaxAge; this.IncludeSubDomains = true; }
public static void ConfigureDisplayModes(this IAppBuilder app, CrmWebsite website) { if (website != null) { DisplayModeProvider.Instance.Modes.Insert( 0, new FacebookDisplayMode(website.Settings.Get <string>("DisplayModes/Facebook/HostName"))); DisplayModeProvider.Instance.Modes.Insert( 1, new IframeDisplayMode(website.Settings.Get <string>("DisplayModes/Iframe/HostName"))); } }
public static CrmEntityStoreSettings GetCrmUserStoreSettings(this CrmWebsite website, IOwinContext context) { if (website == null) { throw new ArgumentNullException("website"); } return(new CrmEntityStoreSettings { DeleteByStatusCode = website.Settings.Get <bool?>("Authentication/UserStore/DeleteByStatusCode").GetValueOrDefault(true), PortalSolutions = context.Get <PortalSolutions>() }); }
public static void ConfigureSearchProvider(this IAppBuilder app, CrmWebsite website) { var searchElement = AdxstudioCrmConfigurationManager.GetCrmSection().Search; searchElement.Enabled = website.Settings.Get <bool>("Search/Enabled"); if (searchElement.Enabled) { if (searchElement.Providers.Count == 0) { ConfigureProviderSettings(searchElement, website); } } }
public static ContentMapProvider ConfigureContentMap( this IAppBuilder app, Func <CrmDbContext> createContext, CrmWebsite website, EventHubJobSettings eventHubJobSettings, PortalSolutions portalSolutions) { var solutionDefinitionProvider = new CmsSolutionDefinitionProvider(portalSolutions, website); var contentMapProvider = new ContentMapProvider(createContext, solutionDefinitionProvider, eventHubJobSettings, portalSolutions); app.CreatePerOwinContext(() => contentMapProvider); // support legacy accessors AdxstudioCrmConfigurationProvider.Set(solutionDefinitionProvider); AdxstudioCrmConfigurationProvider.Set(contentMapProvider); return(contentMapProvider); }
private static void ConfigureProviderSettings(SearchElement searchElement, CrmWebsite website) { var searchIndexPath = GetSearchIndexPath("Adxstudio.Xrm.Search", true); var indexQueryName = website.Settings.Get <string>("Search/IndexQueryName") ?? "Portal Search"; var languageSiteSetting = website.Settings.Get <string>("KnowledgeManagement/Article/Language") ?? string.Empty; var displayNotesSetting = website.Settings.Get <string>("KnowledgeManagement/DisplayNotes") ?? string.Empty; var notesFilterSetting = website.Settings.Get <string>("KnowledgeManagement/NotesFilter") ?? string.Empty; var useEncryptedDirectory = GetUseEncryptedDirectory(); var isOnlinePortal = GetIsOnlinePortal(); var defaultProvider = searchElement.DefaultProvider ?? "Portal"; searchElement.DefaultProvider = defaultProvider; var settings = new ProviderSettings { Name = defaultProvider, Type = "Adxstudio.Xrm.Search.PortalSearchProvider, Adxstudio.Xrm" }; settings.Parameters.Add("portalName", "Xrm"); settings.Parameters.Add("dataContextName", "Xrm"); settings.Parameters.Add("indexPath", searchIndexPath); settings.Parameters.Add("indexQueryName", indexQueryName); settings.Parameters.Add("useEncryptedDirectory", useEncryptedDirectory.ToString()); settings.Parameters.Add("isOnlinePortal", isOnlinePortal.ToString()); settings.Parameters.Add("websiteId", website.Id.ToString()); settings.Parameters.Add("articlesLanguageCode", languageSiteSetting); settings.Parameters.Add("displayNotes", displayNotesSetting); settings.Parameters.Add("notesFilter", notesFilterSetting); searchElement.Providers.Add(settings); if (useEncryptedDirectory) { // In case of encryption key changes we have requirment to drop old search indexes on application startup. Search.Store.Encryption.EncryptedDirectoryUtils.CleanupLegacy(searchIndexPath, isOnlinePortal); } }
/// <summary> /// Setup Culture for localization and globalization of the application. /// </summary> /// <param name="app">The app.</param> /// <param name="website">The website record.</param> public static void ConfigureCulture(this IAppBuilder app, CrmWebsite website, IContentMapProvider contentMapProvider, BundleCollection bundles, Action <BundleCollection, CultureInfo> registerAction) { UseLocalizedBundles(website.Entity, website.Language, contentMapProvider, bundles, registerAction); }
public static void UseWebsiteHeaderSettings(this IAppBuilder app, CrmWebsite website) { app.Use <WebsiteHeaderSettingsMiddleware>(website); }