public PropertyGroupBuilder <MemberTypeBuilder> AddPropertyGroup()
        {
            var builder = new PropertyGroupBuilder <MemberTypeBuilder>(this);

            _propertyGroupBuilders.Add(builder);
            return(builder);
        }
        public MemberTypeBuilder WithMembershipPropertyGroup()
        {
            PropertyGroupBuilder <MemberTypeBuilder> builder = new PropertyGroupBuilder <MemberTypeBuilder>(this)
                                                               .WithId(99)
                                                               .WithName(Constants.Conventions.Member.StandardPropertiesGroupName)
                                                               .AddPropertyType()
                                                               .WithPropertyEditorAlias(Constants.PropertyEditors.Aliases.TextArea)
                                                               .WithValueStorageType(ValueStorageType.Ntext)
                                                               .WithAlias(Constants.Conventions.Member.Comments)
                                                               .WithName(Constants.Conventions.Member.CommentsLabel)
                                                               .Done()
                                                               .AddPropertyType()
                                                               .WithPropertyEditorAlias(Constants.PropertyEditors.Aliases.Boolean)
                                                               .WithValueStorageType(ValueStorageType.Integer)
                                                               .WithAlias(Constants.Conventions.Member.IsApproved)
                                                               .WithName(Constants.Conventions.Member.IsApprovedLabel)
                                                               .Done()
                                                               .AddPropertyType()
                                                               .WithPropertyEditorAlias(Constants.PropertyEditors.Aliases.Boolean)
                                                               .WithValueStorageType(ValueStorageType.Integer)
                                                               .WithAlias(Constants.Conventions.Member.IsLockedOut)
                                                               .WithName(Constants.Conventions.Member.IsLockedOutLabel)
                                                               .Done()
                                                               .AddPropertyType()
                                                               .WithPropertyEditorAlias(Constants.PropertyEditors.Aliases.Label)
                                                               .WithValueStorageType(ValueStorageType.Date)
                                                               .WithAlias(Constants.Conventions.Member.LastLoginDate)
                                                               .WithName(Constants.Conventions.Member.LastLoginDateLabel)
                                                               .Done()
                                                               .AddPropertyType()
                                                               .WithPropertyEditorAlias(Constants.PropertyEditors.Aliases.Label)
                                                               .WithValueStorageType(ValueStorageType.Date)
                                                               .WithAlias(Constants.Conventions.Member.LastPasswordChangeDate)
                                                               .WithName(Constants.Conventions.Member.LastPasswordChangeDateLabel)
                                                               .Done()
                                                               .AddPropertyType()
                                                               .WithPropertyEditorAlias(Constants.PropertyEditors.Aliases.Label)
                                                               .WithValueStorageType(ValueStorageType.Date)
                                                               .WithAlias(Constants.Conventions.Member.LastLockoutDate)
                                                               .WithName(Constants.Conventions.Member.LastLockoutDateLabel)
                                                               .Done()
                                                               .AddPropertyType()
                                                               .WithPropertyEditorAlias(Constants.PropertyEditors.Aliases.Label)
                                                               .WithValueStorageType(ValueStorageType.Integer)
                                                               .WithAlias(Constants.Conventions.Member.FailedPasswordAttempts)
                                                               .WithName(Constants.Conventions.Member.FailedPasswordAttemptsLabel)
                                                               .Done();

            _propertyGroupBuilders.Add(builder);
            return(this);
        }
        public MediaTypeBuilder WithMediaPropertyGroup()
        {
            PropertyGroupBuilder <MediaTypeBuilder> builder = new PropertyGroupBuilder <MediaTypeBuilder>(this)
                                                              .WithId(99)
                                                              .WithName("Media")
                                                              .WithSortOrder(1)
                                                              .AddPropertyType()
                                                              .WithPropertyEditorAlias(Constants.PropertyEditors.Aliases.UploadField)
                                                              .WithValueStorageType(ValueStorageType.Nvarchar)
                                                              .WithAlias(Constants.Conventions.Media.File)
                                                              .WithName("File")
                                                              .WithSortOrder(1)
                                                              .WithDataTypeId(-90)
                                                              .Done()
                                                              .AddPropertyType()
                                                              .WithPropertyEditorAlias(Constants.PropertyEditors.Aliases.Label)
                                                              .WithValueStorageType(ValueStorageType.Integer)
                                                              .WithAlias(Constants.Conventions.Media.Width)
                                                              .WithName("Width")
                                                              .WithSortOrder(2)
                                                              .WithDataTypeId(Constants.System.DefaultLabelDataTypeId)
                                                              .Done()
                                                              .AddPropertyType()
                                                              .WithPropertyEditorAlias(Constants.PropertyEditors.Aliases.Label)
                                                              .WithValueStorageType(ValueStorageType.Integer)
                                                              .WithAlias(Constants.Conventions.Media.Height)
                                                              .WithName("Height")
                                                              .WithSortOrder(3)
                                                              .WithDataTypeId(Constants.System.DefaultLabelDataTypeId)
                                                              .Done()
                                                              .AddPropertyType()
                                                              .WithPropertyEditorAlias(Constants.PropertyEditors.Aliases.Label)
                                                              .WithValueStorageType(ValueStorageType.Integer)
                                                              .WithAlias(Constants.Conventions.Media.Bytes)
                                                              .WithName("Bytes")
                                                              .WithSortOrder(4)
                                                              .WithDataTypeId(Constants.System.DefaultLabelDataTypeId)
                                                              .Done()
                                                              .AddPropertyType()
                                                              .WithPropertyEditorAlias(Constants.PropertyEditors.Aliases.Label)
                                                              .WithValueStorageType(ValueStorageType.Nvarchar)
                                                              .WithAlias(Constants.Conventions.Media.Extension)
                                                              .WithName("File Extension")
                                                              .WithSortOrder(5)
                                                              .WithDataTypeId(Constants.System.DefaultLabelDataTypeId)
                                                              .Done();

            _propertyGroupBuilders.Add(builder);
            return(this);
        }
