项目配置使用Json 列 测试
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
1f33a9fa4e
commit
41a889f201
|
@ -68,7 +68,6 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
public List<string> ModalityList { get; set; } = new List<string>();
|
public List<string> ModalityList { get; set; } = new List<string>();
|
||||||
|
|
||||||
public string TrialObjectNameConfigStr { get; set; }
|
|
||||||
|
|
||||||
public List<TrialObjectNameConfig> TrialObjectNameList { get; set; }
|
public List<TrialObjectNameConfig> TrialObjectNameList { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -908,7 +908,6 @@ namespace IRaCIS.Core.Application
|
||||||
|
|
||||||
trialConfig.Modalitys = $"{String.Join('|', trialConfig.ModalityList)}";
|
trialConfig.Modalitys = $"{String.Join('|', trialConfig.ModalityList)}";
|
||||||
|
|
||||||
trialConfig.TrialObjectNameConfigStr=JsonConvert.SerializeObject(trialConfig.TrialObjectNameList);
|
|
||||||
_mapper.Map(trialConfig, trialInfo);
|
_mapper.Map(trialConfig, trialInfo);
|
||||||
trialInfo.UpdateTime = DateTime.Now;
|
trialInfo.UpdateTime = DateTime.Now;
|
||||||
|
|
||||||
|
@ -1351,11 +1350,11 @@ namespace IRaCIS.Core.Application
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<TrialExtraConfig> GetTrialExtralConfig(Guid trialId)
|
public async Task<TrialExtraConfig> GetTrialExtralConfig(Guid trialId)
|
||||||
{
|
{
|
||||||
var extralObj = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.TrialExtraConfigJsonStr, t.TrialObjectNameConfigStr }).FirstOrDefault();
|
var extralObj = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.TrialExtraConfigJsonStr, t.TrialObjectNameList }).FirstOrDefault();
|
||||||
|
|
||||||
var extralConfig = JsonConvert.DeserializeObject<TrialExtraConfig>(extralObj?.TrialExtraConfigJsonStr) ?? new TrialExtraConfig();
|
var extralConfig = JsonConvert.DeserializeObject<TrialExtraConfig>(extralObj?.TrialExtraConfigJsonStr) ?? new TrialExtraConfig();
|
||||||
|
|
||||||
extralConfig.TrialObjectNameList = JsonConvert.DeserializeObject<List<TrialObjectNameConfig>>(extralObj?.TrialObjectNameConfigStr) ?? new List<TrialObjectNameConfig>();
|
extralConfig.TrialObjectNameList = extralObj.TrialObjectNameList;
|
||||||
|
|
||||||
return extralConfig;
|
return extralConfig;
|
||||||
}
|
}
|
||||||
|
|
|
@ -261,14 +261,14 @@ public partial class Trial : BaseFullDeleteAuditEntity
|
||||||
public bool IsTrialPACSConfirmed { get; set; }
|
public bool IsTrialPACSConfirmed { get; set; }
|
||||||
|
|
||||||
[Comment("项目术语配置Json字符串")]
|
[Comment("项目术语配置Json字符串")]
|
||||||
[StringLength(1000)]
|
[StringLength(2000)]
|
||||||
public string TrialObjectNameConfigStr { get; set; }
|
public List<TrialObjectNameConfig> TrialObjectNameList { get; set; }
|
||||||
|
|
||||||
[NotMapped]
|
//[NotMapped]
|
||||||
public List<TrialObjectNameConfig> TrialObjectNameList => JsonConvert.DeserializeObject<List<TrialObjectNameConfig>>(TrialObjectNameConfigStr) ?? new List<TrialObjectNameConfig>();
|
//public List<TrialObjectNameConfig> TrialObjectNameList => JsonConvert.DeserializeObject<List<TrialObjectNameConfig>>(TrialObjectNameConfigStr) ?? new List<TrialObjectNameConfig>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public class TrialObjectNameConfig
|
public struct TrialObjectNameConfig
|
||||||
{
|
{
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -69,6 +69,12 @@ public class IRaCISDBContext : DbContext
|
||||||
v => string.IsNullOrEmpty(v) ? null : JsonConvert.DeserializeObject<List<TestJsonObject>>(v));
|
v => string.IsNullOrEmpty(v) ? null : JsonConvert.DeserializeObject<List<TestJsonObject>>(v));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity<Trial>(entity =>
|
||||||
|
{
|
||||||
|
entity.Property(e => e.TrialObjectNameList).HasConversion(v => v == null ? "[]" : JsonConvert.SerializeObject(v),
|
||||||
|
v => string.IsNullOrEmpty(v) ? null : JsonConvert.DeserializeObject<List<TrialObjectNameConfig>>(v));
|
||||||
|
});
|
||||||
|
|
||||||
#region pgsql codefirst 配置 暂时屏蔽
|
#region pgsql codefirst 配置 暂时屏蔽
|
||||||
//if (base.Database.IsNpgsql())
|
//if (base.Database.IsNpgsql())
|
||||||
//{
|
//{
|
||||||
|
|
18084
IRaCIS.Core.Infra.EFCore/Migrations/20241108054651_TrialJson.Designer.cs
generated
Normal file
18084
IRaCIS.Core.Infra.EFCore/Migrations/20241108054651_TrialJson.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,44 @@
|
||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace IRaCIS.Core.Infra.EFCore.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class TrialJson : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "TrialObjectNameConfigStr",
|
||||||
|
table: "Trial");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "TrialObjectNameList",
|
||||||
|
table: "Trial",
|
||||||
|
type: "nvarchar(2000)",
|
||||||
|
maxLength: 2000,
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "",
|
||||||
|
comment: "项目术语配置Json字符串");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "TrialObjectNameList",
|
||||||
|
table: "Trial");
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<string>(
|
||||||
|
name: "TrialObjectNameConfigStr",
|
||||||
|
table: "Trial",
|
||||||
|
type: "nvarchar(1000)",
|
||||||
|
maxLength: 1000,
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "",
|
||||||
|
comment: "项目术语配置Json字符串");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -10407,10 +10407,10 @@ namespace IRaCIS.Core.Infra.EFCore.Migrations
|
||||||
b.Property<DateTime?>("TrialFinishedTime")
|
b.Property<DateTime?>("TrialFinishedTime")
|
||||||
.HasColumnType("datetime2");
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
b.Property<string>("TrialObjectNameConfigStr")
|
b.Property<string>("TrialObjectNameList")
|
||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasMaxLength(1000)
|
.HasMaxLength(2000)
|
||||||
.HasColumnType("nvarchar(1000)")
|
.HasColumnType("nvarchar(2000)")
|
||||||
.HasComment("项目术语配置Json字符串");
|
.HasComment("项目术语配置Json字符串");
|
||||||
|
|
||||||
b.Property<string>("TrialStatusStr")
|
b.Property<string>("TrialStatusStr")
|
||||||
|
|
Loading…
Reference in New Issue