Adding access to current settings in settings builders

This commit is contained in:
Sebastien Ros
2014-07-26 08:05:59 -07:00
parent f9bd4f7c75
commit 3e807fd6f1
3 changed files with 14 additions and 0 deletions

View File

@@ -11,12 +11,15 @@ namespace Orchard.ContentManagement.MetaData.Builders {
private readonly IList<ContentPartFieldDefinition> _fields;
private readonly SettingsDictionary _settings;
public ContentPartDefinition Current { get; private set; }
public ContentPartDefinitionBuilder()
: this(new ContentPartDefinition(null)) {
}
public ContentPartDefinitionBuilder(ContentPartDefinition existing) {
_part = existing;
if (existing == null) {
_fields = new List<ContentPartFieldDefinition>();
_settings = new SettingsDictionary();

View File

@@ -5,7 +5,11 @@ namespace Orchard.ContentManagement.MetaData.Builders {
public abstract class ContentPartFieldDefinitionBuilder {
protected readonly SettingsDictionary _settings;
public ContentPartFieldDefinition Current { get; private set; }
protected ContentPartFieldDefinitionBuilder(ContentPartFieldDefinition field) {
Current = field;
_settings = new SettingsDictionary(field.Settings.ToDictionary(kv => kv.Key, kv => kv.Value));
}

View File

@@ -10,11 +10,15 @@ namespace Orchard.ContentManagement.MetaData.Builders {
private readonly IList<ContentTypePartDefinition> _parts;
private readonly SettingsDictionary _settings;
public ContentTypeDefinition Current { get; private set; }
public ContentTypeDefinitionBuilder()
: this(new ContentTypeDefinition(null, null)) {
}
public ContentTypeDefinitionBuilder(ContentTypeDefinition existing) {
Current = existing;
if (existing == null) {
_parts = new List<ContentTypePartDefinition>();
_settings = new SettingsDictionary();
@@ -81,8 +85,11 @@ namespace Orchard.ContentManagement.MetaData.Builders {
class PartConfigurerImpl : ContentTypePartDefinitionBuilder {
private readonly ContentPartDefinition _partDefinition;
public ContentTypePartDefinition Current { get; private set; }
public PartConfigurerImpl(ContentTypePartDefinition part)
: base(part) {
Current = part;
_partDefinition = part.PartDefinition;
}