public FilteringCursor(CaseCursor originalCursor, FilterTransformer transformer) { if (transformer == null) { throw new ArgumentNullException(nameof(transformer)); } cursor = originalCursor ?? throw new ArgumentNullException(nameof(originalCursor)); filter = transformer.GetFilter() ?? throw new ArgumentNullException(nameof(filter)); }
public static ICaseFrame FilterCases(this ICaseFrame caseFrame, IEnumerable <string> caseIds) { if (caseFrame == null) { throw new ArgumentNullException(nameof(caseFrame)); } if (caseIds == null) { throw new ArgumentNullException(nameof(caseIds)); } var ids = new HashSet <string>(caseIds); var filterTransformer = new FilterTransformer(c => ids.Contains(c.GetId())); filterTransformer.Prepare(caseFrame); return(filterTransformer.Transform(caseFrame)); }
public FilteringCaseFrame(ICaseFrame frame, FilterTransformer transformer) : base(frame) { this.transformer = transformer ?? throw new ArgumentNullException(nameof(transformer)); }