From 699987217f5fc0141fa08b52aab0e93c32d2d7c0 Mon Sep 17 00:00:00 2001 From: Suha Can Date: Fri, 11 Jun 2010 11:32:46 -0700 Subject: [PATCH] - Modifying Has and Get methods of the ContentPart, parts can contain multiple fields of the same type. --HG-- branch : dev --- src/Orchard/ContentManagement/ContentField.cs | 2 +- src/Orchard/ContentManagement/ContentPart.cs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Orchard/ContentManagement/ContentField.cs b/src/Orchard/ContentManagement/ContentField.cs index e1edebb52..111ce6310 100644 --- a/src/Orchard/ContentManagement/ContentField.cs +++ b/src/Orchard/ContentManagement/ContentField.cs @@ -5,7 +5,7 @@ using Orchard.ContentManagement.Utilities; namespace Orchard.ContentManagement { public class ContentField : ContentPart { public virtual ContentPart ContentPart { get; set; } - public string Name { get; set; } + public string Name { get { return PartFieldDefinition.Name; } } public IDictionary Settings { get; private set; } public new ContentPartDefinition PartDefinition { get { return ContentPart.PartDefinition; } } diff --git a/src/Orchard/ContentManagement/ContentPart.cs b/src/Orchard/ContentManagement/ContentPart.cs index 5c3f35728..7c6f2d7d6 100644 --- a/src/Orchard/ContentManagement/ContentPart.cs +++ b/src/Orchard/ContentManagement/ContentPart.cs @@ -20,14 +20,14 @@ namespace Orchard.ContentManagement { public IEnumerable Fields { get { return _fields; } } - public bool Has(Type fieldType) { - return fieldType == typeof(ContentItem) || _fields.Any(field => fieldType.IsAssignableFrom(field.GetType())); + public bool Has(Type fieldType, string fieldName) { + return fieldType == typeof(ContentItem) || _fields.Any(field => fieldType.IsAssignableFrom(field.GetType()) && field.Name == fieldName); } - public IContent Get(Type fieldType) { + public IContent Get(Type fieldType, string fieldName) { if (fieldType == typeof(ContentItem)) return this; - return _fields.FirstOrDefault(field => fieldType.IsAssignableFrom(field.GetType())); + return _fields.FirstOrDefault(field => fieldType.IsAssignableFrom(field.GetType()) && field.Name == fieldName); } public void Weld(ContentField field) {