.NET / C# - Get the next semi-week end date : <p>I have the following code, which simulates a week start on Saturday and then divides the week in 2 parts, returning Tuesday if the given date is Sat-Tue, else it returns Fri, however, I feel i'm doing something wrong, and that the code could be simplified, but I can't figure out how.</p>

<pre><code>private static DateTime SemiWeeklyEndDate(DateTime date)
{
    if (((7 + (date.DayOfWeek - DayOfWeek.Saturday)) % 7) &lt;= ((7 + (DayOfWeek.Tuesday - DayOfWeek.Saturday)) % 7))
        return date.AddDays((((int)DayOfWeek.Tuesday - (int)date.DayOfWeek + 7) % 7));

    return date.AddDays((((int)DayOfWeek.Friday - (int)date.DayOfWeek + 7) % 7));
}
</code></pre>
