Esempio n. 1
0
        public async Task <bool> UpdateSingleAsync(CancellationToken cancellationToken, KeyValueKind kind, string content)
        {
            var value = await _dbContext.KeyValueSettings.FirstOrDefaultAsync(d => d.Key == kind, cancellationToken);

            if (value == null)
            {
                _log.LogDebug("Updating value for {Key} to {Value}", kind, content);

                _dbContext.KeyValueSettings.Add(new KeyValueSetting()
                {
                    Key = kind, Value = content
                });
                return(await _dbContext.SaveChangesAsync(cancellationToken) > 0);
            }
            else
            {
                _log.LogDebug("Updating value for {Key} to {Value}", kind, content);
                value.Value = content;
                _dbContext.Update(value);

                return(await _dbContext.SaveChangesAsync(cancellationToken) > 0);
            }
        }
Esempio n. 2
0
        public async Task <int> GetByKindAsIntAsync(CancellationToken cancellationToken, KeyValueKind kind, int defaultValue)
        {
            var value = await _dbContext.KeyValueSettings.FirstOrDefaultAsync(d => d.Key == kind, cancellationToken);

            if (value?.Value == null)
            {
                return(defaultValue);
            }

            return(int.TryParse(value.Value, out var parsed) ? parsed : defaultValue);
        }
Esempio n. 3
0
        public async Task <bool> GetByKindAsBoolAsync(CancellationToken cancellationToken, KeyValueKind kind, bool defaultValue)
        {
            var value = await _dbContext.KeyValueSettings.FirstOrDefaultAsync(d => d.Key == kind, cancellationToken);

            return((bool.TryParse(value?.Value, out var parsed) && parsed) || defaultValue);
        }
Esempio n. 4
0
        public async Task <string> GetByKindAsStringAsync(CancellationToken cancellationToken, KeyValueKind kind, string defaultValue)
        {
            var value = await _dbContext.KeyValueSettings.FirstOrDefaultAsync(d => d.Key == kind, cancellationToken);

            return(value?.Value ?? defaultValue);
        }
Esempio n. 5
0
 public async Task <KeyValueSetting> GetByKindAsync(CancellationToken cancellationToken, KeyValueKind kind)
 {
     return(await _dbContext.KeyValueSettings.FirstOrDefaultAsync(d => d.Key == kind, cancellationToken));
 }