namespace ScheduleManager.Data.Entities
public DateTime StartDate { get; set; }
public RecurFrequency Frequency { get; set; }
public int Interval { get; set; }
public DateTime? RecurUntil { get; set; }
public bool IsAllDay { get; set; }
public bool IsOnWeekdays { get; set; }
public bool CanOccurOnHolidays { get; set; }
public bool RepeatsIndefinitely { get; set; }
public virtual DateTimeCollection GetInstancesBetween(DateTime startDate, DateTime endDate)
var r = new EWSoftware.PDI.Recurrence
StartDateTime = StartDate,
CanOccurOnHoliday = CanOccurOnHolidays
if (!RepeatsIndefinitely)
throw new ArgumentNullException();
r.RecurUntil = (DateTime)RecurUntil;
return r.InstancesBetween(startDate, endDate);
Frequency = RecurFrequency.Weekly;
RepeatsIndefinitely = true;
namespace ScheduleManager.Data.Entities
public class Exception : Schedule
public int ExceptionId { get; set; }
namespace ScheduleManager.Data.Entities
public class Holiday : Event
public int HolidayId { get; set; }
namespace ScheduleManager.Data.Entities
public partial class Schedule : Event
public int ScheduleId { get; set; }
namespace ScheduleManager.Data.Entities
public string Title { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public bool IsAllDay { get; set; }
public bool IsDeleted { get; set; }
public Recurrence Recurrence { get; set; }