コード例 #1
0
        /// <summary>
        /// Method that removes api key from db
        /// </summary>
        /// <inheritdoc />
        public async Task Expire(string key)
        {
            var apiKey = await _exchangesContext.ApiKeys.FirstOrDefaultAsync(e => e.Key == key);

            if (apiKey != null)
            {
                _exchangesContext.ApiKeys.Remove(apiKey);
                await _exchangesContext.SaveChangesAsync();
            }
        }
コード例 #2
0
        /// <inheritdoc />
        public async Task StoreEuroExchanges(
            IEnumerable <EuroExchange> euroExchanges)
        {
            var givenEuroExchangesKeys = euroExchanges.Select(e => $"{e.Currency}:{e.Date}").ToList();

            var existingEuroExchanges = await _exchangesContext.EuroExchanges
                                        .Where(e => givenEuroExchangesKeys.Contains($"{e.Currency}:{e.Date}"))
                                        .Select(e => $"{e.Currency}:{e.Date}")
                                        .ToListAsync();

            var nonExistingEuroExchanges = euroExchanges.Where(e => existingEuroExchanges.Contains($"{e.Currency}:{e.Date}") == false).ToList();

            if (nonExistingEuroExchanges.Count() > 0)
            {
                await _exchangesContext.EuroExchanges.AddRangeAsync(nonExistingEuroExchanges);

                await _exchangesContext.SaveChangesAsync();
            }
        }