예제 #1
0
        /// <summary>
        /// Assign all kinds of metadata / resources / settings (App-Mode only)
        /// </summary>
        private void InitializeResourcesSettingsAndMetadata(bool allowSideEffects)
        {
            Log.Add($"init app resources allowSE:{allowSideEffects}");
            _env = new Environment.DnnEnvironment(Log);

            if (allowSideEffects)
            {
                // if it's a real App (not content/default), do more
                AppManagement.EnsureAppIsConfigured(ZoneId, AppId, parentLog: Log); // make sure additional settings etc. exist
            }
            // Get app-describing entity
            var appAssignmentId = SystemRuntime.GetMetadataType(Eav.Constants.AppAssignmentName);
            var mds             = DataSource.GetMetaDataSource(ZoneId, AppId);
            var appMetaData     = mds
                                  .GetAssignedEntities(appAssignmentId, AppId,
                                                       SexyContent.Settings.AttributeSetStaticNameApps)
                                  .FirstOrDefault();
            var appResources = mds
                               .GetAssignedEntities(appAssignmentId, AppId,
                                                    SexyContent.Settings.AttributeSetStaticNameAppResources)
                               .FirstOrDefault();
            var appSettings = mds
                              .GetAssignedEntities(appAssignmentId, AppId,
                                                   SexyContent.Settings.AttributeSetStaticNameAppSettings)
                              .FirstOrDefault();

            dynamic appMetaDataDynamic = appMetaData != null
                ? new DynamicEntity(appMetaData, new[] { Thread.CurrentThread.CurrentCulture.Name }, null)
                : null;

            Name          = appMetaDataDynamic?.DisplayName ?? "Error";
            Folder        = appMetaDataDynamic?.Folder ?? "Error";
            Configuration = appMetaDataDynamic;
            Resources     = appResources != null
                ? new DynamicEntity(appResources, new[] { Thread.CurrentThread.CurrentCulture.Name }, null)
                : null;
            Settings = appResources != null
                ? new DynamicEntity(appSettings, new[] { Thread.CurrentThread.CurrentCulture.Name }, null)
                : null;
            Hidden = appMetaDataDynamic?.Hidden ?? false;
        }
예제 #2
0
        /// <summary>
        /// Assign all kinds of metadata / resources / settings (App-Mode only)
        /// </summary>
        private void InitializeResourcesSettingsAndMetadata(bool allowSideEffects)
        {
            if (allowSideEffects)
            {
                // if it's a real App (not content/default), do more
                AppManagement.EnsureAppIsConfigured(ZoneId, AppId); // make sure additional settings etc. exist
            }
            // Get app-describing entity
            var appMetaData =
                DataSource.GetMetaDataSource(ZoneId, AppId)
                .GetAssignedEntities(ContentTypeHelpers.AssignmentObjectTypeIDSexyContentApp, AppId,
                                     SexyContent.Settings.AttributeSetStaticNameApps)
                .FirstOrDefault();
            var appResources =
                DataSource.GetMetaDataSource(ZoneId, AppId)
                .GetAssignedEntities(ContentTypeHelpers.AssignmentObjectTypeIDSexyContentApp, AppId,
                                     SexyContent.Settings.AttributeSetStaticNameAppResources)
                .FirstOrDefault();
            var appSettings =
                DataSource.GetMetaDataSource(ZoneId, AppId)
                .GetAssignedEntities(ContentTypeHelpers.AssignmentObjectTypeIDSexyContentApp, AppId,
                                     SexyContent.Settings.AttributeSetStaticNameAppSettings)
                .FirstOrDefault();

            dynamic appMetaDataDynamic = appMetaData != null
                ? new DynamicEntity(appMetaData, new[] { Thread.CurrentThread.CurrentCulture.Name }, null)
                : null;

            Name          = appMetaDataDynamic?.DisplayName ?? "Error";
            Folder        = appMetaDataDynamic?.Folder ?? "Error";
            Configuration = appMetaDataDynamic;
            Resources     = appResources != null
                ? new DynamicEntity(appResources, new[] { Thread.CurrentThread.CurrentCulture.Name }, null)
                : null;
            Settings = appResources != null
                ? new DynamicEntity(appSettings, new[] { Thread.CurrentThread.CurrentCulture.Name }, null)
                : null;
            Hidden = appMetaDataDynamic?.Hidden ?? false;
        }