public IList <Project> FindBy(IList <MarketSegment> segments, bool completed) { StringBuilder builder = this.GetBaseQueryBuilder(); if (completed) { builder.Append(" WHERE p.ActualCompletionDate IS NOT NULL AND p.PercentComplete > 99"); } else { builder.Append(" WHERE p.ActualCompletionDate IS NULL AND p.PercentComplete < 100"); } if (segments != null || segments.Count > 0) { builder.Append(string.Format(" AND p.MarketSegmentID IN ({0})", DataHelper.EntityListToDelimited(segments).ToString())); } builder.Append(";"); return(this.BuildEntitiesFromSql(builder.ToString())); }