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

@ -235,7 +235,7 @@ namespace IRaCIS.Core.API.Controllers
IRepository<SubjectVisit> _subjectVisitRepository,
IStringLocalizer _localizer) : UploadBaseController
{
[HttpPost, Route("Study/PreArchiveStudy")]
@ -272,7 +272,7 @@ namespace IRaCIS.Core.API.Controllers
[DisableFormValueModelBinding]
[DisableRequestSizeLimit]
[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] IStudyService _studyService,
[FromServices] IHubContext<UploadHub, IUploadClient> _uploadHub,
@ -424,7 +424,7 @@ namespace IRaCIS.Core.API.Controllers
public Guid SubjectVisitId { get; set; }
[NotDefault]
[NotDefault]
public Guid StudyMonitorId { get; set; }
@ -481,9 +481,9 @@ namespace IRaCIS.Core.API.Controllers
{
//如果是跟任务绑那么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
@ -498,7 +498,7 @@ namespace IRaCIS.Core.API.Controllers
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.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 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)
{

View File

@ -1,156 +1,107 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<SignAssembly>false</SignAssembly>
<UserSecretsId>354572d4-9e15-4099-807c-63a2d29ff9f2</UserSecretsId>
<LangVersion>default</LangVersion>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
<Version>1.0.1.001</Version>
<Company>上海展影医疗科技有限公司</Company>
<Product>IRC影像系统 (EICS)</Product>
<Copyright>上海展影医疗科技有限公司版权所有</Copyright>
</PropertyGroup>
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<SignAssembly>false</SignAssembly>
<UserSecretsId>354572d4-9e15-4099-807c-63a2d29ff9f2</UserSecretsId>
<LangVersion>default</LangVersion>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
<Version>1.0.1.001</Version>
<Company>上海展影医疗科技有限公司</Company>
<Product>IRC影像系统 (EICS)</Product>
<Copyright>上海展影医疗科技有限公司版权所有</Copyright>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DocumentationFile>.\IRaCIS.Core.API.xml</DocumentationFile>
<NoWarn>1701;1702;1591;1570;</NoWarn>
<OutputPath>..\bin\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<DocumentationFile>.\IRaCIS.Core.API.xml</DocumentationFile>
<NoWarn>1701;1702;1591;1570;</NoWarn>
<OutputPath>..\bin\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DocumentationFile>bin\Release\IRaCIS.Core.API.xml</DocumentationFile>
<OutputPath>bin\Release\</OutputPath>
<NoWarn>1701;1702;1591</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<DocumentationFile>bin\Release\IRaCIS.Core.API.xml</DocumentationFile>
<OutputPath>bin\Release\</OutputPath>
<NoWarn>1701;1702;1591</NoWarn>
</PropertyGroup>
<ItemGroup>
<Content Remove="web.config" />
<Content Remove="wwwroot\swagger\ui\abp.js" />
<Content Remove="wwwroot\swagger\ui\abp.swagger.js" />
<Content Remove="wwwroot\swagger\ui\Index.html" />
</ItemGroup>
<ItemGroup>
<Content Remove="web.config" />
<Content Remove="wwwroot\swagger\ui\abp.js" />
<Content Remove="wwwroot\swagger\ui\abp.swagger.js" />
<Content Remove="wwwroot\swagger\ui\Index.html" />
</ItemGroup>
<ItemGroup>
<None Remove=".preview.jpg" />
<None Remove="GrpcToken.proto" />
<None Remove="IRaCIS.Core.API.xml" />
<None Remove="Protos\GrpcToken.proto" />
</ItemGroup>
<ItemGroup>
<None Remove=".preview.jpg" />
<None Remove="GrpcToken.proto" />
<None Remove="IRaCIS.Core.API.xml" />
<None Remove="Protos\GrpcToken.proto" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="GrpcToken.proto" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="wwwroot\swagger\ui\abp.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="wwwroot\swagger\ui\abp.swagger.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="wwwroot\swagger\ui\Index.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Protobuf Include="Protos\GrpcToken.proto">
<GrpcServices>Client</GrpcServices>
</Protobuf>
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="GrpcToken.proto" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="wwwroot\swagger\ui\abp.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="wwwroot\swagger\ui\abp.swagger.js">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
<EmbeddedResource Include="wwwroot\swagger\ui\Index.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Protobuf Include="Protos\GrpcToken.proto">
<GrpcServices>Client</GrpcServices>
</Protobuf>
</ItemGroup>
<ItemGroup>
<PackageReference Include="AlibabaCloud.SDK.Sts20150401" Version="1.1.4" />
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="10.0.0" />
<PackageReference Include="AWSSDK.SecurityToken" Version="3.7.400.13" />
<PackageReference Include="ConfigMapFileProvider" Version="2.0.1" />
<PackageReference Include="Hangfire.AspNetCore" Version="1.8.14" />
<PackageReference Include="Hangfire.Dashboard.BasicAuthorization" Version="1.0.2" />
<PackageReference Include="Hangfire.InMemory" Version="0.10.3" />
<PackageReference Include="Hangfire.SqlServer" Version="1.8.14" />
<PackageReference Include="Invio.Extensions.Authentication.JwtBearer" Version="2.0.1" />
<PackageReference Include="LogDashboard" Version="1.4.8" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.8" />
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="8.0.0" />
<PackageReference Include="Serilog.AspNetCore" Version="8.0.2" />
<PackageReference Include="Serilog.Enrichers.ClientInfo" Version="2.1.1" />
<PackageReference Include="Serilog.Sinks.File" Version="6.0.0" />
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="6.7.3" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AlibabaCloud.SDK.Sts20150401" Version="1.1.4" />
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="10.0.0" />
<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="Hangfire.AspNetCore" Version="1.8.14" />
<PackageReference Include="Hangfire.Dashboard.BasicAuthorization" Version="1.0.2" />
<PackageReference Include="Hangfire.InMemory" Version="0.10.3" />
<PackageReference Include="Hangfire.SqlServer" Version="1.8.14" />
<PackageReference Include="Invio.Extensions.Authentication.JwtBearer" Version="2.0.1" />
<PackageReference Include="LogDashboard" Version="1.4.8" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.8" />
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="8.0.0" />
<PackageReference Include="Serilog.AspNetCore" Version="8.0.2" />
<PackageReference Include="Serilog.Enrichers.ClientInfo" Version="2.1.1" />
<PackageReference Include="Serilog.Sinks.File" Version="6.0.0" />
<PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="6.7.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\IRaCIS.Core.Application\IRaCIS.Core.Application.csproj" />
<ProjectReference Include="..\IRaCIS.Core.Infra.EFCore\IRaCIS.Core.Infra.EFCore.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\IRaCIS.Core.Application\IRaCIS.Core.Application.csproj" />
<ProjectReference Include="..\IRaCIS.Core.Infra.EFCore\IRaCIS.Core.Infra.EFCore.csproj" />
</ItemGroup>
<ItemGroup>
<None Include="..\.editorconfig" Link=".editorconfig" />
</ItemGroup>
<ItemGroup>
<None Include="..\.editorconfig" Link=".editorconfig" />
</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>
<Folder Include="Properties\PublishProfiles\" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\PublishProfiles\" />
</ItemGroup>
<ProjectExtensions><VisualStudio><UserProperties properties_4launchsettings_1json__JsonSchema="" /></VisualStudio></ProjectExtensions>
<ProjectExtensions>
<VisualStudio>
<UserProperties properties_4launchsettings_1json__JsonSchema="" />
</VisualStudio>
</ProjectExtensions>
</Project>

View File

@ -33,6 +33,7 @@ using Newtonsoft.Json;
using Microsoft.AspNetCore.Diagnostics;
using IRaCIS.Core.Application.MassTransit.Command;
using IRaCIS.Core.Application.MassTransit.Consumer;
using DocumentFormat.OpenXml.InkML;
AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", 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<SystemPacsConfig>(_configuration.GetSection("SystemPacsConfig"));
builder.Services.Configure<IRaCISBasicConfigOption>(_configuration.GetSection("IRaCISBasicConfig"));
//动态WebApi + UnifiedApiResultFilter 省掉控制器代码
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>
<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="FreeSpire.Doc" Version="12.2.0" />
<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
</summary>
</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)">
<summary>
oosFolderPath 不要 "/ "开头 应该: TempFolder/ChildFolder
@ -90,6 +91,7 @@
</summary>
<param name="localFilePath"></param>
<param name="oosFolderPath"></param>
<param name="isFileNameAddGuid"></param>
<returns></returns>
<exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
</member>
@ -994,12 +996,54 @@
<param name="trialReadingCriterionId"></param>
<returns></returns>
</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>
<param name="subjectId"></param>
<param name="trialReadingCriterionId"></param>
<returns></returns>
</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>
</member>
<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>
<returns></returns>
</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>
IR 影像上传任务列表
IR 影像上传任务列表 --old 20240903 界面调整,现在先废弃
</summary>
<param name="inQuery"></param>
<returns></returns>
</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>
IR 上传任务 dicom 列表 后处理的数据不能排序
IR 上传任务 dicom 列表 后处理的数据不能排序 --old 20240903 界面调整,现在先废弃
</summary>
<param name="inQuery"></param>
<returns></returns>
</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>
IR 上传任务 nonedicom 列表 后处理的数据不能排序
IR 上传任务 nonedicom 列表 后处理的数据不能排序 --old 20240903 界面调整,现在先废弃
</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的问题
</summary>
<param name="inQuery"></param>
<param name="_subjectRepository"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.StudyService.Preview(System.Guid)">
<summary> 指定资源Id渲染Dicom检查的Jpeg预览图像 </summary>
<param name="studyId"> Dicom检查的Id </param>
@ -1382,6 +1404,7 @@
格式化日期和时间
</summary>
<param name="identificationList"></param>
<param name="identification"></param>
<param name="jsonStr"></param>
<returns></returns>
</member>
@ -1399,6 +1422,7 @@
</summary>
<param name="trialId">标识</param>
<param name="identificationList">标识</param>
<param name="identification"></param>
<param name="jsonStr">Json对象</param>
<returns></returns>
</member>
@ -2081,6 +2105,41 @@
<param name="inDto"></param>
<returns></returns>
</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)">
<summary>
将上一次的访视病灶添加到这一次
@ -3144,6 +3203,95 @@
<param name="digitPlaces"></param>
<returns></returns>
</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)">
<summary>
获取阅片的计算数据
@ -10311,6 +10459,11 @@
传了Id
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.VisitTaskViewBasic.IsAnalysisCreate">
<summary>
是否是一致性分析产生
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.VisitTaskViewBasic.TaskUrgentType">
<summary>
加急类型
@ -10339,6 +10492,16 @@
<member name="T:IRaCIS.Core.Application.ViewModel.VisitTaskView">
<summary> VisitTaskView 列表视图模型 </summary>
</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">
<summary>
是否是一致性分析产生
@ -10444,6 +10607,11 @@
<member name="T:IRaCIS.Core.Application.ViewModel.FrontAuditConfigAddOrEdit">
<summary> FrontAuditConfigAddOrEdit 列表查询参数模型</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.FrontAuditConfigAddOrEdit.CodeEn">
<summary>
字段的英文值
</summary>
</member>
<member name="P:IRaCIS.Core.Application.ViewModel.FrontAuditConfigAddOrEdit.IsForwardPosition">
<summary>
是否向前站位
@ -13512,12 +13680,6 @@
<param name="inDto"></param>
<returns></returns>
</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)">
<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);