Exemple #4
0
        public MemberTypeBuilder WithMembershipPropertyGroup()
        {
            PropertyGroupBuilder <MemberTypeBuilder> builder = new PropertyGroupBuilder <MemberTypeBuilder>(this)
                                                               .WithId(99)
                                                               .WithName(Constants.Conventions.Member.StandardPropertiesGroupName)
                                                               .AddPropertyType()
                                                               .WithPropertyEditorAlias(Constants.PropertyEditors.Aliases.TextArea)
                                                               .WithValueStorageType(ValueStorageType.Ntext)
                                                               .WithAlias(Constants.Conventions.Member.Comments)
                                                               .WithName(Constants.Conventions.Member.CommentsLabel)
                                                               .Done();

            _propertyGroupBuilders.Add(builder);
            return(this);
        }
        public override IContentType Build()
        {
            ContentVariation contentVariation = _contentVariation ?? ContentVariation.Nothing;

            ContentType             contentType;
            IContentTypeComposition parent = GetParent();

            if (parent != null)
            {
                contentType = new ContentType(ShortStringHelper, (IContentType)parent, GetAlias());
            }
            else
            {
                contentType = new ContentType(ShortStringHelper, GetParentId())
                {
                    Alias = GetAlias(),
                };
            }

            contentType.Id          = GetId();
            contentType.Key         = GetKey();
            contentType.CreateDate  = GetCreateDate();
            contentType.UpdateDate  = GetUpdateDate();
            contentType.Name        = GetName();
            contentType.Level       = GetLevel();
            contentType.Path        = GetPath();
            contentType.SortOrder   = GetSortOrder();
            contentType.Description = GetDescription();
            contentType.Icon        = GetIcon();
            contentType.Thumbnail   = GetThumbnail();
            contentType.CreatorId   = GetCreatorId();
            contentType.Trashed     = GetTrashed();
            contentType.IsContainer = GetIsContainer();

            contentType.Variations = contentVariation;

            if (_propertyTypeCollection != null)
            {
                PropertyGroup propertyGroup = new PropertyGroupBuilder()
                                              .WithAlias("content")
                                              .WithName("Content")
                                              .WithSortOrder(1)
                                              .WithPropertyTypeCollection(_propertyTypeCollection)
                                              .Build();
                contentType.PropertyGroups.Add(propertyGroup);
            }
            else
            {
                contentType.NoGroupPropertyTypes = _noGroupPropertyTypeBuilders.Select(x => x.Build());
                BuildPropertyGroups(contentType, _propertyGroupBuilders.Select(x => x.Build()));
                BuildPropertyTypeIds(contentType, _propertyTypeIdsIncrementingFrom);
            }

            contentType.AllowedContentTypes = _allowedContentTypeBuilders.Select(x => x.Build());

            contentType.AllowedTemplates = _templateBuilders.Select(x => x.Build());
            if (_defaultTemplateId.HasValue)
            {
                contentType.SetDefaultTemplate(contentType.AllowedTemplates
                                               .SingleOrDefault(x => x.Id == _defaultTemplateId.Value));
            }

            contentType.ResetDirtyProperties(false);

            return(contentType);
        }