コード例 #1
0
        private IMongoQueryable <DailyCurrency> СollectQuery(IMongoQueryable <DailyCurrency> query, DailyCurrencyFilter filter)
        {
            if (filter is null)
            {
                return(query);
            }

            if (filter.DateFrom.HasValue)
            {
                query = query.Where(s => s.Date >= filter.DateFrom);
            }

            if (filter.DateTo.HasValue)
            {
                query = query.Where(s => s.Date <= filter.DateTo);
            }

            if (!string.IsNullOrEmpty(filter.CurrencyName))
            {
                query = query.Where(s => s.Carrency != null && s.Carrency.Name == filter.CurrencyName);
            }

            if (!string.IsNullOrEmpty(filter.CurrencyCharCode))
            {
                query = query.Where(s => s.Carrency != null && s.Carrency.CharCode == filter.CurrencyCharCode);
            }

            if (filter.Skip.HasValue)
            {
                query = query.Skip(filter.Skip.Value);
            }

            if (filter.Take.HasValue)
            {
                query = query.Take(filter.Take.Value);
            }

            return(query);
        }
コード例 #2
0
        public Task <DailyCurrency> GetLowest(DailyCurrencyFilter filter)
        {
            var query = СollectQuery(_dailyCurrencies.AsQueryable(), filter);

            return(query.OrderBy(s => s.Value).FirstOrDefaultAsync());
        }
コード例 #3
0
 public Task <DailyCurrency> GetLowest(DailyCurrencyFilter filter)
 => _dailyCurrencyService.GetLowest(filter);
コード例 #4
0
        public Task <List <DailyCurrency> > Get(DailyCurrencyFilter filter)
        {
            var query = СollectQuery(_dailyCurrencies.AsQueryable(), filter);

            return(query.ToListAsync());
        }
コード例 #5
0
 public Task <List <DailyCurrency> > GetCurrencies(DailyCurrencyFilter filter)
 => _dailyCurrencyService.Get(filter);