private List <PlanningAppState> RollbackDueByDates(int daysDiff, PlanningAppState current) { return(PlanningAppStates .Where(s => s.DueByDate > current.DueByDate) .Select(c => { c.DueByDate = c.DueByDate.AddBusinessDays(-daysDiff); return c; }) .ToList()); }
private void RollForwardDueByDates(int daysDiff, PlanningAppState prevState) { if (!Completed()) { PlanningAppStates .Where(s => s.DueByDate > prevState.DueByDate) .Select(c => { c.DueByDate = c.DueByDate.AddBusinessDays(daysDiff); return(c); }) .ToList(); } }
public PlanningAppState Current() { return(PlanningAppStates.Where(s => s.CurrentState == true).SingleOrDefault()); }
public bool Completed() { return(PlanningAppStates.Where(p => p.CurrentState == true).Count() == 0); }