2021-05-13 20:03:07 +02:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
namespace TINK.Model.Connector.Filter
|
|
|
|
|
{
|
2022-09-06 16:08:19 +02:00
|
|
|
|
/// <summary> Filters to enumerations of string by intersecting.</summary>
|
|
|
|
|
public class IntersectGroupFilter : IGroupFilter
|
|
|
|
|
{
|
|
|
|
|
private IEnumerable<string> Group { get; set; }
|
2021-05-13 20:03:07 +02:00
|
|
|
|
|
2022-09-06 16:08:19 +02:00
|
|
|
|
public IntersectGroupFilter(IEnumerable<string> group) => Group = group ?? new List<string>();
|
2021-05-13 20:03:07 +02:00
|
|
|
|
|
2022-09-06 16:08:19 +02:00
|
|
|
|
/// <summary> Applies filtering. </summary>
|
|
|
|
|
/// <param name="filter">Enumeration of filter values to filter with or null if no filtering has to be applied.</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public IEnumerable<string> DoFilter(IEnumerable<string> filter) => filter != null
|
|
|
|
|
? Group.IntersectByGoupId(filter)
|
|
|
|
|
: Group;
|
|
|
|
|
}
|
2021-05-13 20:03:07 +02:00
|
|
|
|
}
|