From b6141189cfb46104f74cae4f9a3f2cbc291f4fd1 Mon Sep 17 00:00:00 2001 From: Morten Christensen Date: Fri, 11 Jan 2013 08:52:38 -0100 Subject: [PATCH] Fixes regression bug after having updated the expression helpers yesterday --- .../Querying/ModelToSqlExpressionHelper.cs | 6 ++++++ .../Querying/PocoToSqlExpressionHelper.cs | 3 +-- .../Services/ContentServiceTests.cs | 17 +++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Core/Persistence/Querying/ModelToSqlExpressionHelper.cs b/src/Umbraco.Core/Persistence/Querying/ModelToSqlExpressionHelper.cs index ced82260e2..3f0495cfd5 100644 --- a/src/Umbraco.Core/Persistence/Querying/ModelToSqlExpressionHelper.cs +++ b/src/Umbraco.Core/Persistence/Querying/ModelToSqlExpressionHelper.cs @@ -155,6 +155,12 @@ namespace Umbraco.Core.Persistence.Querying var field = _mapper.Map(m.Member.Name); return field; } + + if (m.Expression != null && m.Expression.NodeType == ExpressionType.Convert) + { + var field = _mapper.Map(m.Member.Name); + return field; + } var member = Expression.Convert(m, typeof(object)); var lambda = Expression.Lambda>(member); diff --git a/src/Umbraco.Core/Persistence/Querying/PocoToSqlExpressionHelper.cs b/src/Umbraco.Core/Persistence/Querying/PocoToSqlExpressionHelper.cs index 4524095fde..39b0239844 100644 --- a/src/Umbraco.Core/Persistence/Querying/PocoToSqlExpressionHelper.cs +++ b/src/Umbraco.Core/Persistence/Querying/PocoToSqlExpressionHelper.cs @@ -159,13 +159,12 @@ namespace Umbraco.Core.Persistence.Querying return field; } - if (m.Expression != null && m.Expression.NodeType != ExpressionType.Constant) + if (m.Expression != null && m.Expression.NodeType == ExpressionType.Convert) { string field = GetFieldName(pd, m.Member.Name); return field; } - var member = Expression.Convert(m, typeof(object)); var lambda = Expression.Lambda>(member); var getter = lambda.Compile(); diff --git a/src/Umbraco.Tests/Services/ContentServiceTests.cs b/src/Umbraco.Tests/Services/ContentServiceTests.cs index 8c6ab28f56..ab3b79e5c3 100644 --- a/src/Umbraco.Tests/Services/ContentServiceTests.cs +++ b/src/Umbraco.Tests/Services/ContentServiceTests.cs @@ -203,6 +203,23 @@ namespace Umbraco.Tests.Services Assert.That(contents.Count(), Is.GreaterThanOrEqualTo(2)); } + [Test] + public void Can_Get_Descendents_Of_Contnet() + { + // Arrange + var contentService = ServiceContext.ContentService; + var hierarchy = CreateContentHierarchy(); + contentService.Save(hierarchy, 0); + + // Act + var contents = contentService.GetDescendants(1046); + + // Assert + Assert.That(contents, Is.Not.Null); + Assert.That(contents.Any(), Is.True); + Assert.That(contents.Count(), Is.EqualTo(53)); + } + [Test] public void Can_Get_All_Versions_Of_Content() {