} // IntersectionPeriods // ---------------------------------------------------------------------- public virtual ITimePeriodCollection RelationPeriods(ITimePeriod test, PeriodRelation relation) { if (test == null) { throw new ArgumentNullException("test"); } TimePeriodCollection relationPeriods = new TimePeriodCollection(); foreach (ITimePeriod period in periods) { if (test.GetRelation(period) == relation) { relationPeriods.Add(period); } } return(relationPeriods); } // RelationPeriods
} // IntersectionPeriods // ---------------------------------------------------------------------- public virtual ITimePeriodCollection RelationPeriods(ITimePeriod test, List <PeriodRelation> relation) { if (test == null) { throw new ArgumentNullException("test"); } TimePeriodCollection relationPeriods = new TimePeriodCollection(); foreach (ITimePeriod period in periods) { var set1 = new HashSet <PeriodRelation> (test.GetRelation(period)); var set2 = new HashSet <PeriodRelation> (relation); if (set1.Equals(set2)) { relationPeriods.Add(period); } } return(relationPeriods); } // RelationPeriods
// ---------------------------------------------------------------------- public virtual ITimePeriodCollection RelationPeriods( ITimePeriod test, PeriodRelation relation ) { if ( test == null ) { throw new ArgumentNullException( "test" ); } TimePeriodCollection relationPeriods = new TimePeriodCollection(); foreach ( ITimePeriod period in periods ) { if ( test.GetRelation( period ) == relation ) { relationPeriods.Add( period ); } } return relationPeriods; }