Guys,

Somebody help me out with this logic, I'm struggling.

I have a ProcessStartDateTime.
I have a ProcessTime in minutes.
I have a WorkingTimeSetting that gives the hours to be worked.
I need to get the ProcessEndDateTime.

This didn't appear too difficult until I start thinking about weekends. I'm ignoring public holidays for now !

Here's what I have so far, not sure what its giving me just yet, still trying to work it out.

Code:
Private Function GetEndDate(worktime, startdate, ProcessTime) As Date
Dim HoursPerWeek, MinutesPerWeek, HoursPerDay, NumberOfWeeks, ExtraHours, NumberOfDays, enddate

ProcessTime = 5400 ' 2.25
'4800 = 2


HoursPerWeek = Right(Left(worktime, 3), 2)
MinutesPerWeek = HoursPerWeek * 60

HoursPerDay = HoursPerWeek / Left(Right(worktime, 5), 1)
NumberOfWeeks = ProcessTime / MinutesPerWeek

WholeWeeks = Round(NumberOfWeeks, 0)
ExtraHours = (NumberOfWeeks - WholeWeeks) * HoursPerWeek

ProcessHours = ProcessTime / 60
NumberOfDays = ExtraHours / HoursPerDay
enddate = DateAdd("ww", NumberOfWeeks, startdate) + NumberOfDays + (ExtraHours / 24)

'If DayOfWeek(enddate) = Saturday Then enddate = enddate + 2

GetEndDate = enddate

' worktime examples
'    cbo_worktimes.AddItem ("(40h) 8hr 5days")
'    cbo_worktimes.AddItem ("(48h) 8hr 6days")
'    cbo_worktimes.AddItem ("(72h) 12hr 6days")


End Function