Пример #1
0
        public static CrmIdentityErrorDescriber GetCrmIdentityErrorDescriber(this CrmWebsite website, IOwinContext context)
        {
            if (website == null)
            {
                throw new ArgumentNullException("website");
            }

            return(new CrmIdentityErrorDescriber(context));
        }
Пример #2
0
        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;
 }
Пример #4
0
 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")));
     }
 }
Пример #5
0
        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>()
            });
        }
Пример #6
0
        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);
                }
            }
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
            }
        }
Пример #9
0
 /// <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);
 }
Пример #10
0
 public static void UseWebsiteHeaderSettings(this IAppBuilder app, CrmWebsite website)
 {
     app.Use <WebsiteHeaderSettingsMiddleware>(website);
 }