Well...you don't do anything with count, unless it's a Saturday or Sunday, so you probably need to look at that, but the main problem is pretty obvious, if you quickly run trough with the debugger.
Put a breakpoint on this line:
for (var j = 0; j <= preDays; j++)
And look at the value of preDays.
What is it?
Answer, -4.
And is 0 <= -4 ?
No. So your loop is never executed - as you would have seen if you had tried using the debugger to step through the code. Probably, you wanted to reverse this:
TimeSpan preDiff = previousDate - startDate;
To this:
TimeSpan preDiff = startDate - previousDate;
But...since this just works out the number you first thought of -
daysInWeek
- why do it at all?