public static CommitSelectionExpression ByAuthors( this CommitSelectionExpression parentExp) { return(parentExp.Reselect(s => from c in s join a in parentExp.Selection <Author>() on c.AuthorId equals a.Id select c )); }
public static CommitSelectionExpression ContainModifications(this CommitSelectionExpression parentExp) { return(parentExp.Reselect(s => ( from c in s join m in parentExp.Selection <Modification>() on c.Number equals m.CommitNumber select c ).Distinct() )); }
public static CommitSelectionExpression TouchFiles(this CommitSelectionExpression parentExp) { return(parentExp.Reselect(s => ( from c in s join m in parentExp.Queryable <Modification>() on c.Number equals m.CommitNumber join f in parentExp.Selection <CodeFile>() on m.FileId equals f.Id select c ).Distinct() )); }
public static CommitSelectionExpression NotByAuthors( this CommitSelectionExpression parentExp) { return(parentExp.Reselect(s => from c in s join a in parentExp.Selection <Author>() on c.AuthorId equals a.Id into agroup from author in agroup.DefaultIfEmpty() where author == null select c )); }
public static CommitSelectionExpression WithTags( this CommitSelectionExpression parentExp, params string[] tags) { return(parentExp.Reselect(s => (from c in s join ca in parentExp.Selection <CommitAttribute>() on c.Number equals ca.CommitNumber where ca.Type == CommitAttribute.TAG && tags.Contains(ca.Data) select c).Distinct() )); }