Example #1
0
 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
                               ));
 }
Example #2
0
 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()
                               ));
 }
Example #3
0
 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()
                               ));
 }
Example #4
0
 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
                               ));
 }
Example #5
0
 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()
                               ));
 }