示例#1
0
        public void Parse_WithVirtualRelationEndPoint()
        {
            var orderClassDefinition = MappingConfiguration.Current.GetTypeDefinition(typeof(Order));
            var parser = new SortExpressionParser(orderClassDefinition);

            var sortExpression = "OrderTicket";

            parser.Parse(sortExpression);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
            }
        }
示例#5
0
        public void Parse_Empty()
        {
            var sortExpression = "";

            var result = _parser.Parse(sortExpression);

            Assert.That(result, Is.Null);
        }