using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Artemis.Storage.Entities; using Microsoft.EntityFrameworkCore; namespace Artemis.Storage.Repositories { public class SettingRepository { private readonly StorageContext _dbContext; public SettingRepository() { _dbContext = new StorageContext(); } public IQueryable GetAll() { return _dbContext.Settings; } public List GetByPluginGuid(Guid pluginGuid) { return _dbContext.Settings.Where(p => p.PluginGuid == pluginGuid).ToList(); } public async Task> GetByPluginGuidAsync(Guid pluginGuid) { return await _dbContext.Settings.Where(p => p.PluginGuid == pluginGuid).ToListAsync(); } public async Task GetByNameAndPluginGuid(string name, Guid pluginGuid) { return await _dbContext.Settings.FirstOrDefaultAsync(p => p.Name == name && p.PluginGuid == pluginGuid); } public async Task GetByName(string name) { return await _dbContext.Settings.FirstOrDefaultAsync(p => p.Name == name); } public void Save() { _dbContext.SaveChanges(); } public async Task SaveAsync() { await _dbContext.SaveChangesAsync(); } } }