Может быть, это (возможно, аккуратнее, но определенно имеет такую же эффективность):
StartBlock = (ViewBag.Date != RoomBooking.StartDateTime.Date || ViewBag.DayPlannerStartTime * 12 > (Int32)RoomBooking.StartDateTime.TimeOfDay.TotalMinutes / 5)
? ViewBag.DayPlannerStartTime * 12
: ((Int32)RoomBooking.StartDateTime.TimeOfDay.TotalMinutes / 5);
РЕДАКТИРОВАТЬ: Вы можете также немного оптимизировать условия. Я подозреваю, что ваше DayPlannerStartTime
выражено в секундах, и если я прав, вы можете переписать сравнение следующим образом (я просто разделил оба операнда оператора >
на 12, а TotalMinutes
разделил на 5 * 12 стал TotalHours
):
ViewBag.DayPlannerStartTime > (Int32)RoomBooking.StartDateTime.TimeOfDay.TotalHours