View File

@ -439,6 +439,7 @@ namespace IRaCIS.Core.Application.Service
/// 格式化日期和时间
/// </summary>
/// <param name="identificationList"></param>
/// <param name="identification"></param>
/// <param name="jsonStr"></param>
/// <returns></returns>
private async Task<string> SetDataInspectionDateType(List<string> identificationList, string identification, string jsonStr)
@ -629,6 +630,7 @@ namespace IRaCIS.Core.Application.Service
/// </summary>
/// <param name="trialId">标识</param>
/// <param name="identificationList">标识</param>
/// <param name="identification"></param>
/// <param name="jsonStr">Json对象</param>
/// <returns></returns>
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 string? OtherMeasureData { get; set; } = string.Empty;
public string MeasureData { get; set; }
public string OtherMeasureData { get; set; } = string.Empty;
public string MeasureData { get; set; } = string.Empty;
public List<TableQuestionInfo> TableQuestionList { get; set; } = new List<TableQuestionInfo>();
}

View File

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

View File

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

View File

@ -118,6 +118,13 @@ namespace IRaCIS.Application.Services
public IResponseOutput TestJson()
{
var trial=new Trial();
trial.ExperimentName = null;
_trialRepository.AddAsync(trial,true);
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 string Note { get; set; }
public string Note { get; set; }=string.Empty;
public Guid TrialReadingCriterionId { get; set; }

View File

@ -15,9 +15,9 @@ namespace IRaCIS.Core.Domain.Models
{
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>
///TaskMedicalReview

View File

@ -26,9 +26,9 @@ namespace IRaCIS.Core.Domain.Models
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; }
public int PlanVisitCount { get; set; }

View File

@ -23,7 +23,7 @@ namespace IRaCIS.Core.Domain.Models
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 Guid Id { get; set; }
public string EventType { get; set; }
public string EventData { get; set; }
public string EventType { get; set; } = string.Empty;
public string EventData { get; set; } = string.Empty;
public DateTime FailedAt { get; set; }
}
}

