public void JoinTestMethod1() { var joinQuery = from cust in this.baseCustomerQuery join ctr in this.baseContractQuery on cust.Id equals ctr.CustomerId into joined select new Customer() { Id = cust.Id, Vorname = cust.Vorname, Nachname = cust.Nachname, Age = cust.Age, Contracts = joined }; //var r = joinQuery.ToList(); var query = new EnumerableSource <Customer>().Where(x => x.Contracts.Any(c => c.Descriptions.Contains("test"))).OrderByDescending(x => x.Nachname); var node = query.Serialize(); var expression = new QNodeConverter().Convert(joinQuery, node); var target = joinQuery.Execute(expression) as List <Customer>; var source = this.customers.AsQueryable().Execute(expression) as List <Customer>; Assert.AreEqual(target.Count, source.Count); for (int i = 0; i < target.Count; i++) { Assert.AreEqual(target[i].Vorname, source[i].Vorname); Assert.AreEqual(target[i].Nachname, source[i].Nachname); } }
public void CountMethod1() { var query = new EnumerableSource<PersonDto>().Where(x => x.Mitarbeiters.Count > 0); var node = query.Serialize(); var converter = new QNodeConverter(); var expression = converter.Convert(this.persons.AsQueryable(),node); var result = this.persons.AsQueryable().Execute(expression); }
public void SkipMethod1() { var query = new EnumerableSource<PersonDto>().Where(x => x.Vorname.EndsWith("a")).OrderBy(x => x.Vorname).Skip(1); var node = query.Serialize(); var converter = new QNodeConverter(); var expression = converter.Convert(this.persons.AsQueryable(),node); var result = this.persons.AsQueryable().Execute(expression); }
public void TestMethod1() { var query = new EnumerableSource<PersonDto>().Where(x => x.Vorname.Contains("a")); var node = query.Serialize(); var converter = new QNodeConverter(); var expression = converter.Convert(this.persons.AsQueryable(),node); var result = this.persons.AsQueryable().Execute(expression); }
public void QueryStringMethod3() { var source = new DynamicSource().QueryString("a", new List<string>() { "Vorname" , "Nachname" , "Leiter.Vorname" }); var node = source.Query; var converter = new QNodeConverter(); var expression = converter.Convert(this.persons.AsQueryable(),node); var result = this.persons.AsQueryable().Execute(expression); }
public void QueryStringMethod2() { var query = new EnumerableSource<PersonDto>().QueryString("a", dto => new object[] { dto.Vorname, dto.Nachname, dto.Leiter.Vorname }); var node = query.Serialize(); var converter = new QNodeConverter(); var expression = converter.Convert(this.persons.AsQueryable(), node); var result = this.persons.AsQueryable().Execute(expression); }
public void InTestMethod() { var list = new List<string>() { "Hans" , "Dirk" }; var query = new EnumerableSource<PersonDto>().Where(x => list.Contains(x.Vorname)); var node = query.Serialize(); var converter = new QNodeConverter(); var expression = converter.Convert(this.persons.AsQueryable(),node); var result = this.persons.AsQueryable().Execute(expression); }
public void ProjectionTestMethod1() { var query = new EnumerableSource <Customer>().Select(x => new { name = x.Vorname }); var node = query.Serialize(); var sourceExpression = new QNodeConverter().Convert(this.baseCustomerQuery, node); var source = this.baseCustomerQuery.Execute(sourceExpression); var targetExpression = new QNodeConverter().Convert(this.customers.AsQueryable(), node); var target = this.customers.AsQueryable().Execute(targetExpression); //Assert.AreEqual(target.Count, source.Count); //for (int i = 0; i < target.Count; i++) //{ // Assert.AreEqual(target[i].Vorname, source[i].Vorname); // Assert.AreEqual(target[i].Nachname, source[i].Nachname); //} }
public void ProjectionTestMethod1() { var v = this.baseCustomerQuery.SelectMany(x => x.Contracts).Where(c => c.Descriptions.ToLower().Contains("test")).ToList(); var query = new EnumerableSource <Customer>().Select(x => new { Vorname = x.Vorname, Contracts = x.Contracts }); var node = query.Serialize(); var sourceExpression = new QNodeConverter().Convert(this.baseCustomerQuery, node); var source = this.baseCustomerQuery.Execute(sourceExpression); var targetExpression = new QNodeConverter().Convert(this.customers.AsQueryable(), node); var target = this.customers.AsQueryable().Execute(targetExpression); //Assert.AreEqual(target.Count, source.Count); //for (int i = 0; i < target.Count; i++) //{ // Assert.AreEqual(target[i].Vorname, source[i].Vorname); // Assert.AreEqual(target[i].Nachname, source[i].Nachname); //} }
public void WhereTestMethod1() { var query = new EnumerableSource <Customer>().Where(x => x.Vorname.ToLower().Contains("d")); var node = query.Serialize(); var sourceExpression = new QNodeConverter().Convert(this.baseCustomerQuery, node); var source = this.baseCustomerQuery.Execute(sourceExpression) as List <Customer>; var targetExpression = new QNodeConverter(new QNodeConverterSettings() { QueryStringIgnoreCase = false }).Convert(this.customers.AsQueryable(), node); var target = this.customers.AsQueryable().Execute(targetExpression) as List <Customer>; Assert.AreEqual(target.Count, source.Count); for (int i = 0; i < target.Count; i++) { Assert.AreEqual(target[i].Vorname, source[i].Vorname); Assert.AreEqual(target[i].Nachname, source[i].Nachname); } }