예제 #1
0
        public IEnumerable <ListOption> GetOptions(ConfiguratorBuildArguments buildArguments, IDictionary <string, string> model)
        {
            var repositoryUid = model.Get <Guid?>(_repositoryUid);

            if (repositoryUid == null)
            {
                yield break;
            }

            var repo = RepositoryActivator.ActivateRepository(new Guid(_repositoryUid));

            IReadOnlyCollection <WarpCoreEntity> foundEntities;
            var versioned   = repo as IVersionedContentRepository;
            var unversioned = repo as IUnversionedContentRepository;

            if (versioned != null)
            {
                foundEntities = versioned.FindContentVersions(null, ContentEnvironment.Draft);
            }
            else
            {
                foundEntities = unversioned.FindContent(null);
            }

            foreach (var foundEntity in foundEntities)
            {
                yield return new ListOption
                       {
                           Text  = foundEntity.Title,
                           Value = foundEntity.ContentId.ToString()
                       }
            }
            ;
        }
    }
예제 #2
0
        public IEnumerable <ListOption> GetOptions(ConfiguratorBuildArguments buildArguments, IDictionary <string, string> model)
        {
            var mgr = new RepositoryMetadataManager();

            foreach (var repo in mgr.Find())
            {
                var t = RepositoryTypeResolver.ResolveTypeByApiId(repo.ApiId);

                var displayName = repo.CustomRepositoryName ?? t.GetDisplayName();

                yield return(new ListOption
                {
                    Text = displayName,
                    Value = repo.ApiId.ToString()
                });
            }
        }
예제 #3
0
        public IEnumerable <ListOption> GetOptions(ConfiguratorBuildArguments buildArguments, IDictionary <string, string> model)
        {
            var repositoryUid = model.Get <Guid?>(_repositoryUidProperty);

            if (repositoryUid == null)
            {
                yield break;
            }

            var repo       = RepositoryActivator.ActivateRepository <ISupportsCmsForms>(repositoryUid.Value);
            var entityType = repo.New().GetType();
            var apiAttr    = entityType.GetCustomAttribute <WarpCoreEntityAttribute>();

            yield return(new ListOption
            {
                Text = entityType.GetDisplayName(),
                Value = apiAttr?.TypeExtensionUid.ToString()
            });
        }
예제 #4
0
        public IEnumerable <ListOption> GetOptions(ConfiguratorBuildArguments buildArguments, IDictionary <string, string> model)
        {
            var propertiesFilered = new List <PropertyInfo>();// ConfiguratorEditingContextHelper.PropertiesFilered(buildArguments);

            if (_propertyTypes != null)
            {
                propertiesFilered = propertiesFilered.Where(x => _propertyTypes.Contains(x.PropertyType)).ToList();
            }

            foreach (var prop in propertiesFilered)
            {
                var metadata = ToolboxMetadataReader.GetPropertyMetadata(prop);
                var label    = PropertyDataSourceHelper.CreateListOptionLabel(metadata);

                yield return(new ListOption
                {
                    Text = label,
                    Value = prop.Name
                });
            }
        }