View File

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

View File

@ -19,7 +19,7 @@ namespace IRaCIS.Core.Domain.Models
public interface IAuditAddWithUserName : IAuditAdd<Guid>
{
public string CreateUser { get; set; }
public string CreateUser { get; set; }
}

View File

@ -27,7 +27,7 @@ namespace IRaCIS.Core.Domain.Models
#endregion
public string ChildGroup { get; set; }
public string ChildGroup { get; set; } = string.Empty;
public int ChildCodeEnum { get; set; }
@ -46,7 +46,7 @@ namespace IRaCIS.Core.Domain.Models
public int ShowOrder { get; set; }
public string Code { get; set; }
public string Code { get; set; } = string.Empty;
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>
@ -97,7 +97,7 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
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
/// </summary>
public string DataType { get; set; }
public string DataType { get; set; } = String.Empty;
// 后端翻译的类型 对应前端界面 "",Dictionary,Date
public string EnumType { get; set; }
public string EnumType { get; set; } = String.Empty;
@ -163,11 +163,11 @@ namespace IRaCIS.Core.Domain.Models
/// 是否为特殊类型
/// </summary>
public bool IsSpecialType { get; set; }
public string DictionaryKey { get; set; }
public string DictionaryKey { get; set; } = string.Empty;
public bool IsShowByTrialConfig { get; set; }
public string TrialConfigRelyFieldName { get; set; }
public string TrialConfigRelyFieldName { get; set; } = string.Empty;
#endregion
@ -180,7 +180,7 @@ namespace IRaCIS.Core.Domain.Models
{
public bool IsRoute { get; set; }
public string RoutePath { get; set; }
public string RoutePath { get; set; } = string.Empty;
public bool IsHaveParameters { get; set; }

View File

@ -17,14 +17,14 @@ 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; }
//0 开发中 ,已发布
public int State { get; set; }
public string UpdateContent { get; set; } = string.Empty;
//0 开发中 ,已发布
public int State { get; set; }
public bool IsCurrentVersion { get; set; }

