Decrease cyclomatic complexity of settings verification
<p>I have a brownfield application which has a complex method.  The CC is 14.  The if statements verify application settings and generate the appropriate inline SQL.  </p>

<p>E.G. This if statement checks the settings.  settings is custom code, a DTO with several <code>bool</code> (<strong>not</strong> <code>bool?</code>) properties.</p>

<pre><code>        string conditions = " AND (";

        List&lt;string&gt; conditionStrings = new List&lt;string&gt;();

        if (settings.AlwaysIncludeCommonResults &amp;&amp; settings.SelectedCommonLabs.Count &gt; 0)
        {
            string common = " (Table.Name in (";
            for (int i = 0; i &lt; settings.SelectedCommonLabs.Count; i++)
            {
                common += string.Format("'{0}'", settings.SelectedCommonLabs[i]);
                if (i &lt; settings.SelectedCommonLabs.Count - 1)
                    common += ", ";
            }
            common += ")) ";
            conditionStrings.Add(common);
        }

        if (settings.AlwaysSelectLast24HoursResults)
        {
            string last24 = " (DateDiff(hh, Table.PerformedDtm, GetDate()) &lt; 24) ";
            conditionStrings.Add(last24);
        }
</code></pre>

<p>I don't know what to do to simplify this bool logic.  Null coalesce?...I don't know that it will make this any better.  This pattern appears several more times in the same method.  So I hope to reuse the answer several times to decrease overall CC and increase readability.  What do you suggest?</p>

<p><strong>UPDATED</strong><br />
After deciding to rip out the first verification, added further method logic.</p>
