To check if the date is a Saturday or Sunady I suggest datename.
You can check:
datename("dw", OrderDateTime) in ("Saturday", "Sunday").
You can use datepart to get the hour and check if it is after four.
datepart(hh, OrderDateTime) >= 4
For your set statement you can use a case:
case datename("dw", OrderDateTime)
when "Saturday"
then DATEADD(hh, 56,cast(OrderDateTime As Date))
when "Friday"
then DATEADD(hh, 80,cast(OrderDateTime As Date))
else DATEADD(hh, 32,cast(OrderDateTime As Date))
In all cases we are getting rid of the time. Then, if it is Saturday, add two days worth of hours to get us to Monday and add an additional eight hours to get us to eight am.
If it is Friday, add three days plus eight hours. Otherwise add a single day plus eight hours.