src/SSCMS.Core/Repositories/MaterialAudioRepository.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Datory;
using SSCMS.Core.Utils;
using SSCMS.Models;
using SSCMS.Repositories;
using SSCMS.Services;
using SSCMS.Utils;
namespace SSCMS.Core.Repositories
{
public class MaterialAudioRepository : IMaterialAudioRepository
{
private readonly ISettingsManager _settingsManager;
private readonly Repository<MaterialAudio> _repository;
public MaterialAudioRepository(ISettingsManager settingsManager)
{
_settingsManager = settingsManager;
_repository = new Repository<MaterialAudio>(settingsManager.Database, settingsManager.Redis);
CacheKey = CacheUtils.GetListKey(_repository.TableName);
}
public IDatabase Database => _repository.Database;
public string TableName => _repository.TableName;
public List<TableColumn> TableColumns => _repository.TableColumns;
private string CacheKey { get; }
public async Task<int> InsertAsync(MaterialAudio audio)
{
return await _repository.InsertAsync(audio, Q
.CachingRemove(CacheKey)
);
}
public async Task<bool> UpdateAsync(MaterialAudio audio)
{
return await _repository.UpdateAsync(audio, Q
.CachingRemove(CacheKey)
);
}
public async Task UpdateMediaIdAsync(int id, string mediaId)
{
await _repository.UpdateAsync(Q
.Set(nameof(MaterialAudio.MediaId), mediaId)
.Where(nameof(MaterialAudio.Id), id)
.CachingRemove(CacheKey)
);
}
public async Task<bool> DeleteAsync(int id)
{
var audio = await GetAsync(id);
if (audio != null && !string.IsNullOrEmpty(audio.Url))
{
后面还有 79 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