View File

@ -33,9 +33,9 @@ namespace IRaCIS.Core.Domain.Models
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; }
public string ValueCN { get; set; } = string.Empty;

View File

@ -11,7 +11,7 @@ namespace IRaCIS.Core.Domain.Models
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 string EmailOrPhone { get; set; }
public string EmailOrPhone { get; set; }=string.Empty;
//过期时间
public DateTime ExpirationTime { get; set; }

View File

@ -21,7 +21,7 @@ namespace IRaCIS.Core.Domain.Models
public Doctor Doctor { 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 string Path { get; set; } = string.Empty;
public string Code { get; set; } = string.Empty;

View File

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

View File

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

View File

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

View File

@ -22,7 +22,7 @@ namespace IRaCIS.Core.Domain.Models
public Dictionary Phase { get; set; }
[StringLength(512)]
public string EvaluationContent { get; set; }
public string EvaluationContent { get; set; } = string.Empty;
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 AttachName { get; set; }
public string AttachNameCN { get; set; }
public string AttachName { get; set; } = string.Empty;
public string AttachNameCN { 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; }
[Required]
public string YearMonth { get; set; }
public string YearMonth { get; set; } = string.Empty;
public bool IsLock { get; set; }
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -24,21 +24,21 @@ namespace IRaCIS.Core.Domain.Models
public Guid SeqId { get; set; }
public Guid StudyId { get; set; }
public string StudyInstanceUid { get; set; }
public string SeriesInstanceUid { get; set; }
public string StudyInstanceUid { get; set; }=string.Empty;
public string SeriesInstanceUid { get; set; } = string.Empty;
public int SeriesNumber { get; set; }
public DateTime? SeriesTime { get; set; }
public string Modality { get; set; }
public string Description { get; set; }
public string Modality { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public int InstanceCount { get; set; }
public string SliceThickness { get; set; }
public string SliceThickness { get; set; } = string.Empty;
public string ImagePositionPatient { get; set; }
public string ImageOrientationPatient { get; set; }
public string BodyPartExamined { get; set; }
public string SequenceName { get; set; }
public string ProtocolName { get; set; }
public string ImagerPixelSpacing { get; set; }
public string ImagePositionPatient { get; set; } = string.Empty;
public string ImageOrientationPatient { get; set; } = string.Empty;
public string BodyPartExamined { get; set; } = string.Empty;
public string SequenceName { get; set; } = string.Empty;
public string ProtocolName { get; set; } = string.Empty;
public string ImagerPixelSpacing { get; set; } = string.Empty;
public string AcquisitionTime { 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 string IP { get; set; }
public string IP { get; set; }=string.Empty;
public bool IsDicomReUpload { get; set; }

View File

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

View File

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

View File

@ -30,12 +30,12 @@ namespace IRaCIS.Core.Domain.Models
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; }

View File

@ -22,9 +22,9 @@ namespace IRaCIS.Core.Domain.Models
public Guid SeqId { get; set; }
public Guid StudyId { get; set; }
public Guid SeriesId { get; set; }
public string StudyInstanceUid { get; set; }
public string SeriesInstanceUid { get; set; }
public string SopInstanceUid { get; set; }
public string StudyInstanceUid { get; set; } = string.Empty;
public string SeriesInstanceUid { get; set; } = string.Empty;
public string SopInstanceUid { get; set; } = string.Empty;
public int InstanceNumber { get; set; }
public DateTime? InstanceTime { get; set; }
public bool CPIStatus { get; set; }
@ -33,15 +33,15 @@ namespace IRaCIS.Core.Domain.Models
public int SliceLocation { get; set; }
public string SliceThickness { get; set; }
public string SliceThickness { get; set; } = string.Empty;
public int NumberOfFrames { get; set; }
public string PixelSpacing { get; set; }
public string PixelSpacing { get; set; } = string.Empty;
public string ImagerPixelSpacing { get; set; } = string.Empty;
public string FrameOfReferenceUID { get; set; } = string.Empty;
public string WindowCenter { get; set; } = string.Empty;
public string WindowWidth { get; set; } = string.Empty;
public string ImagerPixelSpacing { get; set; }
public string FrameOfReferenceUID { get; set; }
public string WindowCenter { get; set; }
public string WindowWidth { get; set; }
public bool Anonymize { get; set; }
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 StudyId { get; set; }
public string StudyInstanceUid { get; set; }
public string SeriesInstanceUid { get; set; }
public string StudyInstanceUid { get; set; } = string.Empty;
public string SeriesInstanceUid { get; set; } = string.Empty;
public int SeriesNumber { get; set; }
public DateTime? SeriesTime { get; set; }
public string Modality { get; set; }
public string Description { get; set; }
public string Modality { get; set; }=string.Empty;
public string Description { get; set; } = string.Empty;
public int InstanceCount { get; set; }
public string SliceThickness { get; set; }
public string SliceThickness { get; set; } = string.Empty;
public string ImagePositionPatient { get; set; }
public string ImageOrientationPatient { get; set; }
public string BodyPartExamined { get; set; }
public string SequenceName { get; set; }
public string ProtocolName { get; set; }
public string ImagerPixelSpacing { get; set; }
public string ImagePositionPatient { get; set; } = string.Empty;
public string ImageOrientationPatient { get; set; } = string.Empty;
public string BodyPartExamined { get; set; } = string.Empty;
public string SequenceName { get; set; } = string.Empty;
public string ProtocolName { get; set; } = string.Empty;
public string ImagerPixelSpacing { get; set; } = string.Empty;
public string AcquisitionTime { get; set; } = string.Empty;
public string AcquisitionNumber { get; set; } = string.Empty;

View File

@ -25,10 +25,10 @@ namespace IRaCIS.Core.Domain.Models
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;
public string ValueRepresentation { get; set; } = String.Empty;

View File

@ -21,9 +21,9 @@ namespace IRaCIS.Core.Domain.Models
public Guid SeqId { get; set; }
public Guid StudyId { get; set; }
public Guid SeriesId { get; set; }
public string StudyInstanceUid { get; set; }
public string SeriesInstanceUid { get; set; }
public string SopInstanceUid { get; set; }
public string StudyInstanceUid { get; set; } = string.Empty;
public string SeriesInstanceUid { get; set; } = string.Empty;
public string SopInstanceUid { get; set; } = string.Empty;
public int InstanceNumber { get; set; }
public DateTime? InstanceTime { get; set; }
public bool CPIStatus { get; set; }
@ -32,23 +32,23 @@ namespace IRaCIS.Core.Domain.Models
public int SliceLocation { get; set; }
public string SliceThickness { get; set; }
public string SliceThickness { get; set; } = string.Empty;
public int NumberOfFrames { get; set; }
public string PixelSpacing { get; set; }
public string PixelSpacing { get; set; } = string.Empty;
public string ImagerPixelSpacing { get; set; }
public string FrameOfReferenceUID { get; set; }
public string WindowCenter { get; set; }
public string WindowWidth { get; set; }
public string ImagerPixelSpacing { get; set; } = string.Empty;
public string FrameOfReferenceUID { get; set; } = string.Empty;
public string WindowCenter { get; set; } = string.Empty;
public string WindowWidth { get; set; } = string.Empty;
public Guid TrialId { get; set; }
public Guid SubjectId { get; set; }
public Guid VisitTaskId { 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 long? FileSize { get; set; }

View File

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

View File

@ -9,36 +9,36 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace IRaCIS.Core.Domain.Models
{
///<summary>
///DicomAE
///</summary>
[Table("TrialDicomAE")]
public class TrialDicomAE : BaseFullAuditEntity
{
///<summary>
///DicomAE
///</summary>
[Table("TrialDicomAE")]
public class TrialDicomAE : BaseFullAuditEntity
{
#region 导航属性
#endregion
public Guid TrialId { get; set; }
public string CalledAE { get; set; } = string.Empty;
public string IP { get; set; }
public int Port { get; set; }
public string Modality { get; set; } = string.Empty;
public string Description { get; set; }=string.Empty;
public string CalledAE { get; set; } = string.Empty;
public string IP { get; set; } = string.Empty;
public DateTime? LatestTestTime { get; set; }
public int Port { get; set; }
public bool? IsTestOK { get; set; }
}
}
public string Modality { get; set; } = string.Empty;
public string Description { get; set; } = string.Empty;
public DateTime? LatestTestTime { get; set; }
public bool? IsTestOK { get; set; }
}
}

View File

@ -11,7 +11,7 @@ namespace IRaCIS.Core.Domain.Models
#endregion
public string CROName { 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; }

View File

@ -18,7 +18,7 @@ namespace IRaCIS.Core.Domain.Models
public string SiteName { get; set; } = string.Empty;
public string SiteNameCN{ 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; }
@ -31,7 +31,7 @@ namespace IRaCIS.Core.Domain.Models
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 DirectorPhone { get; set; } = string.Empty;

View File

@ -20,7 +20,7 @@ namespace IRaCIS.Core.Domain.Models
// 类型M目录 C菜单 F按钮 L链接
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;
@ -44,10 +44,10 @@ namespace IRaCIS.Core.Domain.Models
public bool IsExternalLink { get; set; }
//权限点
public string PermissionStr { get; set; }
public string PermissionStr { get; set; } = string.Empty;
//Api 接口地址
public string ApiPath { get; set; }
public string ApiPath { 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 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; }
@ -46,9 +46,9 @@ namespace IRaCIS.Core.Domain.Models
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; }

View File

@ -47,10 +47,10 @@ namespace IRaCIS.Core.Domain.Models
public int QuestionType { get; set; }
public string QuestionDescription { get; set; }
public string QuestionDescription { get; set; } = string.Empty;
public int State { get; set; }
@ -61,9 +61,9 @@ namespace IRaCIS.Core.Domain.Models
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,11 +27,11 @@ namespace IRaCIS.Core.Domain.Models
/// <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
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; }
@ -33,11 +33,11 @@ namespace IRaCIS.Core.Domain.Models
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 string ParamInfo { get; set; }
public string ParamInfo { get; set; } = string.Empty;
}
}

