public void Parse_WithVirtualRelationEndPoint() { var orderClassDefinition = MappingConfiguration.Current.GetTypeDefinition(typeof(Order)); var parser = new SortExpressionParser(orderClassDefinition); var sortExpression = "OrderTicket"; parser.Parse(sortExpression); }
public IQueryable <T> Parse(IQueryable <T> source, NameValueCollection queryParams) { if (queryParams.Count == 0) { return(source); } source = FilterExpressionParser.Parse(source, queryParams[FilterParameter]); source = SortExpressionParser.Parse(source, queryParams[OrderByParameter]); source = SelectExpressionParser.Parse(source, queryParams[SelectParameter]); return(source); }
public void Parse_WithDerivedProperty() { var partnerClassDefinition = MappingConfiguration.Current.GetTypeDefinition(typeof(Partner)); var parser = new SortExpressionParser(partnerClassDefinition); var sortExpression = "Remotion.Data.DomainObjects.UnitTests.TestDomain.Distributor.NumberOfShops"; var result = parser.Parse(sortExpression); var distributorClassDefinition = MappingConfiguration.Current.GetTypeDefinition(typeof(Distributor)); var numberOfShopsPropertyDefinition = distributorClassDefinition.GetMandatoryPropertyDefinition(sortExpression); var expected = new[] { SortExpressionDefinitionObjectMother.CreateSortedPropertyAscending(numberOfShopsPropertyDefinition) }; Assert.That(result.SortedProperties, Is.EqualTo(expected)); }
private SortExpressionDefinition ParseSortExpression(string sortExpressionText) { if (sortExpressionText == null) { return(null); } try { var parser = new SortExpressionParser(this.GetOppositeEndPointDefinition().ClassDefinition); return(parser.Parse(sortExpressionText)); } catch (MappingException ex) { var result = MappingValidationResult.CreateInvalidResultForProperty(PropertyInfo, ex.Message); throw new MappingException(result.Message, ex); } }
public void Parse_Empty() { var sortExpression = ""; var result = _parser.Parse(sortExpression); Assert.That(result, Is.Null); }