I'd probably actually break it into TimeSpan arithmetic for the sake of clarity and the fact that it won't require comments or so many brackets:
var accumulator = new TimeSpan();
accumulator.Add(TimeSpan.FromMinutes(currentTimeOfDayInMinutes));
accumulator.Add(TimeSpan.FromDays(dayOfTheWeek));
// ... etc - can't be bothered to do the rest...
var nextAlertDate = currentDate.Add(accumulator);
No magic numbers, no arithmetic and clear to anyone who understands the TimeSpan class (which is the all powerful lord of the fourth dimension in .Net).Oh and I work on a 1280x800 screen on an old ThinkPad T61. If the function doesn't fit on that, I'm concerned :)