View File

@ -24,12 +24,12 @@ namespace IRaCIS.Core.Domain.Models
public Guid SubjectVisitId { get; set; }
public string Path { get; set; }
public string FileName { get; set; }
public string Path { get; set; } = string.Empty;
public bool? IsVisist { get; set; }
public string FileName { get; set; } = string.Empty;
public bool? IsVisist { get; set; }
/// <summary>
/// 临床级别

View File

@ -16,12 +16,12 @@ namespace IRaCIS.Core.Domain.Models
public User User { get; set; }
#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 string ChallengeCode { get; set; }
public string ChallengeCode { get; set; } = string.Empty;
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 ParentTriggerValue { get; set; }
public string ParentTriggerValue { get; set; } = string.Empty;
public Guid? ParentId { get; set; }

View File

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

View File

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

View File

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

View File

@ -1,19 +1,18 @@
using System;
using IRaCIS.Core.Domain.Share;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
namespace IRaCIS.Core.Domain.Models
{
///<summary>
/// 临床资料系统配置
///</summary>
[Table("ClinicalDataSystemSet")]
public class ClinicalDataSystemSet : BaseAddAuditEntity
///<summary>
/// 临床资料系统配置
///</summary>
[Table("ClinicalDataSystemSet")]
public class ClinicalDataSystemSet : BaseAddAuditEntity
{
#region 导航属性
@ -24,10 +23,10 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public int ClinicalDataSetEnum { get; set; }
/// <summary>
/// 名称
/// </summary>
public string ClinicalDataSetName { get; set; }
/// <summary>
/// 名称
/// </summary>
public string ClinicalDataSetName { get; set; } = string.Empty;
/// <summary>
/// 是否应用
@ -39,53 +38,53 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public string ClinicalDataSetEnName { get; set; } = string.Empty;
/// <summary>
/// 临床级别
/// </summary>
public ClinicalLevel ClinicalDataLevel { get; set; }
/// <summary>
/// 临床级别
/// </summary>
public ClinicalLevel ClinicalDataLevel { get; set; }
/// <summary>
/// 上传方式
/// </summary>
public ClinicalUploadType ClinicalUploadType { get; set; }
/// <summary>
/// 上传方式
/// </summary>
public ClinicalUploadType ClinicalUploadType { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
/// <summary>
/// 上传角色
/// </summary>
public UploadRole UploadRole { get; set; }
/// <summary>
/// 上传角色
/// </summary>
public UploadRole UploadRole { get; set; }
/// <summary>
/// 模板文件名称
/// </summary>
public string FileName { get; set; }
/// <summary>
/// 模板文件名称
/// </summary>
public string FileName { get; set; } = string.Empty;
/// <summary>
/// 文件路径
/// </summary>
public string Path { get; set; }
/// <summary>
/// 文件路径
/// </summary>
public string Path { get; set; } = string.Empty;
public string CriterionEnumListStr { get; set; }=String.Empty;
public string CriterionEnumListStr { get; set; } = String.Empty;
[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>
public string ClinicalDataSetName { get; set; }
public string ClinicalDataSetName { get; set; }=string.Empty;
/// <summary>
/// 英文名称
@ -87,16 +87,16 @@ namespace IRaCIS.Core.Domain.Models
/// <summary>
/// 模板文件名称
/// </summary>
public string FileName { get; set; }
public string FileName { get; set; } = string.Empty;
/// <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;
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();

View File

@ -24,15 +24,15 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
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>
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;
/// <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>
public string ClinicalQuestionType { get; set; }
public string ClinicalQuestionType { get; set; } = string.Empty;
/// <summary>
/// 问题标识

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -32,22 +32,22 @@ namespace IRaCIS.Core.Domain.Models
/// <summary>
/// 类型
/// </summary>
public string Type { get; set; }
public string Type { get; set; } = string.Empty;
/// <summary>
/// 父问题触发
/// </summary>
public string ParentTriggerValue { get; set; } = string.Empty;
/// <summary>
/// 父问题触发
/// </summary>
public string ParentTriggerValue { get; set; } = string.Empty;
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; }
public string QuestionName { get; set; } = string.Empty;
/// <summary>
/// 语言类型
/// </summary>
public LanguageType LanguageType { get; set; } = LanguageType.Chinese;
/// <summary>
/// 语言类型
/// </summary>
public LanguageType LanguageType { get; set; } = LanguageType.Chinese;
/// <summary>
/// 是否是必须
@ -69,14 +69,14 @@ namespace IRaCIS.Core.Domain.Models
/// <summary>
/// 类型值
/// </summary>
public string TypeValue { get; set; }
public string TypeValue { get; set; } = string.Empty;
/// <summary>
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
public bool IsEnable { get; set; }
/// <summary>
/// 任务类型

View File

@ -25,35 +25,35 @@ namespace IRaCIS.Core.Domain.Models
/// <summary>
/// 类型
/// </summary>
public string Type { get; set; }
/// <summary>
public string Type { get; set; } = string.Empty;
/// <summary>
/// 父问题触发值
/// </summary>
public string ParentTriggerValue { get; set; } = string.Empty;
public string ParentTriggerValue { get; set; } = string.Empty;
/// <summary>
/// 问题名称
/// </summary>
public string QuestionName { get; set; }
public string QuestionName { get; set; } = string.Empty;
/// <summary>
/// 语言类型
/// </summary>
public LanguageType LanguageType { get; set; } = LanguageType.Chinese;
/// <summary>
/// 语言类型
/// </summary>
public LanguageType LanguageType { get; set; } = LanguageType.Chinese;
/// <summary>
/// 类型值
/// </summary>
public string TypeValue { get; set; }
public string TypeValue { get; set; } = string.Empty;
/// <summary>
/// <summary>
/// 项目ID
/// </summary>
public Guid TrialId { get; set; }
public Guid TrialId { get; set; }
/// <summary>
/// 是否启用

View File

@ -63,13 +63,13 @@ namespace IRaCIS.Core.Domain.Models
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
public string Remark { get; set; } = string.Empty;
/// <summary>
/// 是否是淋巴结
/// </summary>
public IsLymph IsLymphNodes { get; set; }
/// <summary>
/// 是否是淋巴结
/// </summary>
public IsLymph IsLymphNodes { get; set; }
/// <summary>
/// 器官类型

View File

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

View File

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

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