/// <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(); } }
/// <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(); } }