Merge branch 'Test_IRC_Net8' of https://gitea.frp.extimaging.com/XCKJ/irc-netcore-api into Test_IRC_Net8
continuous-integration/drone/push Build is passing Details

IRC_NewDev
he 2024-09-09 11:39:01 +08:00
commit 8092b0680b
157 changed files with 1776 additions and 2519 deletions

View File

@ -272,7 +272,7 @@ namespace IRaCIS.Core.API.Controllers
[DisableFormValueModelBinding] [DisableFormValueModelBinding]
[DisableRequestSizeLimit] [DisableRequestSizeLimit]
[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })] [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "AfterStopCannNotOpt" })]
public async Task<IResponseOutput> ArchiveStudyNew( Guid trialId, Guid subjectVisitId, string studyInstanceUid, Guid? abandonStudyId, Guid studyMonitorId, public async Task<IResponseOutput> ArchiveStudyNew(Guid trialId, Guid subjectVisitId, string studyInstanceUid, Guid? abandonStudyId, Guid studyMonitorId,
[FromServices] ILogger<UploadDownLoadController> _logger, [FromServices] ILogger<UploadDownLoadController> _logger,
[FromServices] IStudyService _studyService, [FromServices] IStudyService _studyService,
[FromServices] IHubContext<UploadHub, IUploadClient> _uploadHub, [FromServices] IHubContext<UploadHub, IUploadClient> _uploadHub,
@ -481,9 +481,9 @@ namespace IRaCIS.Core.API.Controllers
{ {
//如果是跟任务绑那么NoneDicomStudyId 设置为空,不影响之前的检查,同时设置 OriginNoneDicomStudyId 保证关系 //如果是跟任务绑那么NoneDicomStudyId 设置为空,不影响之前的检查,同时设置 OriginNoneDicomStudyId 保证关系
if(incommand.VisitTaskId!=null && incommand.VisitTaskId !=Guid.Empty) if (incommand.VisitTaskId != null && incommand.VisitTaskId != Guid.Empty)
{ {
await _noneDicomStudyFileRepository.AddAsync(new NoneDicomStudyFile() { FileName = item.FileName, Path = item.FilePath, OriginNoneDicomStudyId=noneDicomStudyId.Value, VisitTaskId=incommand.VisitTaskId, FileType = item.FileType, FileSize = item.FileFize }); await _noneDicomStudyFileRepository.AddAsync(new NoneDicomStudyFile() { FileName = item.FileName, Path = item.FilePath, OriginNoneDicomStudyId = noneDicomStudyId.Value, VisitTaskId = incommand.VisitTaskId, FileType = item.FileType, FileSize = item.FileFize });
} }
else else
@ -498,7 +498,7 @@ namespace IRaCIS.Core.API.Controllers
var noneDicomStudy = await _noneDicomStudyRepository.FirstOrDefaultAsync((t => t.Id == noneDicomStudyId)); var noneDicomStudy = await _noneDicomStudyRepository.FirstOrDefaultAsync((t => t.Id == noneDicomStudyId));
noneDicomStudy.FileCount = noneDicomStudy.FileCount + incommand.UploadedFileList.Count; noneDicomStudy.FileCount = noneDicomStudy.FileCount + (incommand.VisitTaskId != null ? 0 : incommand.UploadedFileList.Count);
studyMonitor.FileCount = incommand.UploadedFileList.Count; studyMonitor.FileCount = incommand.UploadedFileList.Count;
studyMonitor.FileSize = incommand.UploadedFileList.Sum(t => t.FileFize); studyMonitor.FileSize = incommand.UploadedFileList.Sum(t => t.FileFize);
@ -976,7 +976,7 @@ namespace IRaCIS.Core.API.Controllers
} }
//处理好 用户类型 和用户类型枚举 //处理好 用户类型 和用户类型枚举
var sysUserTypeList = _usertypeRepository.Where(t => t.UserTypeEnum == UserTypeEnum.CRA || t.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).Select(t => new { UserTypeId = t.Id, t.UserTypeEnum }).ToList(); var sysUserTypeList = _usertypeRepository.Where(t => t.UserTypeEnum == UserTypeEnum.CRA || t.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).Select(t => new { UserTypeId = t.Id, t.UserTypeEnum }).ToList();
var siteList = _trialSiteRepository.Where(t => t.TrialId == trialId && siteCodeList.Contains(t.TrialSiteCode)).Select(t => new { t.TrialSiteCode, TrialSiteId= t.Id }).ToList(); var siteList = _trialSiteRepository.Where(t => t.TrialId == trialId && siteCodeList.Contains(t.TrialSiteCode)).Select(t => new { t.TrialSiteCode, TrialSiteId = t.Id }).ToList();
foreach (var item in excelList) foreach (var item in excelList)
{ {

View File

@ -43,7 +43,7 @@
<ItemGroup> <ItemGroup>
<ApplicationDefinition Include="GrpcToken.proto" /> <ApplicationDefinition Include="GrpcToken.proto" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="wwwroot\swagger\ui\abp.js"> <EmbeddedResource Include="wwwroot\swagger\ui\abp.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource> </EmbeddedResource>
@ -64,7 +64,11 @@
<PackageReference Include="AlibabaCloud.SDK.Sts20150401" Version="1.1.4" /> <PackageReference Include="AlibabaCloud.SDK.Sts20150401" Version="1.1.4" />
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" /> <PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="10.0.0" /> <PackageReference Include="Autofac.Extensions.DependencyInjection" Version="10.0.0" />
<PackageReference Include="AWSSDK.SecurityToken" Version="3.7.400.13" /> <PackageReference Include="AWSSDK.SecurityToken" Version="3.7.400.16" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.8">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="ConfigMapFileProvider" Version="2.0.1" /> <PackageReference Include="ConfigMapFileProvider" Version="2.0.1" />
<PackageReference Include="Hangfire.AspNetCore" Version="1.8.14" /> <PackageReference Include="Hangfire.AspNetCore" Version="1.8.14" />
<PackageReference Include="Hangfire.Dashboard.BasicAuthorization" Version="1.0.2" /> <PackageReference Include="Hangfire.Dashboard.BasicAuthorization" Version="1.0.2" />
@ -89,68 +93,15 @@
<None Include="..\.editorconfig" Link=".editorconfig" /> <None Include="..\.editorconfig" Link=".editorconfig" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<Content Update="wwwroot\EmailTemplate\AdminAddUser_US.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\AdminResetUser_US.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\AdminResetUser.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\SubjectEnrollConfirmOrPDProgress_US.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\TrialDoctorExistJoin_US.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\TrialDoctorFirstJoin.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\TrialSiteSurveyReject.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\TrialSiteSurveyReject_US.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\TrialDoctorExistJoin.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\TrialUserExistJoin_US.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\TrialUserExistJoin.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\AdminAddUser.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\TrialDoctorFirstJoin_US.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\SubjectEnrollConfirmOrPDProgress.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\TrialUserFirstJoin_US.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\UserOptCommon_US.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\UserOptCommon.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Update="wwwroot\EmailTemplate\TrialUserFirstJoin.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup> <ItemGroup>
<Folder Include="Properties\PublishProfiles\" /> <Folder Include="Properties\PublishProfiles\" />
</ItemGroup> </ItemGroup>
<ProjectExtensions><VisualStudio><UserProperties properties_4launchsettings_1json__JsonSchema="" /></VisualStudio></ProjectExtensions> <ProjectExtensions>
<VisualStudio>
<UserProperties properties_4launchsettings_1json__JsonSchema="" />
</VisualStudio>
</ProjectExtensions>
</Project> </Project>

View File

@ -33,6 +33,7 @@ using Newtonsoft.Json;
using Microsoft.AspNetCore.Diagnostics; using Microsoft.AspNetCore.Diagnostics;
using IRaCIS.Core.Application.MassTransit.Command; using IRaCIS.Core.Application.MassTransit.Command;
using IRaCIS.Core.Application.MassTransit.Consumer; using IRaCIS.Core.Application.MassTransit.Consumer;
using DocumentFormat.OpenXml.InkML;
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
AppContext.SetSwitch("Npgsql.DisableDateTimeInfinityConversions", true); AppContext.SetSwitch("Npgsql.DisableDateTimeInfinityConversions", true);
@ -124,6 +125,8 @@ builder.Services.AddOptions().Configure<ObjectStoreServiceOptions>(_configuratio
builder.Services.AddOptions().Configure<EncreptResponseOption>(_configuration.GetSection("EncrypteResponseConfig")); builder.Services.AddOptions().Configure<EncreptResponseOption>(_configuration.GetSection("EncrypteResponseConfig"));
builder.Services.AddOptions().Configure<SystemPacsConfig>(_configuration.GetSection("SystemPacsConfig")); builder.Services.AddOptions().Configure<SystemPacsConfig>(_configuration.GetSection("SystemPacsConfig"));
builder.Services.Configure<IRaCISBasicConfigOption>(_configuration.GetSection("IRaCISBasicConfig"));
//动态WebApi + UnifiedApiResultFilter 省掉控制器代码 //动态WebApi + UnifiedApiResultFilter 省掉控制器代码
builder.Services.AddDynamicWebApiSetup(); builder.Services.AddDynamicWebApiSetup();

View File

@ -1,40 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
尊敬的 {0} ,您好:
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{company abbreviation}为您添加了账户,账户信息如下:
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
用户名: {1}
</div>
<div>
角色: {2}
</div>
<div>
首次登陆前,请通过该链接修改您的账户信息:
<a href='{3}' style='margin-left:1px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
初始化账号信息
</a>
</div>
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>祝您顺利!</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,40 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
Dear {0} ,
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{company abbreviation} has created an account for you. The account information is as follows:
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
User ID: {1}
</div>
<div>
Role: {2}
</div>
<div>
Before logging in for the first time, please modify the account information through this link
<a href='{3}' style='margin-left:1px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
Initialize account information
</a>
</div>
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>Best regards,</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,37 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
尊敬的 {0} ,您好:
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{company abbreviation}将您的账户密码已重置,账户信息如下:
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
用户名: {1}
</div>
<div>
角色: {2}
</div>
<div>
密码: {3}
</div>
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>祝您顺利!</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,37 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
Dear {0} ,
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{company abbreviation} has reset your account password, and the account information is as follows:
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
User ID: {1}
</div>
<div>
Role: {2}
</div>
<div>
Password: {3}
</div>
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>Best regards,</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,27 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
您好:
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
感谢您使用展影云平台。
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{0}。
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>祝您顺利!</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,27 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
Dear
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
Thank you for using {company abbreviation} Cloud System.
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{0}。
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>Best regards,</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,51 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
尊敬的 {0} ,您好:
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{company abbreviation}作为 [{1} (试验方案号:{2 })] 项目的供应商,诚邀您参加该项目阅片相关工作。
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
该项目采用电子化工作流,系统及您的账号信息如下:
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
项目编号: {3}
</div>
<div>
试验方案号: {2}
</div>
<div>
试验名称: {1}
</div>
<div>
用户名: {4}
</div>
<div>
角色: {5}
</div>
<div>
系统登录地址:
<a href='{6}' style='margin-left:1px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
点击跳转
</a>
</div>
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>祝您顺利!</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,52 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
Dear {0},
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;font-size: 16px'>
{company abbreviation} invites you to participate in the IRC work of a trial ({1} , {2}).
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
Your account information is as follows
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
Trial ID: {3}
</div>
<div>
Protocol ID: {2}
</div>
<div>
Study Name: {1}
</div>
<div>
User ID: {4}
</div>
<div>
Role: {5}
</div>
<div>
Login URL:
<a href='{6}' style='margin-left:1px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
Click to login
</a>
</div>
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>Best regards,</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,52 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
尊敬的 {0} ,您好:
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{company abbreviation}作为 [{1} (试验方案号:{2 })] 项目的IRC供应商诚邀您参加该项目IRC阅片相关工作欢迎您提供指导和建议非常感谢
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
该项目采用电子化工作流,系统及您的账号信息如下:
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
项目编号: {3}
</div>
<div>
试验方案号: {2}
</div>
<div>
试验名称: {1}
</div>
<div>
用户名: {4}
</div>
<div>
角色: {5}
</div>
<div>
首次登陆前,请通过该链接修改您的账户信息:
<a href='{6}' style='margin-left:1px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
初始化账号信息
</a>
</div>
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>祝您顺利!</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,52 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
Dear {0},
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{company abbreviation} invites you to participate in the IRC work of a trial ({1}, {2}).
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
Your account information is as follows
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
Trial ID: {3}
</div>
<div>
Protocol ID: {2}
</div>
<div>
Study Name: {1}
</div>
<div>
User ID: {4}
</div>
<div>
Role: {5}
</div>
<div>
Before logging in for the first time, please modify the account information through this link
<a href='{6}' style='margin-left:1px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
Initialize account information
</a>
</div>
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>Best regards,</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,49 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
尊敬的 {0} ,您好:
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
您填写的中心调研表被驳回,详细信息如下:
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
项目编号: {1}
</div>
<div>
试验方案号: {2}
</div>
<div>
试验名称: {3}
</div>
<div>
中心编号: {4}
</div>
<div>
中心名称: {5}
</div>
<div>
驳回原因: {6}
</div>
</div>
<a href='{7}' style='margin-left:60px;font-size:14px;padding: 10px;text-decoration: none;display:{8} ;height: 40px;width: 140px;background: #00D1B2;color:#fff;border-radius: 5px;line-height: 40px;text-align: center;margin-bottom: 100px;'>
登陆并查看
</a>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>祝您顺利!</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,49 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
Dear {0} ,
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
The site survey form you filled in has been rejected. The details are as follows
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
Trial ID: {1}
</div>
<div>
Protocol ID: {2}
</div>
<div>
Study Name: {3}
</div>
<div>
Site ID: {4}
</div>
<div>
Site name: {5}
</div>
<div>
Reason for rejection: {6}
</div>
</div>
<a href='{7}' style='margin-left:60px;font-size:14px;padding: 10px;text-decoration: none;display:{8} ;height: 40px;width: 140px;background: #00D1B2;color:#fff;border-radius: 5px;line-height: 40px;text-align: center;margin-bottom: 100px;'>
Login and view
</a>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>Best regards,</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,52 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
尊敬的 {0} ,您好:
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{company abbreviation}作为 [{1} (试验方案号:{2 })] 项目的供应商,诚邀您参加该项目相关工作,欢迎您提供指导和建议,非常感谢!
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
该项目采用电子化工作流,系统及您的账号信息如下:
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
项目编号: {3}
</div>
<div>
试验方案号: {2}
</div>
<div>
试验名称: {1}
</div>
<div>
用户名: {4}
</div>
<div>
角色: {5}
</div>
<div>
系统登录地址:
<a href='{6}' style='margin-left:5px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
点击跳转
</a>
</div>
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>祝您顺利!</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,52 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
Dear {0},
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;font-size: 16px'>
{company abbreviation} invites you to participate in the IRC work of a trial ({1}, {2}).
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
Your account information is as follows
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
Trial ID: {3}
</div>
<div>
Protocol ID: {2}
</div>
<div>
Study Name: {1}
</div>
<div>
User ID: {4}
</div>
<div>
Role: {5}
</div>
<div>
Login URL:
<a href='{6}' style='margin-left:1px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
Click to login
</a>
</div>
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>Best regards,</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,52 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
尊敬的 {0} ,您好:
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{company abbreviation}作为 [{1} (试验方案号:{2 })] 项目的IRC供应商诚邀您参加该项目IRC相关工作欢迎您提供指导和建议非常感谢
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
该项目采用电子化工作流,系统及您的账号信息如下:
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
项目编号: {3}
</div>
<div>
试验方案号: {2}
</div>
<div>
试验名称: {1}
</div>
<div>
用户名: {4}
</div>
<div>
角色: {5}
</div>
<div>
首次登陆前,请通过该链接修改您的账户信息:
<a href='{6}' style='margin-left:1px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
初始化账号信息
</a>
</div>
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>祝您顺利!</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,52 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
Dear {0},
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{company abbreviation} invites you to participate in the IRC work of a trial ({1}, {2}).
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
Your account information is as follows
</div>
<span style="color: #00D1B2"></span>
<div style='border: 1px solid #eee;box-sizing:border-box;width: 50%;background: #fff;padding: 20px;line-height: 40px;font-size: 14px;border-radius: 5px;margin-left: 60px;margin-bottom: 30px;'>
<div>
Trial ID: {3}
</div>
<div>
Protocol ID: {2}
</div>
<div>
Study Name: {1}
</div>
<div>
User ID: {4}
</div>
<div>
Role: {5}
</div>
<div>
Before logging in for the first time, please modify the account information through this link
<a href='{6}' style='margin-left:1px;font-size:14px;text-decoration: none;display: inline-block;color:#00D1B2;border-radius: 5px;line-height: 40px;text-align: center;'>
Initialize the account information
</a>
</div>
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>Best regards,</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,29 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
{0}您好,
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
感谢您使用展影云平台。
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{1},验证码是: <span style="font-weight:bold">{2}</span>
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
请在3分钟内输入该验证码进行后续操作
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>祝您顺利!</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -1,30 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title>Title</title>
</head>
<body style='font-family: 微软雅黑;padding: 0;margin: 0;'>
<div style='padding-left: 40px;background: #f6f6f6'>
<div style='padding-top: 20px;'>
<div style='line-height: 40px;font-size: 18px'>
Dear {0},
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
{1}
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
The verification code is <span style="font-weight:bold">{2}</span>.
</div>
<div style='line-height: 40px;padding-left: 40px;margin-bottom: 10px;'>
This code will expire in 3 minutes.
</div>
<div style='line-height: 24px;font-size: 14px;color:#333;margin-top: 20px;padding-bottom: 40px;'>
<div>Best regards,</div>
<div style="font-size: 14px;">{company}</div>
</div>
</div>
</div>
</body>
</html>

View File

@ -59,7 +59,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Aliyun.OSS.SDK.NetCore" Version="2.14.1" /> <PackageReference Include="Aliyun.OSS.SDK.NetCore" Version="2.14.1" />
<PackageReference Include="AWSSDK.S3" Version="3.7.402.4" /> <PackageReference Include="AWSSDK.S3" Version="3.7.402.7" />
<PackageReference Include="DocX" Version="3.0.1" /> <PackageReference Include="DocX" Version="3.0.1" />
<PackageReference Include="FreeSpire.Doc" Version="12.2.0" /> <PackageReference Include="FreeSpire.Doc" Version="12.2.0" />
<PackageReference Include="Hangfire.Core" Version="1.8.14" /> <PackageReference Include="Hangfire.Core" Version="1.8.14" />

View File

@ -74,6 +74,7 @@
接口请求参考文档https://www.koudingke.cn/docs/zh-Hans/net-lib-docs/latest/RestSharp/Usage/Usage 接口请求参考文档https://www.koudingke.cn/docs/zh-Hans/net-lib-docs/latest/RestSharp/Usage/Usage
</summary> </summary>
</member> </member>
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Helper.IRCEmailPasswordHelper.GenerateRandomPassword(System.Int32)" -->
<member name="M:IRaCIS.Core.Application.Helper.OSSService.UploadToOSSAsync(System.IO.Stream,System.String,System.String,System.Boolean)"> <member name="M:IRaCIS.Core.Application.Helper.OSSService.UploadToOSSAsync(System.IO.Stream,System.String,System.String,System.Boolean)">
<summary> <summary>
oosFolderPath 不要 "/ "开头 应该: TempFolder/ChildFolder oosFolderPath 不要 "/ "开头 应该: TempFolder/ChildFolder
@ -90,6 +91,7 @@
</summary> </summary>
<param name="localFilePath"></param> <param name="localFilePath"></param>
<param name="oosFolderPath"></param> <param name="oosFolderPath"></param>
<param name="isFileNameAddGuid"></param>
<returns></returns> <returns></returns>
<exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception> <exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
</member> </member>
@ -994,12 +996,54 @@
<param name="trialReadingCriterionId"></param> <param name="trialReadingCriterionId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetSubjectImageUploadList(System.Guid,System.Guid)"> <member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetSubjectImageUploadList(IRaCIS.Core.Application.Contracts.IRUploadStudyQuery)">
<summary> <summary>
获取该受试者任务上传列表(展示已上传情况) 获取该受试者任务上传列表(展示已上传情况)
</summary> </summary>
<param name="subjectId"></param> <returns></returns>
<param name="trialReadingCriterionId"></param> </member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.VerifyIRStudyAllowUpload(IRaCIS.Core.Application.Contracts.TaskStudyAchivePreConfirmCommand)">
<summary>
在调用预归档前验证 这些检查是否可以全新上传还是已存在补充 目前前端允许 IsAllowUpload==true 全新、IsAllowReUpload==true 补充的study ,全部丢到后端,后端判断存在,就删除之前的检查,全新插入
</summary>
<param name="inCommand"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetIRUploadTaskNoneDicomStudyList(IRaCIS.Core.Application.Contracts.IRUploadStudyQuery)">
<summary>
IR 上传任务 nonedicom 列表 后处理的数据UploadedFileCount不能排序 --new
</summary>
<param name="inQuery"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetCRCUploadedStudyInfo(IRaCIS.Core.Application.Contracts.CRCUploadedStudyQuqry)">
<summary>
IQC 获取CRC 上传到某一个访视的的检查信息 (原始影像信息 包含dicom 非dicom)
</summary>
<param name="inQuery"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetSubjectImageDownloadSelectList(IRaCIS.Core.Application.Contracts.IRReadingDownloadQuery)">
<summary>
IR 阅片页面 和IR 任务列表页面下载 勾选下载列表(后端要考虑到一致性分析 subjectCode的问题
</summary>
<param name="inQuery"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetIRReadingDownloadStudyInfo(IRaCIS.Core.Application.Contracts.IRDownloadQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Subject})">
<summary>
IR 阅片页面获取下载检查的信息 会根据标准进行过滤检查,(后端要考虑到一致性分析 subjectCode的问题
检查在访视下面所以需要传递下载的访视Id另外下载访视下面那些检查就把访视下的对应的检查Id 丢到数组里就好
</summary>
<param name="inQuery"></param>
<param name="_subjectRepository"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetTaskUploadedDicomStudyList(IRaCIS.Core.Application.Contracts.IRTaskUploadedDicomStudyQuery)">
<summary>
dicom 影响后处理预览接口
</summary>
<param name="inQuery"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.RequestPackageAndAnonymizImage(System.Guid,System.Guid,System.Boolean,System.Boolean)"> <member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.RequestPackageAndAnonymizImage(System.Guid,System.Guid,System.Boolean,System.Boolean)">
@ -1032,49 +1076,27 @@
<param name="isAnonymize"></param> <param name="isAnonymize"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetIRUploadTaskList(IRaCIS.Core.Application.Contracts.CRCUploadTaskQuery)"> <member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetIRUploadTaskList_Old(IRaCIS.Core.Application.Contracts.CRCUploadTaskQuery)">
<summary> <summary>
IR 影像上传任务列表 IR 影像上传任务列表 --old 20240903 界面调整,现在先废弃
</summary> </summary>
<param name="inQuery"></param> <param name="inQuery"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetIRUploadTaskDicomStudyList(IRaCIS.Core.Application.Contracts.CRCUploadTaskStudyQuery)"> <member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetIRUploadTaskDicomStudyList_Old(IRaCIS.Core.Application.Contracts.CRCUploadTaskStudyQuery)">
<summary> <summary>
IR 上传任务 dicom 列表 后处理的数据不能排序 IR 上传任务 dicom 列表 后处理的数据不能排序 --old 20240903 界面调整,现在先废弃
</summary> </summary>
<param name="inQuery"></param> <param name="inQuery"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetIRUploadTaskNoneDicomStudyList(IRaCIS.Core.Application.Contracts.CRCUploadTaskStudyQuery)"> <member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetIRUploadTaskNoneDicomStudyList_Old(IRaCIS.Core.Application.Contracts.CRCUploadTaskStudyQuery)">
<summary> <summary>
IR 上传任务 nonedicom 列表 后处理的数据不能排序 IR 上传任务 nonedicom 列表 后处理的数据不能排序 --old 20240903 界面调整,现在先废弃
</summary> </summary>
<param name="inQuery"></param> <param name="inQuery"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetCRCUploadedStudyInfo(IRaCIS.Core.Application.Contracts.CRCUploadedStudyQuqry)">
<summary>
IQC 获取CRC 上传到某一个访视的的检查信息 (原始影像信息 包含dicom 非dicom)
</summary>
<param name="inQuery"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetSubjectImageDownloadSelectList(IRaCIS.Core.Application.Contracts.IRReadingDownloadQuery)">
<summary>
IR 阅片页面 和IR 任务列表页面下载 勾选下载列表(后端要考虑到一致性分析 subjectCode的问题
</summary>
<param name="inQuery"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.DownloadAndUploadService.GetIRReadingDownloadStudyInfo(IRaCIS.Core.Application.Contracts.IRDownloadQuery,IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Subject})">
<summary>
IR 阅片页面获取下载检查的信息 会根据标准进行过滤检查,(后端要考虑到一致性分析 subjectCode的问题
</summary>
<param name="inQuery"></param>
<param name="_subjectRepository"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.StudyService.Preview(System.Guid)"> <member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.StudyService.Preview(System.Guid)">
<summary> 指定资源Id渲染Dicom检查的Jpeg预览图像 </summary> <summary> 指定资源Id渲染Dicom检查的Jpeg预览图像 </summary>
<param name="studyId"> Dicom检查的Id </param> <param name="studyId"> Dicom检查的Id </param>
@ -1382,6 +1404,7 @@
格式化日期和时间 格式化日期和时间
</summary> </summary>
<param name="identificationList"></param> <param name="identificationList"></param>
<param name="identification"></param>
<param name="jsonStr"></param> <param name="jsonStr"></param>
<returns></returns> <returns></returns>
</member> </member>
@ -1399,6 +1422,7 @@
</summary> </summary>
<param name="trialId">标识</param> <param name="trialId">标识</param>
<param name="identificationList">标识</param> <param name="identificationList">标识</param>
<param name="identification"></param>
<param name="jsonStr">Json对象</param> <param name="jsonStr">Json对象</param>
<returns></returns> <returns></returns>
</member> </member>
@ -2081,6 +2105,41 @@
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IVUSCalculateService.GetEEM(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
计算NTAV的EEM
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IVUSCalculateService.GetEEMLumenSum(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
获取(EEM-Lumen)求和
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IVUSCalculateService.GetNTAVEEMLumenSumOrRetraceImageCount(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
计算NTAV的EEM-Lumen求和/回撤中的图像数
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IVUSCalculateService.GetPAV(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
冠状动脉粥样硬化体积百分比PAV
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IVUSCalculateService.GetNTAV(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
<summary>
总动脉粥样硬化体积NTAV
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IVUSCalculateService.AddTaskLesionAnswerFromLastTask(IRaCIS.Core.Application.ViewModel.AddTaskLesionAnswerFromLastTaskInDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IVUSCalculateService.AddTaskLesionAnswerFromLastTask(IRaCIS.Core.Application.ViewModel.AddTaskLesionAnswerFromLastTaskInDto)">
<summary> <summary>
将上一次的访视病灶添加到这一次 将上一次的访视病灶添加到这一次
@ -3144,6 +3203,95 @@
<param name="digitPlaces"></param> <param name="digitPlaces"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.GetReadingCalculationData(IRaCIS.Core.Application.Service.Reading.Dto.GetReadingCalculationDataInDto)">
<summary>
获取阅片的计算数据
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="F:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.sODData">
<summary>
获取Sod的值
</summary>
</member>
<member name="F:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.iSODData">
<summary>
获取iSod的值
</summary>
</member>
<member name="F:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.lastVisitTaskId">
<summary>
上一次访视Id
</summary>
</member>
<member name="F:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.firstChangeTaskId">
<summary>
首次转变的任务ID
</summary>
</member>
<member name="F:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.compareTaskList">
<summary>
触发任务list
</summary>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.GetDeleteLesionStatrIndex(IRaCIS.Core.Application.Service.Reading.Dto.DeleteReadingRowAnswerInDto)">
<summary>
删除病灶获取起始病灶序号RECIST1Point1 固定是1
</summary>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.GetReadingReportEvaluation(IRaCIS.Core.Application.Service.Reading.Dto.GetReadingReportEvaluationInDto)">
<summary>
获取阅片报告
</summary>
<param name="indto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.TestCalculate(System.Guid,System.Nullable{IRaCIS.Core.Domain.Share.QuestionType})">
<summary>
测试计算
</summary>
<param name="visitTaskId"></param>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.CalculateTask(IRaCIS.Core.Application.Service.Reading.Dto.CalculateTaskInDto)">
<summary>
计算任务
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.GetReportVerify(IRaCIS.Core.Application.Service.Reading.Dto.GetReportVerifyInDto)">
<summary>
获取报告验证的信息(这里每个标准可能不一样 返回用object)
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.ReadingCalculate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto,System.Collections.Generic.List{IRaCIS.Core.Domain.Share.QuestionType})">
<summary>
自动计算
</summary>
<param name="inDto"></param>
<param name="calculateType"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.VerifyVisitTaskQuestions(IRaCIS.Core.Application.Service.Reading.Dto.VerifyVisitTaskQuestionsInDto)">
<summary>
验证访视提交
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.OCTCalculateService.AddTaskLesionAnswerFromLastTask(IRaCIS.Core.Application.ViewModel.AddTaskLesionAnswerFromLastTaskInDto)">
<summary>
将上一次的访视病灶添加到这一次
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.PCWG3CalculateService.GetReadingCalculationData(IRaCIS.Core.Application.Service.Reading.Dto.GetReadingCalculationDataInDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.PCWG3CalculateService.GetReadingCalculationData(IRaCIS.Core.Application.Service.Reading.Dto.GetReadingCalculationDataInDto)">
<summary> <summary>
获取阅片的计算数据 获取阅片的计算数据
@ -10311,6 +10459,11 @@
传了Id 传了Id
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.ViewModel.VisitTaskViewBasic.IsAnalysisCreate">
<summary>
是否是一致性分析产生
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.VisitTaskViewBasic.TaskUrgentType"> <member name="P:IRaCIS.Core.Application.ViewModel.VisitTaskViewBasic.TaskUrgentType">
<summary> <summary>
加急类型 加急类型
@ -10339,6 +10492,16 @@
<member name="T:IRaCIS.Core.Application.ViewModel.VisitTaskView"> <member name="T:IRaCIS.Core.Application.ViewModel.VisitTaskView">
<summary> VisitTaskView 列表视图模型 </summary> <summary> VisitTaskView 列表视图模型 </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReadingTaskView.IsManualGeneration">
<summary>
是否手动生成
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.ReReadingTaskView.IsAnalysisCreate">
<summary>
是否是一致性分析产生
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.IRUnreadTaskView.IsAnalysisCreate"> <member name="P:IRaCIS.Core.Application.ViewModel.IRUnreadTaskView.IsAnalysisCreate">
<summary> <summary>
是否是一致性分析产生 是否是一致性分析产生
@ -10444,6 +10607,11 @@
<member name="T:IRaCIS.Core.Application.ViewModel.FrontAuditConfigAddOrEdit"> <member name="T:IRaCIS.Core.Application.ViewModel.FrontAuditConfigAddOrEdit">
<summary> FrontAuditConfigAddOrEdit 列表查询参数模型</summary> <summary> FrontAuditConfigAddOrEdit 列表查询参数模型</summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.ViewModel.FrontAuditConfigAddOrEdit.CodeEn">
<summary>
字段的英文值
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.FrontAuditConfigAddOrEdit.IsForwardPosition"> <member name="P:IRaCIS.Core.Application.ViewModel.FrontAuditConfigAddOrEdit.IsForwardPosition">
<summary> <summary>
是否向前站位 是否向前站位
@ -13512,12 +13680,6 @@
<param name="inDto"></param> <param name="inDto"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:IRaCIS.Core.Application.TrialConfigService.SetTrialReadingCriterion(IRaCIS.Core.Application.Contracts.SetTrialReadingCriterionInDto)">
<summary>
设置项目阅片标准
</summary>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.TrialConfigService.SetCriterionReadingInfo(IRaCIS.Core.Application.Contracts.SetCriterionReadingInfoInDto)"> <member name="M:IRaCIS.Core.Application.TrialConfigService.SetCriterionReadingInfo(IRaCIS.Core.Application.Contracts.SetCriterionReadingInfoInDto)">
<summary> <summary>
设置项目阅片信息 设置项目阅片信息

View File

@ -61,7 +61,7 @@ namespace IRaCIS.Core.Application.Services
//配置文件读取过期时间 //配置文件读取过期时间
var days = AppSettings.ImageShareExpireDays; var days = AppSettings.IRaCISBasicConfig.ImageShareExpireDays;
imageShareCommand.ExpireTime = DateTime.Now.AddDays(days); imageShareCommand.ExpireTime = DateTime.Now.AddDays(days);

View File

@ -439,6 +439,7 @@ namespace IRaCIS.Core.Application.Service
/// 格式化日期和时间 /// 格式化日期和时间
/// </summary> /// </summary>
/// <param name="identificationList"></param> /// <param name="identificationList"></param>
/// <param name="identification"></param>
/// <param name="jsonStr"></param> /// <param name="jsonStr"></param>
/// <returns></returns> /// <returns></returns>
private async Task<string> SetDataInspectionDateType(List<string> identificationList, string identification, string jsonStr) private async Task<string> SetDataInspectionDateType(List<string> identificationList, string identification, string jsonStr)
@ -629,6 +630,7 @@ namespace IRaCIS.Core.Application.Service
/// </summary> /// </summary>
/// <param name="trialId">标识</param> /// <param name="trialId">标识</param>
/// <param name="identificationList">标识</param> /// <param name="identificationList">标识</param>
/// <param name="identification"></param>
/// <param name="jsonStr">Json对象</param> /// <param name="jsonStr">Json对象</param>
/// <returns></returns> /// <returns></returns>
private async Task<string> SetEnum(Guid trialId, List<string> identificationList, string identification, string jsonStr) private async Task<string> SetEnum(Guid trialId, List<string> identificationList, string identification, string jsonStr)

View File

@ -306,8 +306,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public decimal FristAddTaskNum { get; set; } public decimal FristAddTaskNum { get; set; }
public string? OtherMeasureData { get; set; } = string.Empty; public string OtherMeasureData { get; set; } = string.Empty;
public string MeasureData { get; set; } public string MeasureData { get; set; } = string.Empty;
public List<TableQuestionInfo> TableQuestionList { get; set; } = new List<TableQuestionInfo>(); public List<TableQuestionInfo> TableQuestionList { get; set; } = new List<TableQuestionInfo>();
} }

View File

@ -37,7 +37,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary> /// <summary>
/// 文件类型 /// 文件类型
/// </summary> /// </summary>
public string? FileType { get; set; } public string FileType { get; set; }=string.Empty;
public Guid QuestionId { get; set; } public Guid QuestionId { get; set; }
public Guid TableQuestionId { get; set; } public Guid TableQuestionId { get; set; }
@ -1096,7 +1096,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string MeasureData { get; set; } public string MeasureData { get; set; }
public string? OtherMeasureData { get; set; } public string OtherMeasureData { get; set; }
public int ShowOrder { get; set; } public int ShowOrder { get; set; }
@ -1119,9 +1119,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary> /// </summary>
public Guid? OtherStudyId { get; set; } public Guid? OtherStudyId { get; set; }
public string? OtherMarkTool { get; set; } public string OtherMarkTool { get; set; }
public string? OtherPicturePath { get; set; } public string OtherPicturePath { get; set; }
public int? OtherNumberOfFrames { get; set; } public int? OtherNumberOfFrames { get; set; }
@ -1187,7 +1187,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public QuestionType? QuestionType { get; set; } public QuestionType? QuestionType { get; set; }
public string? OrderMarkName { get; set; } = string.Empty; public string OrderMarkName { get; set; } = string.Empty;
/// <summary> /// <summary>
@ -1205,12 +1205,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary> /// </summary>
public Guid? OtherStudyId { get; set; } public Guid? OtherStudyId { get; set; }
public string? OtherMarkTool { get; set; } public string OtherMarkTool { get; set; }
public string? OtherPicturePath { get; set; } public string OtherPicturePath { get; set; }
public int? OtherNumberOfFrames { get; set; } public int? OtherNumberOfFrames { get; set; }
public string? OtherMeasureData { get; set; } = string.Empty; public string OtherMeasureData { get; set; } = string.Empty;
} }
public class GetReadingQuestionAndAnswerInDto public class GetReadingQuestionAndAnswerInDto
{ {
@ -1626,7 +1626,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary> /// <summary>
/// 文件类型 /// 文件类型
/// </summary> /// </summary>
public string? FileType { get; set; } public string FileType { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 字典code /// 字典code
@ -2165,14 +2165,14 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary> /// <summary>
/// 标记工具 /// 标记工具
/// </summary> /// </summary>
public string? MarkTool { get; set; } public string MarkTool { get; set; } = string.Empty;
public decimal RowIndex { get; set; } public decimal RowIndex { get; set; }
/// <summary> /// <summary>
/// 截图地址 /// 截图地址
/// </summary> /// </summary>
public string? PicturePath { get; set; } public string PicturePath { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 任务Id /// 任务Id
@ -2184,9 +2184,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary> /// </summary>
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
public string? MeasureData { get; set; } public string MeasureData { get; set; } = string.Empty;
public string? OtherMeasureData { get; set; } public string OtherMeasureData { get; set; } = string.Empty;
public Guid? SeriesId { get; set; } public Guid? SeriesId { get; set; }
@ -2212,7 +2212,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public decimal? WL { get; set; } public decimal? WL { get; set; }
public string? BlindName { get; set; } public string BlindName { get; set; } = string.Empty;
public bool IsDicomReading { get; set; } = true; public bool IsDicomReading { get; set; } = true;
@ -2232,9 +2232,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary> /// </summary>
public Guid? OtherStudyId { get; set; } public Guid? OtherStudyId { get; set; }
public string? OtherMarkTool { get; set; } public string OtherMarkTool { get; set; } = string.Empty;
public string? OtherPicturePath { get; set; } public string OtherPicturePath { get; set; } = string.Empty;
public int? OtherNumberOfFrames { get; set; } public int? OtherNumberOfFrames { get; set; }

View File

@ -383,7 +383,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary> /// <summary>
/// 文件类型 /// 文件类型
/// </summary> /// </summary>
public string? FileType { get; set; } public string FileType { get; set; }=string.Empty;
/// <summary> /// <summary>
/// 自定义单位 /// 自定义单位
@ -507,7 +507,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary> /// <summary>
/// 文件类型 /// 文件类型
/// </summary> /// </summary>
public string? FileType { get; set; } public string FileType { get; set; } = string.Empty;
public Guid? Id { get; set; } public Guid? Id { get; set; }
public Guid ReadingQuestionId { get; set; } public Guid ReadingQuestionId { get; set; }
public string Type { get; set; } = string.Empty; public string Type { get; set; } = string.Empty;
@ -1080,7 +1080,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary> /// <summary>
/// 文件类型 /// 文件类型
/// </summary> /// </summary>
public string? FileType { get; set; } public string FileType { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 数据来源 /// 数据来源
@ -1159,7 +1159,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary> /// <summary>
/// 文件类型 /// 文件类型
/// </summary> /// </summary>
public string? FileType { get; set; } public string FileType { get; set; } = string.Empty;
/// <summary> /// <summary>
/// Id /// Id
@ -1680,7 +1680,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary> /// <summary>
/// 文件类型 /// 文件类型
/// </summary> /// </summary>
public string? FileType { get; set; } public string FileType { get; set; }=string.Empty;
/// <summary> /// <summary>
/// 数据来源 /// 数据来源
@ -2076,7 +2076,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// <summary> /// <summary>
/// 文件类型 /// 文件类型
/// </summary> /// </summary>
public string? FileType { get; set; } public string FileType { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 自定义单位 /// 自定义单位

View File

@ -118,6 +118,13 @@ namespace IRaCIS.Application.Services
public IResponseOutput TestJson() public IResponseOutput TestJson()
{ {
var trial=new Trial();
trial.ExperimentName = null;
_trialRepository.AddAsync(trial,true);
return ResponseOutput.Ok(new TestModel(), IRCEmailPasswordHelper.GenerateRandomPassword(10)); return ResponseOutput.Ok(new TestModel(), IRCEmailPasswordHelper.GenerateRandomPassword(10));
} }

View File

@ -46,7 +46,7 @@ namespace IRaCIS.Core.Domain.Models
public bool IsEnable { get; set; } public bool IsEnable { get; set; }
public string Note { get; set; } public string Note { get; set; }=string.Empty;
public Guid TrialReadingCriterionId { get; set; } public Guid TrialReadingCriterionId { get; set; }

View File

@ -15,9 +15,9 @@ namespace IRaCIS.Core.Domain.Models
{ {
public class OSSImageInfo public class OSSImageInfo
{ {
public string FileName { get; set; } public string FileName { get; set; } = string.Empty;
public string ImagePath { get; set; } public string ImagePath { get; set; } = string.Empty;
} }
///<summary> ///<summary>
///TaskMedicalReview ///TaskMedicalReview

View File

@ -26,7 +26,7 @@ namespace IRaCIS.Core.Domain.Models
public bool IsEnable { get; set; } public bool IsEnable { get; set; }
public string Note { get; set; } public string Note { get; set; } = string.Empty;
public Guid TrialId { get; set; } public Guid TrialId { get; set; }

View File

@ -23,7 +23,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
public string VirturalSiteCode { get; set; } public string VirturalSiteCode { get; set; } = string.Empty;

View File

@ -17,8 +17,8 @@ namespace IRaCIS.Core.Domain.BaseModel
public class FailedDomainEvent public class FailedDomainEvent
{ {
public Guid Id { get; set; } public Guid Id { get; set; }
public string EventType { get; set; } public string EventType { get; set; } = string.Empty;
public string EventData { get; set; } public string EventData { get; set; } = string.Empty;
public DateTime FailedAt { get; set; } public DateTime FailedAt { get; set; }
} }
} }

View File

@ -104,7 +104,7 @@ namespace IRaCIS.Core.Domain.Models
public abstract class BaseAddAuditEntityWithUserName : Entity, IAuditAddWithUserName public abstract class BaseAddAuditEntityWithUserName : Entity, IAuditAddWithUserName
{ {
public string CreateUser { get; set; } public string CreateUser { get; set; } = string.Empty;
public Guid CreateUserId { get; set; } public Guid CreateUserId { get; set; }
public DateTime CreateTime { get; set; } public DateTime CreateTime { get; set; }

View File

@ -27,7 +27,7 @@ namespace IRaCIS.Core.Domain.Models
#endregion #endregion
public string ChildGroup { get; set; } public string ChildGroup { get; set; } = string.Empty;
public int ChildCodeEnum { get; set; } public int ChildCodeEnum { get; set; }
@ -46,7 +46,7 @@ namespace IRaCIS.Core.Domain.Models
public int ShowOrder { get; set; } public int ShowOrder { get; set; }
public string Code { get; set; } public string Code { get; set; } = string.Empty;
public Guid? ParentId { get; set; } public Guid? ParentId { get; set; }

View File

@ -89,7 +89,7 @@ namespace IRaCIS.Core.Domain.Models
//前端渲染数组 数组名 和数组值 //前端渲染数组 数组名 和数组值
public string ChildDataLabel { get; set; } public string ChildDataLabel { get; set; } = String.Empty;
/// <summary> /// <summary>
@ -97,7 +97,7 @@ namespace IRaCIS.Core.Domain.Models
/// </summary> /// </summary>
public string ChildDataEnLabel { get; set; } = string.Empty; public string ChildDataEnLabel { get; set; } = string.Empty;
public string ChildDataValue { get; set; } public string ChildDataValue { get; set; } = String.Empty;
@ -112,10 +112,10 @@ namespace IRaCIS.Core.Domain.Models
/// 前端展示类型 Router ArrayTable /// 前端展示类型 Router ArrayTable
/// </summary> /// </summary>
public string DataType { get; set; } public string DataType { get; set; } = String.Empty;
// 后端翻译的类型 对应前端界面 "",Dictionary,Date // 后端翻译的类型 对应前端界面 "",Dictionary,Date
public string EnumType { get; set; } public string EnumType { get; set; } = String.Empty;
@ -163,11 +163,11 @@ namespace IRaCIS.Core.Domain.Models
/// 是否为特殊类型 /// 是否为特殊类型
/// </summary> /// </summary>
public bool IsSpecialType { get; set; } public bool IsSpecialType { get; set; }
public string DictionaryKey { get; set; } public string DictionaryKey { get; set; } = string.Empty;
public bool IsShowByTrialConfig { get; set; } public bool IsShowByTrialConfig { get; set; }
public string TrialConfigRelyFieldName { get; set; } public string TrialConfigRelyFieldName { get; set; } = string.Empty;
#endregion #endregion
@ -180,7 +180,7 @@ namespace IRaCIS.Core.Domain.Models
{ {
public bool IsRoute { get; set; } public bool IsRoute { get; set; }
public string RoutePath { get; set; } public string RoutePath { get; set; } = string.Empty;
public bool IsHaveParameters { get; set; } public bool IsHaveParameters { get; set; }

View File

@ -17,11 +17,11 @@ namespace IRaCIS.Core.Domain.Models
{ {
public string Version { get; set; } public string Version { get; set; } = string.Empty;
public DateTime? PublishTime { get; set; } public DateTime? PublishTime { get; set; }
public string UpdateContent { get; set; } public string UpdateContent { get; set; } = string.Empty;
//0 开发中 ,已发布 //0 开发中 ,已发布
public int State { get; set; } public int State { get; set; }

View File

@ -33,7 +33,7 @@ namespace IRaCIS.Core.Domain.Models
public int ShowOrder { get; set; } public int ShowOrder { get; set; }
public string Code { get; set; } public string Code { get; set; } = string.Empty;
public Guid? ParentId { get; set; } public Guid? ParentId { get; set; }

View File

@ -11,7 +11,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid UserId { get; set; } = Guid.Empty; public Guid UserId { get; set; } = Guid.Empty;
//验证码 //验证码
public string Code { get; set; } public string Code { get; set; } = string.Empty;
//什么类型的验证码 邮箱|手机 //什么类型的验证码 邮箱|手机
@ -20,7 +20,7 @@ namespace IRaCIS.Core.Domain.Models
public bool HasSend { get; set; } public bool HasSend { get; set; }
//发送的邮箱或者手机 //发送的邮箱或者手机
public string EmailOrPhone { get; set; } public string EmailOrPhone { get; set; }=string.Empty;
//过期时间 //过期时间
public DateTime ExpirationTime { get; set; } public DateTime ExpirationTime { get; set; }

View File

@ -21,7 +21,7 @@ namespace IRaCIS.Core.Domain.Models
public Doctor Doctor { get; set; } public Doctor Doctor { get; set; }
public Guid DoctorId { get; set; } public Guid DoctorId { get; set; }
public string Type { get; set; } public string Type { get; set; } = string.Empty;
public bool IsOfficial { get; set; } = false; public bool IsOfficial { get; set; } = false;
public string Path { get; set; } = string.Empty; public string Path { get; set; } = string.Empty;
public string Code { get; set; } = string.Empty; public string Code { get; set; } = string.Empty;

View File

@ -48,7 +48,7 @@ namespace IRaCIS.Core.Domain.Models
#endregion #endregion
public string ReviewerCode { get; set; } public string ReviewerCode { get; set; } = string.Empty;
public int Code { get; set; } public int Code { get; set; }
@ -58,7 +58,7 @@ namespace IRaCIS.Core.Domain.Models
[StringLength(100)] [StringLength(100)]
public string Password { get; set; } public string Password { get; set; } = string.Empty;
[StringLength(50)] [StringLength(50)]

View File

@ -23,12 +23,12 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 文件名称 /// 文件名称
/// </summary> /// </summary>
public string FileName { get; set; } public string FileName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 文件路径 /// 文件路径
/// </summary> /// </summary>
public string FilePath { get; set; } public string FilePath { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 标准类型 /// 标准类型
@ -43,7 +43,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>
public string Remark { get; set; } public string Remark { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 文件类型 /// 文件类型
@ -59,7 +59,7 @@ namespace IRaCIS.Core.Domain.Models
public string CriterionName { get; set; } public string CriterionName { get; set; } = string.Empty;
public Guid? TrialReadingCriterionId { get; set; } public Guid? TrialReadingCriterionId { get; set; }
public Guid? TrialId { get; set; } public Guid? TrialId { get; set; }

View File

@ -41,7 +41,7 @@ namespace IRaCIS.Core.Domain.Models
public int CreateUserType { get; set; } public int CreateUserType { get; set; }
[Required] [Required]
public string YearMonth { get; set; } public string YearMonth { get; set; } = string.Empty;
public bool IsLock { get; set; } = false; public bool IsLock { get; set; } = false;

View File

@ -22,7 +22,7 @@ namespace IRaCIS.Core.Domain.Models
public Dictionary Phase { get; set; } public Dictionary Phase { get; set; }
[StringLength(512)] [StringLength(512)]
public string EvaluationContent { get; set; } public string EvaluationContent { get; set; } = string.Empty;
public int VisitReadingCount { get; set; } public int VisitReadingCount { get; set; }

View File

@ -84,8 +84,8 @@ namespace IRaCIS.Core.Domain.Models
public string Description { get; set; } = string.Empty; public string Description { get; set; } = string.Empty;
public string AttachName { get; set; } public string AttachName { get; set; } = string.Empty;
public string AttachNameCN { get; set; } public string AttachNameCN { get; set; } = string.Empty;
public string EmailHtmlContent { get; set; } = string.Empty; public string EmailHtmlContent { get; set; } = string.Empty;

View File

@ -10,7 +10,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid ReviewerId { get; set; } public Guid ReviewerId { get; set; }
[Required] [Required]
public string YearMonth { get; set; } public string YearMonth { get; set; } = string.Empty;
public bool IsLock { get; set; } public bool IsLock { get; set; }
} }
} }

View File

@ -6,7 +6,7 @@ namespace IRaCIS.Core.Domain.Models
[Table("ExchangeRate")] [Table("ExchangeRate")]
public class ExchangeRate : BaseFullAuditEntity public class ExchangeRate : BaseFullAuditEntity
{ {
public string YearMonth { get; set; } public string YearMonth { get; set; } = string.Empty;
[Column(TypeName = "decimal(18,2)")] [Column(TypeName = "decimal(18,2)")]
public decimal Rate { get; set; } public decimal Rate { get; set; }

View File

@ -9,7 +9,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid ReviewerId { get; set; } public Guid ReviewerId { get; set; }
public DateTime YearMonthDate { get; set; } public DateTime YearMonthDate { get; set; }
public string YearMonth { get; set; } public string YearMonth { get; set; } = string.Empty;
[Column(TypeName = "decimal(18,2)")] [Column(TypeName = "decimal(18,2)")]
public decimal AdjustmentUSD { get; set; } public decimal AdjustmentUSD { get; set; }

View File

@ -9,14 +9,14 @@ namespace IRaCIS.Core.Domain.Models
{ {
public Guid PaymentId { get; set; } public Guid PaymentId { get; set; }
public Guid DoctorId { get; set; } public Guid DoctorId { get; set; }
public string YearMonth { get; set; } public string YearMonth { get; set; } = string.Empty;
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
[StringLength(50)] [StringLength(50)]
public string TrialCode { get; set; } public string TrialCode { get; set; } = string.Empty;
[StringLength(50)] [StringLength(50)]
public string PaymentType { get; set; } public string PaymentType { get; set; } = string.Empty;
public int Count { get; set; } public int Count { get; set; }
[Column(TypeName = "decimal(18,2)")] [Column(TypeName = "decimal(18,2)")]

View File

@ -8,7 +8,7 @@ namespace IRaCIS.Core.Domain.Models
public partial class RankPrice : BaseFullAuditEntity public partial class RankPrice : BaseFullAuditEntity
{ {
[StringLength(200)] [StringLength(200)]
public string RankName { get; set; } public string RankName { get; set; } = string.Empty;
[Column(TypeName = "decimal(18,2)")] [Column(TypeName = "decimal(18,2)")]
public decimal Timepoint { get; set; } public decimal Timepoint { get; set; }

View File

@ -9,16 +9,16 @@ namespace IRaCIS.Core.Domain.Models
{ {
public Guid DoctorId { get; set; } public Guid DoctorId { get; set; }
[StringLength(200)] [StringLength(200)]
public string DoctorNameInBank { get; set; } public string DoctorNameInBank { get; set; } = string.Empty;
[StringLength(100)] [StringLength(100)]
public string IDCard { get; set; } public string IDCard { get; set; } = string.Empty;
[StringLength(100)] [StringLength(100)]
public string BankCardNumber { get; set; } public string BankCardNumber { get; set; } = string.Empty;
[StringLength(200)] [StringLength(200)]
public string BankName { get; set; } public string BankName { get; set; } = string.Empty;
public Guid RankId { get; set; } public Guid RankId { get; set; }
[Column(TypeName = "decimal(18,2)")] [Column(TypeName = "decimal(18,2)")]

View File

@ -8,7 +8,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid ReviewerId { get; set; } public Guid ReviewerId { get; set; }
public string YearMonth { get; set; } public string YearMonth { get; set; } = string.Empty;
public bool Training { get; set; } = false; public bool Training { get; set; } = false;

View File

@ -1,5 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Nullable>enable</Nullable>
</PropertyGroup>
<PropertyGroup> <PropertyGroup>
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
</PropertyGroup> </PropertyGroup>

View File

@ -22,9 +22,9 @@ namespace IRaCIS.Core.Domain.Models
public Guid SeqId { get; set; } public Guid SeqId { get; set; }
public Guid StudyId { get; set; } public Guid StudyId { get; set; }
public Guid SeriesId { get; set; } public Guid SeriesId { get; set; }
public string StudyInstanceUid { get; set; } public string StudyInstanceUid { get; set; } = String.Empty;
public string SeriesInstanceUid { get; set; } public string SeriesInstanceUid { get; set; } = String.Empty;
public string SopInstanceUid { get; set; } public string SopInstanceUid { get; set; } = String.Empty;
public int InstanceNumber { get; set; } public int InstanceNumber { get; set; }
public DateTime? InstanceTime { get; set; } public DateTime? InstanceTime { get; set; }
public bool CPIStatus { get; set; } public bool CPIStatus { get; set; }
@ -33,14 +33,14 @@ namespace IRaCIS.Core.Domain.Models
public int SliceLocation { get; set; } public int SliceLocation { get; set; }
public string SliceThickness { get; set; } public string SliceThickness { get; set; } = String.Empty;
public int NumberOfFrames { get; set; } public int NumberOfFrames { get; set; }
public string PixelSpacing { get; set; } public string PixelSpacing { get; set; } = String.Empty;
public string ImagerPixelSpacing { get; set; } public string ImagerPixelSpacing { get; set; } = String.Empty;
public string FrameOfReferenceUID { get; set; } public string FrameOfReferenceUID { get; set; } = String.Empty;
public string WindowCenter { get; set; } public string WindowCenter { get; set; } = String.Empty;
public string WindowWidth { get; set; } public string WindowWidth { get; set; } = String.Empty;
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
@ -48,9 +48,9 @@ namespace IRaCIS.Core.Domain.Models
public Guid SubjectId { get; set; } public Guid SubjectId { get; set; }
public Guid SubjectVisitId { get; set; } public Guid SubjectVisitId { get; set; }
public bool Anonymize { get; set; } public bool Anonymize { get; set; }
public string Path { get; set; } public string Path { get; set; } = String.Empty;
public string HtmlPath { get; set; }=string.Empty; public string HtmlPath { get; set; } = string.Empty;
public long? FileSize { get; set; } public long? FileSize { get; set; }

View File

@ -24,21 +24,21 @@ namespace IRaCIS.Core.Domain.Models
public Guid SeqId { get; set; } public Guid SeqId { get; set; }
public Guid StudyId { get; set; } public Guid StudyId { get; set; }
public string StudyInstanceUid { get; set; } public string StudyInstanceUid { get; set; }=string.Empty;
public string SeriesInstanceUid { get; set; } public string SeriesInstanceUid { get; set; } = string.Empty;
public int SeriesNumber { get; set; } public int SeriesNumber { get; set; }
public DateTime? SeriesTime { get; set; } public DateTime? SeriesTime { get; set; }
public string Modality { get; set; } public string Modality { get; set; } = string.Empty;
public string Description { get; set; } public string Description { get; set; } = string.Empty;
public int InstanceCount { get; set; } public int InstanceCount { get; set; }
public string SliceThickness { get; set; } public string SliceThickness { get; set; } = string.Empty;
public string ImagePositionPatient { get; set; } public string ImagePositionPatient { get; set; } = string.Empty;
public string ImageOrientationPatient { get; set; } public string ImageOrientationPatient { get; set; } = string.Empty;
public string BodyPartExamined { get; set; } public string BodyPartExamined { get; set; } = string.Empty;
public string SequenceName { get; set; } public string SequenceName { get; set; } = string.Empty;
public string ProtocolName { get; set; } public string ProtocolName { get; set; } = string.Empty;
public string ImagerPixelSpacing { get; set; } public string ImagerPixelSpacing { get; set; } = string.Empty;
public string AcquisitionTime { get; set; } = string.Empty; public string AcquisitionTime { get; set; } = string.Empty;
public string AcquisitionNumber { get; set; } = string.Empty; public string AcquisitionNumber { get; set; } = string.Empty;

View File

@ -63,7 +63,7 @@ namespace IRaCIS.Core.Domain.Models
public long FileSize { get; set; } public long FileSize { get; set; }
public string IP { get; set; } public string IP { get; set; }=string.Empty;
public bool IsDicomReUpload { get; set; } public bool IsDicomReUpload { get; set; }

View File

@ -13,7 +13,7 @@ namespace IRaCIS.Core.Domain.Models
public DateTime ExpireTime { get; set; } public DateTime ExpireTime { get; set; }
public string Password { get; set; } public string Password { get; set; } = string.Empty;
} }
} }

View File

@ -52,10 +52,10 @@ namespace IRaCIS.Core.Domain.Models
public string BodyPart { get; set; } public string BodyPart { get; set; } = string.Empty;
public string Modality { get; set; } public string Modality { get; set; } = string.Empty;
public DateTime ImageDate { get; set; } public DateTime ImageDate { get; set; }

View File

@ -30,12 +30,12 @@ namespace IRaCIS.Core.Domain.Models
public Guid NoneDicomStudyId { get; set; } public Guid NoneDicomStudyId { get; set; }
public string Path { get; set; } public string Path { get; set; } = string.Empty;
public string FileName { get; set; } public string FileName { get; set; } = string.Empty;
public string FileType { get; set; } public string FileType { get; set; } = string.Empty;
public long? FileSize { get; set; } public long? FileSize { get; set; }

View File

@ -22,9 +22,9 @@ namespace IRaCIS.Core.Domain.Models
public Guid SeqId { get; set; } public Guid SeqId { get; set; }
public Guid StudyId { get; set; } public Guid StudyId { get; set; }
public Guid SeriesId { get; set; } public Guid SeriesId { get; set; }
public string StudyInstanceUid { get; set; } public string StudyInstanceUid { get; set; } = string.Empty;
public string SeriesInstanceUid { get; set; } public string SeriesInstanceUid { get; set; } = string.Empty;
public string SopInstanceUid { get; set; } public string SopInstanceUid { get; set; } = string.Empty;
public int InstanceNumber { get; set; } public int InstanceNumber { get; set; }
public DateTime? InstanceTime { get; set; } public DateTime? InstanceTime { get; set; }
public bool CPIStatus { get; set; } public bool CPIStatus { get; set; }
@ -33,14 +33,14 @@ namespace IRaCIS.Core.Domain.Models
public int SliceLocation { get; set; } public int SliceLocation { get; set; }
public string SliceThickness { get; set; } public string SliceThickness { get; set; } = string.Empty;
public int NumberOfFrames { get; set; } public int NumberOfFrames { get; set; }
public string PixelSpacing { get; set; } public string PixelSpacing { get; set; } = string.Empty;
public string ImagerPixelSpacing { get; set; } public string ImagerPixelSpacing { get; set; } = string.Empty;
public string FrameOfReferenceUID { get; set; } public string FrameOfReferenceUID { get; set; } = string.Empty;
public string WindowCenter { get; set; } public string WindowCenter { get; set; } = string.Empty;
public string WindowWidth { get; set; } public string WindowWidth { get; set; } = string.Empty;
public bool Anonymize { get; set; } public bool Anonymize { get; set; }
public string Path { get; set; } = string.Empty; public string Path { get; set; } = string.Empty;

View File

@ -20,21 +20,21 @@ namespace IRaCIS.Core.Domain.Models
public Guid SeqId { get; set; } public Guid SeqId { get; set; }
public Guid StudyId { get; set; } public Guid StudyId { get; set; }
public string StudyInstanceUid { get; set; } public string StudyInstanceUid { get; set; } = string.Empty;
public string SeriesInstanceUid { get; set; } public string SeriesInstanceUid { get; set; } = string.Empty;
public int SeriesNumber { get; set; } public int SeriesNumber { get; set; }
public DateTime? SeriesTime { get; set; } public DateTime? SeriesTime { get; set; }
public string Modality { get; set; } public string Modality { get; set; }=string.Empty;
public string Description { get; set; } public string Description { get; set; } = string.Empty;
public int InstanceCount { get; set; } public int InstanceCount { get; set; }
public string SliceThickness { get; set; } public string SliceThickness { get; set; } = string.Empty;
public string ImagePositionPatient { get; set; } public string ImagePositionPatient { get; set; } = string.Empty;
public string ImageOrientationPatient { get; set; } public string ImageOrientationPatient { get; set; } = string.Empty;
public string BodyPartExamined { get; set; } public string BodyPartExamined { get; set; } = string.Empty;
public string SequenceName { get; set; } public string SequenceName { get; set; } = string.Empty;
public string ProtocolName { get; set; } public string ProtocolName { get; set; } = string.Empty;
public string ImagerPixelSpacing { get; set; } public string ImagerPixelSpacing { get; set; } = string.Empty;
public string AcquisitionTime { get; set; } = string.Empty; public string AcquisitionTime { get; set; } = string.Empty;
public string AcquisitionNumber { get; set; } = string.Empty; public string AcquisitionNumber { get; set; } = string.Empty;

View File

@ -25,7 +25,7 @@ namespace IRaCIS.Core.Domain.Models
public string TagDescription { get; set; } = String.Empty; public string TagDescription { get; set; } = String.Empty;
public string TagDescriptionCN { get; set; } public string TagDescriptionCN { get; set; } = string.Empty;
public string ReplaceValue { get; set; } = String.Empty; public string ReplaceValue { get; set; } = String.Empty;

View File

@ -21,9 +21,9 @@ namespace IRaCIS.Core.Domain.Models
public Guid SeqId { get; set; } public Guid SeqId { get; set; }
public Guid StudyId { get; set; } public Guid StudyId { get; set; }
public Guid SeriesId { get; set; } public Guid SeriesId { get; set; }
public string StudyInstanceUid { get; set; } public string StudyInstanceUid { get; set; } = string.Empty;
public string SeriesInstanceUid { get; set; } public string SeriesInstanceUid { get; set; } = string.Empty;
public string SopInstanceUid { get; set; } public string SopInstanceUid { get; set; } = string.Empty;
public int InstanceNumber { get; set; } public int InstanceNumber { get; set; }
public DateTime? InstanceTime { get; set; } public DateTime? InstanceTime { get; set; }
public bool CPIStatus { get; set; } public bool CPIStatus { get; set; }
@ -32,21 +32,21 @@ namespace IRaCIS.Core.Domain.Models
public int SliceLocation { get; set; } public int SliceLocation { get; set; }
public string SliceThickness { get; set; } public string SliceThickness { get; set; } = string.Empty;
public int NumberOfFrames { get; set; } public int NumberOfFrames { get; set; }
public string PixelSpacing { get; set; } public string PixelSpacing { get; set; } = string.Empty;
public string ImagerPixelSpacing { get; set; } public string ImagerPixelSpacing { get; set; } = string.Empty;
public string FrameOfReferenceUID { get; set; } public string FrameOfReferenceUID { get; set; } = string.Empty;
public string WindowCenter { get; set; } public string WindowCenter { get; set; } = string.Empty;
public string WindowWidth { get; set; } public string WindowWidth { get; set; } = string.Empty;
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
public Guid SubjectId { get; set; } public Guid SubjectId { get; set; }
public Guid VisitTaskId { get; set; } public Guid VisitTaskId { get; set; }
public bool Anonymize { get; set; } public bool Anonymize { get; set; }
public string Path { get; set; } public string Path { get; set; } = string.Empty;
public string HtmlPath { get; set; }=string.Empty; public string HtmlPath { get; set; }=string.Empty;

View File

@ -20,21 +20,21 @@ namespace IRaCIS.Core.Domain.Models
public Guid SeqId { get; set; } public Guid SeqId { get; set; }
public Guid StudyId { get; set; } public Guid StudyId { get; set; }
public string StudyInstanceUid { get; set; } public string StudyInstanceUid { get; set; } = String.Empty;
public string SeriesInstanceUid { get; set; } public string SeriesInstanceUid { get; set; } = String.Empty;
public int SeriesNumber { get; set; } public int SeriesNumber { get; set; }
public DateTime? SeriesTime { get; set; } public DateTime? SeriesTime { get; set; }
public string Modality { get; set; } public string Modality { get; set; } = String.Empty;
public string Description { get; set; } public string Description { get; set; } = String.Empty;
public int InstanceCount { get; set; } public int InstanceCount { get; set; }
public string SliceThickness { get; set; } public string SliceThickness { get; set; } = String.Empty;
public string ImagePositionPatient { get; set; } public string ImagePositionPatient { get; set; } = String.Empty;
public string ImageOrientationPatient { get; set; } public string ImageOrientationPatient { get; set; } = String.Empty;
public string BodyPartExamined { get; set; } public string BodyPartExamined { get; set; } = String.Empty;
public string SequenceName { get; set; } public string SequenceName { get; set; } = String.Empty;
public string ProtocolName { get; set; } public string ProtocolName { get; set; } = String.Empty;
public string ImagerPixelSpacing { get; set; } public string ImagerPixelSpacing { get; set; } = String.Empty;
public string AcquisitionTime { get; set; } = string.Empty; public string AcquisitionTime { get; set; } = string.Empty;
public string AcquisitionNumber { get; set; } = string.Empty; public string AcquisitionNumber { get; set; } = string.Empty;

View File

@ -23,7 +23,7 @@ namespace IRaCIS.Core.Domain.Models
public string CalledAE { get; set; } = string.Empty; public string CalledAE { get; set; } = string.Empty;
public string IP { get; set; } public string IP { get; set; } = string.Empty;
public int Port { get; set; } public int Port { get; set; }
@ -32,7 +32,7 @@ namespace IRaCIS.Core.Domain.Models
public string Modality { get; set; } = string.Empty; public string Modality { get; set; } = string.Empty;
public string Description { get; set; }=string.Empty; public string Description { get; set; } = string.Empty;
public DateTime? LatestTestTime { get; set; } public DateTime? LatestTestTime { get; set; }

View File

@ -11,7 +11,7 @@ namespace IRaCIS.Core.Domain.Models
#endregion #endregion
public string CROName { get; set; } = string.Empty; public string CROName { get; set; } = string.Empty;
public string CRONameCN { get; set; } = string.Empty; public string CRONameCN { get; set; } = string.Empty;
public string CROCode { get; set; } public string CROCode { get; set; } = string.Empty;
public bool IsTrialLevel { get; set; } public bool IsTrialLevel { get; set; }

View File

@ -18,7 +18,7 @@ namespace IRaCIS.Core.Domain.Models
public string SiteName { get; set; } = string.Empty; public string SiteName { get; set; } = string.Empty;
public string SiteNameCN{ get; set; } = string.Empty; public string SiteNameCN{ get; set; } = string.Empty;
public string AliasName { get; set; } = string.Empty; public string AliasName { get; set; } = string.Empty;
public string SiteCode { get; set; } public string SiteCode { get; set; } = string.Empty;
public int Code { get; set; } public int Code { get; set; }
@ -31,7 +31,7 @@ namespace IRaCIS.Core.Domain.Models
public string UniqueCode { get; set; } = string.Empty; public string UniqueCode { get; set; } = string.Empty;
public string Address { get; set; } public string Address { get; set; } = string.Empty;
public string DirectorName { get; set; } = string.Empty; public string DirectorName { get; set; } = string.Empty;
public string DirectorPhone { get; set; } = string.Empty; public string DirectorPhone { get; set; } = string.Empty;

View File

@ -20,7 +20,7 @@ namespace IRaCIS.Core.Domain.Models
// 类型M目录 C菜单 F按钮 L链接 // 类型M目录 C菜单 F按钮 L链接
public string MenuType { get; set; } = string.Empty; public string MenuType { get; set; } = string.Empty;
public string MenuIcon { get; set; } public string MenuIcon { get; set; } = string.Empty;
public string MenuName { get; set; } = string.Empty; public string MenuName { get; set; } = string.Empty;
@ -44,10 +44,10 @@ namespace IRaCIS.Core.Domain.Models
public bool IsExternalLink { get; set; } public bool IsExternalLink { get; set; }
//权限点 //权限点
public string PermissionStr { get; set; } public string PermissionStr { get; set; } = string.Empty;
//Api 接口地址 //Api 接口地址
public string ApiPath { get; set; } public string ApiPath { get; set; } = string.Empty;
public string Note { get; set; } = string.Empty; public string Note { get; set; } = string.Empty;
@ -56,7 +56,7 @@ namespace IRaCIS.Core.Domain.Models
public string Redirect { get; set; } = string.Empty; public string Redirect { get; set; } = string.Empty;
public string LanguageMark { get; set; } public string LanguageMark { get; set; } = string.Empty;
} }

View File

@ -30,7 +30,7 @@ namespace IRaCIS.Core.Domain.Models
public string NoticeContent { get; set; } public string NoticeContent { get; set; } = string.Empty;
public SystemNotice_NoticeTypeEnum NoticeTypeEnum { get; set; } public SystemNotice_NoticeTypeEnum NoticeTypeEnum { get; set; }
@ -46,9 +46,9 @@ namespace IRaCIS.Core.Domain.Models
public DateTime? EndDate { get; set; } public DateTime? EndDate { get; set; }
public string FileName { get; set; } public string FileName { get; set; } = string.Empty;
public string Path { get; set; } public string Path { get; set; } = string.Empty;
public Guid? PublishedUserId { get; set; } public Guid? PublishedUserId { get; set; }

View File

@ -47,7 +47,7 @@ namespace IRaCIS.Core.Domain.Models
public int QuestionType { get; set; } public int QuestionType { get; set; }
public string QuestionDescription { get; set; } public string QuestionDescription { get; set; } = string.Empty;
@ -61,7 +61,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid? TrialId { get; set; } public Guid? TrialId { get; set; }
public string ScreenshotListStr { get; set; } public string ScreenshotListStr { get; set; } = string.Empty;

View File

@ -40,7 +40,7 @@ namespace IRaCIS.Core.Domain.Models
public string IPRegion { get; set; } public string IPRegion { get; set; } = string.Empty;
} }

View File

@ -27,7 +27,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 密码 /// 密码
/// </summary> /// </summary>
public string PassWord { get; set; } public string PassWord { get; set; } = string.Empty;

View File

@ -22,9 +22,9 @@ namespace IRaCIS.Core.Domain.Models
#endregion #endregion
public UserTypeEnum UserTypeEnum { get; set; } public UserTypeEnum UserTypeEnum { get; set; }
public string UserTypeName { get; set; } public string UserTypeName { get; set; } = string.Empty;
public string Description { get; set; } public string Description { get; set; } = string.Empty;
public int Order { get; set; } public int Order { get; set; }
@ -33,7 +33,7 @@ namespace IRaCIS.Core.Domain.Models
public bool IsEnable { get; set; } = true; public bool IsEnable { get; set; } = true;
public string PermissionStr { get; set; } public string PermissionStr { get; set; } = string.Empty;

View File

@ -26,6 +26,6 @@ namespace IRaCIS.Core.Domain.Models
public bool? IsCRCNeedReply { get; set; } public bool? IsCRCNeedReply { get; set; }
public string ParamInfo { get; set; } public string ParamInfo { get; set; } = string.Empty;
} }
} }

View File

@ -24,9 +24,9 @@ namespace IRaCIS.Core.Domain.Models
public Guid SubjectVisitId { get; set; } public Guid SubjectVisitId { get; set; }
public string Path { get; set; } public string Path { get; set; } = string.Empty;
public string FileName { get; set; } public string FileName { get; set; } = string.Empty;
public bool? IsVisist { get; set; } public bool? IsVisist { get; set; }

View File

@ -16,10 +16,10 @@ namespace IRaCIS.Core.Domain.Models
public User User { get; set; } public User User { get; set; }
#endregion #endregion
public string FileName { get; set; } public string FileName { get; set; } = string.Empty;
public string RelativePath { get; set; } public string RelativePath { get; set; } = string.Empty;
public Guid TrialId { get; set; } public Guid TrialId { get; set; }

View File

@ -53,7 +53,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid? LatestReplyUserId { get; set; } public Guid? LatestReplyUserId { get; set; }
public string ChallengeCode { get; set; } public string ChallengeCode { get; set; } = string.Empty;
public int Code { get; set; } public int Code { get; set; }

View File

@ -37,7 +37,7 @@ namespace IRaCIS.Core.Domain.Models
public string TypeValue { get; set; } = string.Empty; public string TypeValue { get; set; } = string.Empty;
public string ParentTriggerValue { get; set; } public string ParentTriggerValue { get; set; } = string.Empty;
public Guid? ParentId { get; set; } public Guid? ParentId { get; set; }

View File

@ -49,10 +49,10 @@ namespace IRaCIS.Core.Domain.Models
public Guid? ParentId { get; set; } public Guid? ParentId { get; set; }
public string TypeValue { get; set; } public string TypeValue { get; set; } = string.Empty;
public string ParentTriggerValue { get; set; } public string ParentTriggerValue { get; set; } = string.Empty;
public int ShowOrder { get; set; } public int ShowOrder { get; set; }

View File

@ -23,7 +23,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid TrialId { get; set; } public Guid TrialId { get; set; }
public string Answer { get; set; } public string Answer { get; set; } = string.Empty;
public TrialQCProcess QCProcessEnum { get; set; } public TrialQCProcess QCProcessEnum { get; set; }

View File

@ -32,7 +32,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid? VisitTaskId { get; set; } public Guid? VisitTaskId { get; set; }
public string Answer { get; set; } public string Answer { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 附加评估答案翻译字典 /// 附加评估答案翻译字典
@ -50,13 +50,13 @@ namespace IRaCIS.Core.Domain.Models
/// 最终结果 /// 最终结果
/// </summary> /// </summary>
public string FinalAnswer { get; set; } public string FinalAnswer { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 最终结果翻字典 /// 最终结果翻字典
/// </summary> /// </summary>
public string FinalTranslateDictionaryCode { get; set; } public string FinalTranslateDictionaryCode { get; set; } = string.Empty;
} }

View File

@ -1,10 +1,9 @@
using System;
using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations; using System;
using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq; using System.Linq;
namespace IRaCIS.Core.Domain.Models namespace IRaCIS.Core.Domain.Models
@ -27,7 +26,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 名称 /// 名称
/// </summary> /// </summary>
public string ClinicalDataSetName { get; set; } public string ClinicalDataSetName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 是否应用 /// 是否应用
@ -65,20 +64,20 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 模板文件名称 /// 模板文件名称
/// </summary> /// </summary>
public string FileName { get; set; } public string FileName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 文件路径 /// 文件路径
/// </summary> /// </summary>
public string Path { get; set; } public string Path { get; set; } = string.Empty;
public string CriterionEnumListStr { get; set; }=String.Empty; public string CriterionEnumListStr { get; set; } = String.Empty;
[NotMapped] [NotMapped]
public List<int> CriterionEnumList => CriterionEnumListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t) && int.TryParse(t.Trim(),out var s)).Select(t => int.Parse(t.Trim()) ).ToList(); public List<int> CriterionEnumList => CriterionEnumListStr.Split('|', StringSplitOptions.RemoveEmptyEntries).Where(t => !string.IsNullOrEmpty(t) && int.TryParse(t.Trim(), out var s)).Select(t => int.Parse(t.Trim())).ToList();
//public List<SystemClinicalDataCriterion> SystemClinicalDataCriterionList { get; set; } = new List<SystemClinicalDataCriterion>(); //public List<SystemClinicalDataCriterion> SystemClinicalDataCriterionList { get; set; } = new List<SystemClinicalDataCriterion>();

View File

@ -39,7 +39,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 名称 /// 名称
/// </summary> /// </summary>
public string ClinicalDataSetName { get; set; } public string ClinicalDataSetName { get; set; }=string.Empty;
/// <summary> /// <summary>
/// 英文名称 /// 英文名称
@ -87,12 +87,12 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 模板文件名称 /// 模板文件名称
/// </summary> /// </summary>
public string FileName { get; set; } public string FileName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 文件路径 /// 文件路径
/// </summary> /// </summary>
public string Path { get; set; } public string Path { get; set; } = string.Empty;

View File

@ -24,15 +24,15 @@ namespace IRaCIS.Core.Domain.Models
/// </summary> /// </summary>
public Guid ReadingClinicalDataId { get; set; } public Guid ReadingClinicalDataId { get; set; }
public string Path { get; set; } public string Path { get; set; } = string.Empty;
public string FileName { get; set; } public string FileName { get; set; } = string.Empty;
public int Size { get; set; } = 0; public int Size { get; set; } = 0;
public string Type { get; set; } public string Type { get; set; } = string.Empty;
} }

View File

@ -24,17 +24,17 @@ namespace IRaCIS.Core.Domain.Models
/// </summary> /// </summary>
public Guid ReadingConsistentClinicalDataId { get; set; } public Guid ReadingConsistentClinicalDataId { get; set; }
public string Path { get; set; } public string Path { get; set; } = string.Empty;
public string FileName { get; set; } public string FileName { get; set; } = string.Empty;
public int Size { get; set; } = 0; public int Size { get; set; } = 0;
/// <summary> /// <summary>
/// 文件类型 /// 文件类型
/// </summary> /// </summary>
public string Type { get; set; } public string Type { get; set; } = string.Empty;
} }

View File

@ -64,7 +64,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 临床问题类型(分组,单选。) /// 临床问题类型(分组,单选。)
/// </summary> /// </summary>
public string ClinicalQuestionType { get; set; } public string ClinicalQuestionType { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 问题标识 /// 问题标识

View File

@ -55,7 +55,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 临床问题类型(分组,单选。) /// 临床问题类型(分组,单选。)
/// </summary> /// </summary>
public string ClinicalTableQuestionType { get; set; } public string ClinicalTableQuestionType { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 问题标识 /// 问题标识
@ -75,7 +75,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 自定义选项 /// 自定义选项
/// </summary> /// </summary>
public string TypeValue { get; set; } public string TypeValue { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 字典Code /// 字典Code

View File

@ -64,7 +64,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 临床问题类型(分组,单选。) /// 临床问题类型(分组,单选。)
/// </summary> /// </summary>
public string ClinicalQuestionType { get; set; } public string ClinicalQuestionType { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 问题标识 /// 问题标识

View File

@ -56,7 +56,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 临床问题类型(分组,单选。) /// 临床问题类型(分组,单选。)
/// </summary> /// </summary>
public string ClinicalTableQuestionType { get; set; } public string ClinicalTableQuestionType { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 问题标识 /// 问题标识
@ -76,7 +76,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 自定义选项 /// 自定义选项
/// </summary> /// </summary>
public string TypeValue { get; set; } public string TypeValue { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 字典Code /// 字典Code

View File

@ -37,7 +37,7 @@ namespace IRaCIS.Core.Domain.Models
/// </summary> /// </summary>
public Guid QuestionId { get; set; } public Guid QuestionId { get; set; }
public string Answer { get; set; } public string Answer { get; set; } = string.Empty;
public Guid ClinicalDataTrialSetId { get; set; } public Guid ClinicalDataTrialSetId { get; set; }

View File

@ -30,7 +30,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid RowId { get; set; } public Guid RowId { get; set; }
public string Answer { get; set; } public string Answer { get; set; }=string.Empty;
public Guid TableQuestionId { get; set; } public Guid TableQuestionId { get; set; }

View File

@ -70,7 +70,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 用户角色 /// 用户角色
/// </summary> /// </summary>
public string UserTypeShortName { get; set; } public string UserTypeShortName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 医学审核对话关闭原因 /// 医学审核对话关闭原因

View File

@ -33,7 +33,7 @@ namespace IRaCIS.Core.Domain.Models
public Guid VisitTaskId { get; set; } public Guid VisitTaskId { get; set; }
public string Answer { get; set; } public string Answer { get; set; } = string.Empty;

View File

@ -32,7 +32,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 类型 /// 类型
/// </summary> /// </summary>
public string Type { get; set; } public string Type { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 父问题触发 /// 父问题触发
@ -42,7 +42,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 问题名称 /// 问题名称
/// </summary> /// </summary>
public string QuestionName { get; set; } public string QuestionName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 语言类型 /// 语言类型
@ -69,7 +69,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 类型值 /// 类型值
/// </summary> /// </summary>
public string TypeValue { get; set; } public string TypeValue { get; set; } = string.Empty;

View File

@ -25,7 +25,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 类型 /// 类型
/// </summary> /// </summary>
public string Type { get; set; } public string Type { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 父问题触发值 /// 父问题触发值
@ -35,7 +35,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 问题名称 /// 问题名称
/// </summary> /// </summary>
public string QuestionName { get; set; } public string QuestionName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 语言类型 /// 语言类型
@ -47,7 +47,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 类型值 /// 类型值
/// </summary> /// </summary>
public string TypeValue { get; set; } public string TypeValue { get; set; } = string.Empty;
/// <summary> /// <summary>

View File

@ -63,7 +63,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>
public string Remark { get; set; } public string Remark { get; set; } = string.Empty;
/// <summary> /// <summary>

View File

@ -29,7 +29,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 分页名称 /// 分页名称
/// </summary> /// </summary>
public string PageName { get; set; } public string PageName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 是否启用 /// 是否启用

View File

@ -21,7 +21,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 标准 /// 标准
/// </summary> /// </summary>
public string CriterionName { get; set; } public string CriterionName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 是否启用 /// 是否启用
@ -47,7 +47,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 描述 /// 描述
/// </summary> /// </summary>
public string Description { get; set; } public string Description { get; set; } = string.Empty;

View File

@ -50,7 +50,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 标准 /// 标准
/// </summary> /// </summary>
public string CriterionName { get; set; } public string CriterionName { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 是否启用 /// 是否启用
@ -73,7 +73,7 @@ namespace IRaCIS.Core.Domain.Models
/// <summary> /// <summary>
/// 描述 /// 描述
/// </summary> /// </summary>
public string Description { get; set; } public string Description { get; set; } = string.Empty;
/// <summary> /// <summary>
/// 是否确认 /// 是否确认

Some files were not shown because too many files have changed in this diff Show More