public IResultSetFilter Instantiate(IRankingInfo rankingInfo, IEnumerable <IColumnDefinitionLight> columns) { var groupingFactory = new ByColumnGroupingFactory(); var grouping = groupingFactory.Instantiate(columns); var rankingFactory = new RankingFactory(); var ranking = rankingFactory.Instantiate(rankingInfo); return(new FilterGroupByFilter(ranking, grouping)); }
public AbstractRanking Instantiate(IRankingInfo info) { switch (info.Option) { case RankingOption.Top: return(new TopRanking(info.Count, info.Operand, info.Type)); case RankingOption.Bottom: return(new BottomRanking(info.Count, info.Operand, info.Type)); default: throw new ArgumentOutOfRangeException(); } }