53 lines
1.7 KiB
C#
53 lines
1.7 KiB
C#
using IRaCIS.Core.Domain.Models;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace IRaCIS.Core.Application.Helper
|
|
{
|
|
|
|
public static class CacheKeys
|
|
{
|
|
public static string Trial(string trialIdStr) => $"TrialId:{trialIdStr}";
|
|
|
|
public static string TrialStudyMaxCode(Guid trialId) => $"TrialStudyMaxCode:{trialId}";
|
|
|
|
public static string TrialStudyUidUploading(Guid trialId, string studyUid) => $"TrialStudyUid:{trialId}_{studyUid}";
|
|
|
|
public static string TrialStudyUidDBLock(Guid trialId, string studyUid) => $"TrialStudyUidDBLock:{trialId}_{studyUid}";
|
|
|
|
|
|
|
|
public static string SystemAnonymization => $"SystemAnonymization";
|
|
|
|
public static string FrontInternational => $"FrontInternationalList";
|
|
|
|
//登录挤账号
|
|
public static string UserToken(Guid userId) => $"UserToken:{userId}";
|
|
|
|
//超时没请求接口自动退出
|
|
public static string UserAutoLoginOut(Guid userId) => $"UserAutoLoginOut:{userId}";
|
|
|
|
// 你可以为其他实体和模块定义更多的键
|
|
}
|
|
|
|
public static class CacheHelper
|
|
{
|
|
public static async Task<string?> GetTrialStatusAsync(Guid trialId, IRepository<Trial> _trialRepository)
|
|
{
|
|
var statusStr = await _trialRepository.Where(t => t.Id == trialId, ignoreQueryFilters: true).Select(t => t.TrialStatusStr).FirstOrDefaultAsync();
|
|
|
|
return statusStr;
|
|
}
|
|
|
|
public static async Task<List<SystemAnonymization>> GetSystemAnonymizationListAsync(IRepository _repository)
|
|
{
|
|
var list = await _repository.Where<SystemAnonymization>(t => t.IsEnable).ToListAsync();
|
|
|
|
return list;
|
|
}
|
|
}
|
|
}
|