/// <summary> /// Tests if the payment date falls on a calculated date. /// </summary> /// <param name="paymentDate">The payment date.</param> /// <param name="startDate">The calculation period start date.</param> /// <param name="endDate">The calculation perion end date.</param> /// <param name="freq"> The period frequency.</param> /// <returns><c>true</c> if the payment date falls on a calculated date.</returns> private static bool IsUnadjustedCalculationPeriodDate(Date paymentDate, Date startDate, Date endDate, Interval freq) { Interval step = new Interval (0, Period.DAY); for (;;) { Date targetDate = startDate.Plus (step); if (targetDate.CompareTo (endDate) > 0) return (false); if (targetDate.Equals (paymentDate)) return (true); step = step.Plus (freq); } }