public List <CoreEventFindRec> GetNextCoreTimes(int nTypeStart, int nTypeFind, int count) { List <CoreEventFindRec> dayList = new List <CoreEventFindRec>(); VAISNAVADAY cursor = this; int idx = 0; idx = coreEvents.FindIndexOf(nTypeStart, idx); if (idx >= 0) { while (cursor != null && dayList.Count < count) { idx = cursor.coreEvents.FindIndexOf(nTypeFind, idx++); if (idx < 0) { cursor = cursor.Next; idx = -1; } else { CoreEventFindRec cer = new CoreEventFindRec(); cer.day = cursor; cer.coreEvent = cursor.coreEvents[idx]; cer.dateTimeOfEvent = cursor.GetGregorianDateTime(cursor.coreEvents[idx]); dayList.Add(cer); } } } return(dayList); }
public List <CoreEventFindRec> GetRecentCoreTimes(int nTypeStart, int nTypeFind, int count) { List <CoreEventFindRec> dayList = new List <CoreEventFindRec>(); VAISNAVADAY cursor = this; int idx = 0; idx = coreEvents.FindIndexOf(nTypeStart, idx); if (idx >= 0) { while (cursor != null && dayList.Count < count) { idx = cursor.coreEvents.FindBackIndexOf(nTypeFind, idx - 1); if (idx < 0) { cursor = cursor.Previous; idx = 1000; } else { CoreEventFindRec cer = new CoreEventFindRec(); cer.day = cursor; cer.coreEvent = cursor.coreEvents[idx]; cer.dateTimeOfEvent = cursor.GetGregorianDateTime(cursor.coreEvents[idx]); dayList.Insert(0, cer); } } } return(dayList); }