<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwiz.co.uk/rss_namespace/">
 <channel>
  <title>DevForce Community Forum : PredicateDescription and Composite</title>
  <link>http://www.ideablade.com/forum/</link>
  <description>This is an XML content feed of; DevForce Community Forum : DevForce 2012 : PredicateDescription and Composite</description>
  <pubDate>Fri, 10 Apr 2026 18:55:43 -700</pubDate>
  <lastBuildDate>Wed, 12 Mar 2014 12:02:05 -700</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 9.69</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>www.ideablade.com/forum/RSS_post_feed.asp?TID=4655</WebWizForums:feedURL>
  <image>
   <title>DevForce Community Forum</title>
   <url>http://www.ideablade.com/forum/forum_images/IdeaBlade_logo_tm.png</url>
   <link>http://www.ideablade.com/forum/</link>
  </image>
  <item>
   <title>PredicateDescription and Composite : thanks to Jay from IdeaBlade,...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=4655&amp;PID=17406#17406</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=202" rel="nofollow">BillG</a><br /><strong>Subject:</strong> 4655<br /><strong>Posted:</strong> 12-Mar-2014 at 12:02pm<br /><br />thanks to Jay from IdeaBlade, I have a solution to my problem which i wish to share in case others come across this same situation.<br><br>This code allows me to pass a Query Object to my Repository GetMembers() method and then build a predicateDescription for each property of the QueryObject that is not null. i then pass the PredicateDescription objects to the CombinePreds as an arrary and the CombinePreds picks out the non nulls ones and combines them. It then passes the combined one back to my Get method which then is used in the .Where clause of the query.<br><br>Thans again to Jay for your help. As I have always said IdeaBlade has a great support team for the customers.<br><br><pre style="font-family:C&#111;nsolas;font-size:13;color:black;:white;"><span style="color:blue;">public</span>&nbsp;<span style="color:#2b91af;">IPredicateDescription</span>&nbsp;CombinePreds(<span style="color:blue;">params</span>&nbsp;<span style="color:#2b91af;">PredicateDescription</span>&#091;&#093;&nbsp;preds)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">var</span>&nbsp;nonNullPreds&nbsp;=&nbsp;preds.Where(pd&nbsp;=&gt;&nbsp;pd&nbsp;!=&nbsp;<span style="color:blue;">null</span>).ToArray();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">var</span>&nbsp;result&nbsp;=&nbsp;<span style="color:#2b91af;">PredicateBuilder</span>.And(nonNullPreds);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">return</span>&nbsp;result;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">public</span>&nbsp;<span style="color:#2b91af;">IEnumerable</span>&lt;<span style="color:#2b91af;">MembersList</span>&gt;&nbsp;GetMembers(<span style="color:#2b91af;">MemberQO</span>&nbsp;memberQO)&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af;">IPredicateDescription</span>&nbsp;compositePred;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:#2b91af;">PredicateDescription</span>&nbsp;p1&nbsp;=&nbsp;<span style="color:blue;">null</span>,&nbsp;p2&nbsp;=&nbsp;<span style="color:blue;">null</span>,&nbsp;p3&nbsp;=&nbsp;<span style="color:blue;">null</span>,&nbsp;p4&nbsp;=&nbsp;<span style="color:blue;">null</span>,&nbsp;p5&nbsp;=&nbsp;<span style="color:blue;">null</span>,&nbsp;p6&nbsp;=&nbsp;<span style="color:blue;">null</span>; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">if</span>&nbsp;(memberQO.SocSecNo&nbsp;!=&nbsp;<span style="color:blue;">null</span>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p1&nbsp;=&nbsp;<span style="color:#2b91af;">PredicateBuilder</span>.Make(<span style="color:blue;">typeof</span>&nbsp;(<span style="color:#2b91af;">MembersList</span>),&nbsp;<span style="color:#a31515;">"SocSecNo"</span>,&nbsp;<span style="color:#2b91af;">FilterOperator</span>.IsEqualTo,&nbsp;&nbsp;memberQO.SocSecNo);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">if</span>&nbsp;(memberQO.CardNo&nbsp;!=&nbsp;<span style="color:blue;">null</span>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p2&nbsp;=&nbsp;<span style="color:#2b91af;">PredicateBuilder</span>.Make(<span style="color:blue;">typeof</span>&nbsp;(<span style="color:#2b91af;">MembersList</span>),&nbsp;<span style="color:#a31515;">"CardNo"</span>,&nbsp;<span style="color:#2b91af;">FilterOperator</span>.IsEqualTo,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memberQO.CardNo);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">if</span>&nbsp;(memberQO.EmployeeNo&nbsp;!=&nbsp;<span style="color:blue;">null</span>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p3&nbsp;=&nbsp;<span style="color:#2b91af;">PredicateBuilder</span>.Make(<span style="color:blue;">typeof</span>(<span style="color:#2b91af;">MembersList</span>),&nbsp;<span style="color:#a31515;">"EmployeeNumber"</span>,&nbsp;<span style="color:#2b91af;">FilterOperator</span>.IsEqualTo,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memberQO.EmployeeNo);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">if</span>&nbsp;(memberQO.LastName&nbsp;!=&nbsp;<span style="color:blue;">null</span>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p3&nbsp;=&nbsp;<span style="color:#2b91af;">PredicateBuilder</span>.Make(<span style="color:blue;">typeof</span>&nbsp;(<span style="color:#2b91af;">MembersList</span>),&nbsp;<span style="color:#a31515;">"LastName"</span>,&nbsp;<span style="color:#2b91af;">FilterOperator</span>.StartsWith,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memberQO.LastName); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">if</span>&nbsp;(memberQO.FirstName&nbsp;!=&nbsp;<span style="color:blue;">null</span>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p4&nbsp;=&nbsp;<span style="color:#2b91af;">PredicateBuilder</span>.Make(<span style="color:blue;">typeof</span>(<span style="color:#2b91af;">MembersList</span>),&nbsp;<span style="color:#a31515;">"FirstName"</span>,&nbsp;<span style="color:#2b91af;">FilterOperator</span>.StartsWith,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memberQO.FirstName);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">if</span>&nbsp;(memberQO.Office&nbsp;!=&nbsp;<span style="color:blue;">null</span>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p5&nbsp;=&nbsp;<span style="color:#2b91af;">PredicateBuilder</span>.Make(<span style="color:blue;">typeof</span>(<span style="color:#2b91af;">MembersList</span>),&nbsp;<span style="color:#a31515;">"Office"</span>,&nbsp;<span style="color:#2b91af;">FilterOperator</span>.IsEqualTo,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memberQO.Office);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">if</span>&nbsp;(memberQO.Status&nbsp;!=&nbsp;<span style="color:blue;">null</span>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p6&nbsp;=&nbsp;<span style="color:#2b91af;">PredicateBuilder</span>.Make(<span style="color:blue;">typeof</span>(<span style="color:#2b91af;">MembersList</span>),&nbsp;<span style="color:#a31515;">"Status"</span>,&nbsp;<span style="color:#2b91af;">FilterOperator</span>.IsEqualTo,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memberQO.Status);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;compositePred&nbsp;=&nbsp;CombinePreds(p1,&nbsp;p2,&nbsp;p3,&nbsp;p4,&nbsp;p5,&nbsp;p6); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">var</span>&nbsp;query&nbsp;=&nbsp;Manager.MembersLists&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Where(compositePred)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.OrderBy(m&nbsp;=&gt;&nbsp;m.SocSecNo); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">var</span>&nbsp;results&nbsp;=&nbsp;query.Execute();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color:blue;">return</span>&nbsp;results;&nbsp;&nbsp;&nbsp;&nbsp;}</pre><br>]]>
   </description>
   <pubDate>Wed, 12 Mar 2014 12:02:05 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=4655&amp;PID=17406#17406</guid>
  </item> 
  <item>
   <title>PredicateDescription and Composite : Hi Bill,This page that shows how...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=4655&amp;PID=17403#17403</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=912" rel="nofollow">DenisK</a><br /><strong>Subject:</strong> 4655<br /><strong>Posted:</strong> 11-Mar-2014 at 9:36am<br /><br />Hi Bill,<div><br></div><div>This page that shows how to create a completely dynamic DevForce queries might also interest you.</div><div><br></div><div><p ="Ms&#111;normal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;  color:#1F497D"><a href="http://drc.ideablade.com/devforce-2012/bin/view/&#068;ocumentati&#111;n/dynamic-queries" target="_blank">http://drc.ideablade.com/devforce-2012/bin/view/Documentation/dynamic-queries</a><o:p></o:p></span></p></div>]]>
   </description>
   <pubDate>Tue, 11 Mar 2014 09:36:23 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=4655&amp;PID=17403#17403</guid>
  </item> 
  <item>
   <title>PredicateDescription and Composite : Hi Bill,This should take you in...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=4655&amp;PID=17397#17397</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=912" rel="nofollow">DenisK</a><br /><strong>Subject:</strong> 4655<br /><strong>Posted:</strong> 07-Mar-2014 at 6:48pm<br /><br />Hi Bill,<div><br></div><div>This should take you in the right directions.</div><div><br></div><div>http://drc.ideablade.com/devforce-2012/bin/view/Documentation/predicatebuilder-methods</div>]]>
   </description>
   <pubDate>Fri, 07 Mar 2014 18:48:20 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=4655&amp;PID=17397#17397</guid>
  </item> 
  <item>
   <title>PredicateDescription and Composite : any help on this one?  </title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=4655&amp;PID=17396#17396</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=202" rel="nofollow">BillG</a><br /><strong>Subject:</strong> 4655<br /><strong>Posted:</strong> 07-Mar-2014 at 12:41pm<br /><br />any help on this one?<br />]]>
   </description>
   <pubDate>Fri, 07 Mar 2014 12:41:58 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=4655&amp;PID=17396#17396</guid>
  </item> 
  <item>
   <title>PredicateDescription and Composite : I have a form with 6 fields on...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=4655&amp;PID=17395#17395</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=202" rel="nofollow">BillG</a><br /><strong>Subject:</strong> 4655<br /><strong>Posted:</strong> 06-Mar-2014 at 7:01am<br /><br />I have a form with 6 fields on it which are search criteria fields. They are SSN, EmployeeNo, CarcNo, LastName, FirstName, Status and office. When the user clicks Find, I check to see which ones are filled in and I build a MemberQO query object. I then pass the MemberQO to my Repository method GetMembers() where I do the following.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public IEnumerable&lt;MembersList&gt; GetMembers(MemberQO memberQO)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CompositePredicateDescription cpd;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PredicateDescription p1, p2, p3, p4, p5, p6 = null;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (memberQO.SocSecNo != string.Empty)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  p1 = PredicateBuilder.Make(typeof (Member), "SocSecNo", FilterOperator.IsEqualTo,  memberQO.SocSecNo);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (memberQO.CardNo != string.Empty)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  p2 = PredicateBuilder.Make(typeof (Member), "CardNo", FilterOperator.IsEqualTo,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memberQO.CardNo);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (memberQO.EmployeeNo != string.Empty)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  p3 = PredicateBuilder.Make(typeof(Member), "EmployeeNumber", FilterOperator.IsEqualTo,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memberQO.EmployeeNo);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (memberQO.LastName != string.Empty)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p3 = PredicateBuilder.Make(typeof (Member), "LastName", FilterOperator.IsEqualTo,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memberQO.LastName);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (memberQO.FirstName != string.Empty)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  p4 = PredicateBuilder.Make(typeof(Member), "FirstName", FilterOperator.IsEqualTo,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memberQO.FirstName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (memberQO.Office != string.Empty)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p5 = PredicateBuilder.Make(typeof(Member), "Office", FilterOperator.IsEqualTo,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memberQO.Office);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (memberQO.Status != string.Empty)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  p6 = PredicateBuilder.Make(typeof(Member), "Status", FilterOperator.IsEqualTo,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memberQO.Status);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var query = Manager.MembersLists<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  .OrderBy(m =&gt; m.SocSecNo);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var results = query.Execute();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return results;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;Now what is the best way to combine those into a CompositePredicateDescription, None, some, or all of the search fields could be used.<br />]]>
   </description>
   <pubDate>Thu, 06 Mar 2014 07:01:30 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=4655&amp;PID=17395#17395</guid>
  </item> 
 </channel>
</rss>