Hola!
En un momento, yo lo tuve que hacer... Y lo hice con clases standard.
Lamentablemente no me quedé con el código, pero la idea era...
(descartando que las fechas "desde" o "hasta" caigan en día "no habil")
1) Determinar la distancia desde la fecha "desde" al primer fin de semana. (con DayOfWeek)
2) Determinar la distancia desde el último fin de semana a la fecha "hasta"
3) Obtener la diferencia en semanas enteras, multiplicar por dos (Esto si "fin de semana" incluye sábado y domingo) y si la suma de ambas diferencias era mayor que 7 agregar 2.
La función era muy cortita, apenas 10 o 12 líneas...
Tal vez te sirva.
Saludos
--------------------------------------------------------
Alberto
"Success is not in what you have, but who you are." - Bo Bennett