public async Task <IReadOnlyList <IScheduleSettings> > GetFilteredAsync(string marketId = null) { var brokerSchedule = await GetBrokerScheduleAsync(); if (!string.IsNullOrEmpty(marketId)) { //We need only platform settings if (marketId == _platformSettings.PlatformMarketId) { return(MapPlatformSchedule(brokerSchedule)); } var marketSettingsById = await _marketSettingsRepository.GetByIdAsync(marketId); if (marketSettingsById == null) { return(new List <IScheduleSettings>()); } return(MapMarketSchedule(marketSettingsById, brokerSchedule.Weekends)); } // add all markets and platform schedules var allMarketSettings = await _marketSettingsRepository.GetAllMarketSettingsAsync(); var allMarketSchedules = allMarketSettings .SelectMany(x => MapMarketSchedule(x, brokerSchedule.Weekends)) .ToList(); var platformSchedules = MapPlatformSchedule(brokerSchedule); allMarketSchedules.AddRange(platformSchedules); return(allMarketSchedules); }
public Task <IReadOnlyList <MarketSettings> > GetAllMarketSettingsAsync() => _marketSettingsRepository.GetAllMarketSettingsAsync();
public async Task <IReadOnlyList <IMarket> > GetAllAsync() { var marketSettings = await _marketSettingsRepository.GetAllMarketSettingsAsync(); return(marketSettings.Select(x => new Market(x.Id, x.Name)).ToList()); }