/// <inheritdoc />
        public async Task <CultureResourceEntity> GetOneAsync(string culture, string key, CancellationToken cancellationToken)
        {
            _logger.LogDebug($"Retrieving culture resource for culture={culture} and key={key}.");

            try
            {
                var spec = new GetOneSpecification <CultureResourceEntity>();

                spec.AddConfiguration(q => q.Include(a => a.Culture));
                spec.AddFilter(r => r.Key == key && r.Culture.Name == culture);

                var resource = await _resourceStore.GetOneAsync(spec, cancellationToken : cancellationToken).ConfigureAwait(false);

                if (resource != null)
                {
                    return(resource);
                }

                _logger.LogWarning($"No resource found for culture={culture} and key={key}.");

                return(null);
            }
            catch (Exception e)
            {
                _logger.LogError(e, message: "Exception occured while reading database.");
                throw;
            }
        }
        public async Task <CultureEntity> GetCultureAsync(string name, CancellationToken cancellationToken)
        {
            var spec = new GetOneSpecification <CultureEntity>();

            spec.AddConfiguration(q => q.Include(a => a.Resources));
            spec.AddFilter(a => a.Name == name && a.ActiveFlag);

            var culture = await _store.GetOneAsync(spec, cancellationToken : cancellationToken).ConfigureAwait(false);

            return(culture);
        }