protected ExpectedCourse(Guid coachId, Guid locationId, Guid serviceId, int sessionCount, string repeatFrequency, string startDate, string startTime, int duration, int studentCapacity, bool isOnlineBookable, decimal?sessionPrice, decimal?coursePrice, string colour, string sessionName) { Coach = new ApiCoachKey { id = coachId }; Location = new ApiLocationKey { id = locationId }; Service = new ApiServiceKey { id = serviceId }; Timing = new ApiSessionTiming { startDate = startDate, startTime = startTime, duration = duration }; Booking = new ApiSessionBooking { studentCapacity = studentCapacity, isOnlineBookable = isOnlineBookable }; Repetition = new ApiRepetition { sessionCount = sessionCount, repeatFrequency = repeatFrequency }; Pricing = new ApiPricing { sessionPrice = sessionPrice, coursePrice = coursePrice }; Presentation = new ApiPresentation { colour = colour }; Sessions = new List <ExpectedCourseSession>(); for (var i = 0; i < sessionCount; i++) { var date = FormatDate(startDate, repeatFrequency, i); var session = new ExpectedCourseSession(coachId, locationId, serviceId, date, startTime, duration, studentCapacity, isOnlineBookable, sessionPrice, colour, sessionName); Sessions.Add(session); } }
protected ExpectedSingleSession(Guid coachId, Guid locationId, Guid serviceId, string date, string startTime, int duration, int studentCapacity, bool isOnlineBookable, decimal?price, string colour, string name) { Coach = new ApiCoachKey { id = coachId }; Location = new ApiLocationKey { id = locationId }; Service = new ApiServiceKey { id = serviceId }; Timing = new ApiSessionTiming { startDate = date, startTime = startTime, duration = duration }; Booking = new ApiSessionBooking { studentCapacity = studentCapacity, isOnlineBookable = isOnlineBookable }; Repetition = new ApiRepetition { sessionCount = 1 }; Pricing = new ApiPricing { sessionPrice = price }; Presentation = new ApiPresentation { colour = colour }; Name = name; }