int daysToAdd = weekDaysToAdd + ((weekDaysToAdd / 5) * 2) + (((origDate.DOW + (weekDaysToAdd % 5)) >= 5) ? 2 : 0);
Для остроумия; количество «настоящих» дней, которые нужно добавить, - это количество дней недели, которые вы указываете, плюс количество полных недель в этом общем количестве (следовательно, weekDaysToAdd / 5) раз два (два дня в выходные); плюс потенциальное смещение в два дня, если исходный день недели плюс количество будних дней для добавления «в пределах» недели (следовательно, weekDaysToAdd mod 5) больше или равно 5 (т. е. является выходным днем).
Примечание: это работает при условии, что 0 = понедельник, 2 = вторник, ... 6 = воскресенье. Также; это не работает на отрицательных рабочих днях.