/// <summary> /// Asserts that two configurations have the same properties. /// </summary> private static void AssertConfigsAreEqual(QueryAlias x, QueryAlias y) { Assert.IsNotNull(x); Assert.IsNotNull(y); Assert.AreEqual(x.FullName, y.FullName); Assert.AreEqual(x.Alias, y.Alias); }
public override Node VisitQueryAlias(QueryAlias alias) { base.VisitQueryAlias(alias); Composer c = this.GetComposer(alias.Expression); if (c == null) { c = this.contextComposer; } Expression res = (Expression)this.Compose(alias, c); return(res); }
public GetAlbumsByGenreResponse GetAlbumsByGenre(GetAlbumsByGenreRequest request) { var response = new GetAlbumsByGenreResponse(); var albumQuery = new Query(); albumQuery.AddAlias(QueryAlias.CreateAlias <Album>(g => g.Genre)); albumQuery.Add(Criterion.Create <Album, Genre>(a => a.Genre, g => g.Name, request.Genre, CriteriaOperator.Equal)); var albums = _albumRepository.FindAll(albumQuery); response.Albums = albums.ConvertToAlbumViews(); return(response); }
public virtual Node VisitQueryAlias(QueryAlias alias, QueryAlias changes, QueryAlias deletions, QueryAlias insertions){ this.UpdateSourceContext(alias, changes); if (alias == null) return changes; if (changes != null){ if (deletions == null || insertions == null) Debug.Assert(false); else{ } }else if (deletions != null) return null; return alias; }
public virtual Differences VisitQueryAlias(QueryAlias alias1, QueryAlias alias2){ Differences differences = new Differences(alias1, alias2); if (alias1 == null || alias2 == null){ if (alias1 != alias2) differences.NumberOfDifferences++; else differences.NumberOfSimilarities++; return differences; } QueryAlias changes = (QueryAlias)alias2.Clone(); QueryAlias deletions = (QueryAlias)alias2.Clone(); QueryAlias insertions = (QueryAlias)alias2.Clone(); Differences diff = this.VisitExpression(alias1.Expression, alias2.Expression); if (diff == null){Debug.Assert(false); return differences;} changes.Expression = diff.Changes as Expression; deletions.Expression = diff.Deletions as Expression; insertions.Expression = diff.Insertions as Expression; Debug.Assert(diff.Changes == changes.Expression && diff.Deletions == deletions.Expression && diff.Insertions == insertions.Expression); differences.NumberOfDifferences += diff.NumberOfDifferences; differences.NumberOfSimilarities += diff.NumberOfSimilarities; diff = this.VisitIdentifier(alias1.Name, alias2.Name); if (diff == null){Debug.Assert(false); return differences;} changes.Name = diff.Changes as Identifier; deletions.Name = diff.Deletions as Identifier; insertions.Name = diff.Insertions as Identifier; Debug.Assert(diff.Changes == changes.Name && diff.Deletions == deletions.Name && diff.Insertions == insertions.Name); differences.NumberOfDifferences += diff.NumberOfDifferences; differences.NumberOfSimilarities += diff.NumberOfSimilarities; if (differences.NumberOfDifferences == 0){ differences.Changes = null; differences.Deletions = null; differences.Insertions = null; }else{ differences.Changes = changes; differences.Deletions = deletions; differences.Insertions = insertions; } return differences; }
public virtual Node VisitQueryAlias(QueryAlias alias){ if (alias == null) return null; alias.Expression = this.VisitExpression(alias.Expression); return alias; }
public override Node VisitQueryAlias(QueryAlias qa) { if (qa == null) return null; qa.Expression = this.VisitExpression(qa.Expression); if (qa.Type == null || qa.Expression == null || qa.Expression.Type == null) return null; return qa; }
public override Node VisitQueryAlias(QueryAlias alias){ if (alias == null) return null; alias.Expression = this.VisitExpression(alias.Expression); alias.Type = alias.Expression.Type; return alias; }
public virtual void VisitQueryAlias(QueryAlias alias){ if (alias == null) return; this.VisitExpression(alias.Expression); }
public override Node VisitQueryAlias(QueryAlias alias){ if (alias == null) return null; return base.VisitQueryAlias((QueryAlias)alias.Clone()); }
public virtual Node VisitQueryAlias(QueryAlias alias1, QueryAlias alias2){ if (alias1 == null) return null; if (alias2 == null) alias1.Expression = this.VisitExpression(alias1.Expression, null); else alias1.Expression = this.VisitExpression(alias1.Expression, alias2.Expression); return alias1; }
public override Node VisitQueryAlias(QueryAlias qa) { return this.Visit(qa.Expression); }
public void AddAlias(QueryAlias alias) { _aliases.Add(alias); }
public override Node VisitQueryAlias(QueryAlias alias) { base.VisitQueryAlias(alias); Composer c = this.GetComposer(alias.Expression); if (c == null) c = this.contextComposer; Expression res = (Expression) this.Compose(alias, c); return res; }
public EventingVisitor(Action<QueryAlias> visitQueryAlias) { VisitedQueryAlias += visitQueryAlias; } public event Action<QueryAlias> VisitedQueryAlias; public override Node VisitQueryAlias(QueryAlias alias) { if (VisitedQueryAlias != null) VisitedQueryAlias(alias); return base.VisitQueryAlias(alias); }