我有一个选项卡“今日”,“明天”,“很快”,“所有事件”(以及更多)。
每个标签都有一个标准(评级,名称,事件日期),时间段(今天,星期,明天,两周)和订单(升序或降序)。
我想根据标签接收数据。 有下面的方法:通过特定条件选项从所有存储库获取数据
private List<IEvent> GetEventList(int tab)
{
var posterEvent = PosterEventRepository.GetById(tab);
var criteria = Enum.Parse(typeof (PosterEventEnum.CriteriaEvent), posterEvent.Criteria);
var period = Enum.Parse(typeof(PosterEventEnum.CriteriaEvent), posterEvent.Period);
var order = Enum.Parse(typeof(PosterEventEnum.CriteriaEvent), posterEvent.Order);
}
IEvent
接口是由类实现:Film
,Sport
等。
每个对象还有一个存储库:FilmRepository
,SportRepository
等等。
如何最好地从特定标准,期间,订单中获取所有存储库中的数据?
不愿写如下:
switch(criteria)
{
case "Today":
resultFilm = FilmRepository.FilmRepository.GetFilmsForToday();
resultSport = SportRepository.GetSportsForToday();
...
//then combine and sorting by rating
}
感谢。