添加数据

Uat_Study
he 2022-04-25 13:35:44 +08:00
parent 7351415bbc
commit 04a608c28b
12 changed files with 133 additions and 56 deletions

View File

@ -82,6 +82,30 @@ namespace IRaCIS.Core.API.Controllers
this._dataInspectionRepository = dataInspectionRepository; this._dataInspectionRepository = dataInspectionRepository;
} }
#region 文件管理
/// <summary>
///
/// </summary>
/// <param name="opt">参数</param>
/// <returns></returns>
[HttpPost, Route("Inspection/trialDocument/AddOrUpdateTrialDocument")]
[UnitOfWork]
public async Task<IResponseOutput> AddOrUpdateTrialDocument(DataInspectionDto<AddOrEditTrialDocument> opt)
{
var fun = _trialDocumentService.AddOrUpdateTrialDocument;
return await _inspectionService.Enforcement(opt.OptCommand, opt.AuditInfo, opt.SignInfo, fun);
}
[HttpPost, Route("Inspection/trialDocument/UserAbandonDoc")]
[UnitOfWork]
public async Task<IResponseOutput> UserAbandonDoc(DataInspectionDto<AddOrEditTrialDocument> opt)
{
var fun = _trialDocumentService.UserAbandonDoc;
return await _inspectionService.Enforcement(opt.OptCommand, opt.AuditInfo, opt.SignInfo, fun);
}
#endregion
#region 获取稽查数据 #region 获取稽查数据
/// <summary> /// <summary>

View File

@ -22,6 +22,7 @@ using IRaCIS.Core.Application.Service.Inspection.Interface;
using Newtonsoft.Json; using Newtonsoft.Json;
using IRaCIS.Core.Application.Service.Inspection.DTO; using IRaCIS.Core.Application.Service.Inspection.DTO;
using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Domain.Common;
namespace IRaCIS.Api.Controllers namespace IRaCIS.Api.Controllers
{ {
@ -238,7 +239,7 @@ namespace IRaCIS.Api.Controllers
TrialId = savedInfo.TrialId, TrialId = savedInfo.TrialId,
SubjectVisitId = savedInfo.SubjectVisitId, SubjectVisitId = savedInfo.SubjectVisitId,
Identification = "Edit|Visit|Status|Visit-Image Upload|Add Image", Identification = "Edit|Visit|Status|Visit-Image Upload|Add Image",
JsonDetail = JsonConvert.SerializeObject(savedInfo) JsonDetail = savedInfo.ToJcJson()
}); });
await _inspectionService.AddListInspectionRecordAsync(datas); await _inspectionService.AddListInspectionRecordAsync(datas);

View File

@ -57,6 +57,13 @@
Financials /Monthly Payment 列表查询接口 Financials /Monthly Payment 列表查询接口
</summary> </summary>
</member> </member>
<member name="M:IRaCIS.Core.API.Controllers.InspectionController.AddOrUpdateTrialDocument(IRaCIS.Core.Application.Service.Inspection.DTO.DataInspectionDto{IRaCIS.Core.Application.Contracts.AddOrEditTrialDocument})">
<summary>
</summary>
<param name="opt">参数</param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.API.Controllers.InspectionController.GetInspectionData(IRaCIS.Core.Application.Service.Inspection.DTO.GetDataInspectionDto)"> <member name="M:IRaCIS.Core.API.Controllers.InspectionController.GetInspectionData(IRaCIS.Core.Application.Service.Inspection.DTO.GetDataInspectionDto)">
<summary> <summary>
获取稽查数据 获取稽查数据

View File

@ -78,6 +78,8 @@ namespace IRaCIS.Core.Application.Service
ModuleTypeId = additem?.ModuleTypeId, ModuleTypeId = additem?.ModuleTypeId,
ObjectTypeId = additem?.ObjectTypeId, ObjectTypeId = additem?.ObjectTypeId,
OptTypeId = additem?.OptTypeId, OptTypeId = additem?.OptTypeId,
DictionaryCode = lst.Max(x => x.DictionaryCode),
DictionaryType = lst.Max(x => x.DictionaryType),
DateType = lst.Select(x => x.DateType).FirstOrDefault(), DateType = lst.Select(x => x.DateType).FirstOrDefault(),
Id =Guid.NewGuid(), Id =Guid.NewGuid(),
}).ToList(); }).ToList();
@ -101,6 +103,8 @@ namespace IRaCIS.Core.Application.Service
{ {
x.Code=x.Code.IsNullOrEmpty()?item.Code:x.Code; x.Code=x.Code.IsNullOrEmpty()?item.Code:x.Code;
x.Value = x.Code.IsNullOrEmpty() ? item.Value : x.Value; x.Value = x.Code.IsNullOrEmpty() ? item.Value : x.Value;
x.DictionaryType = x.DictionaryType.IsNullOrEmpty() ? item.DictionaryType : x.DictionaryType;
x.DictionaryCode = x.DictionaryCode.IsNullOrEmpty() ? item.DictionaryCode : x.DictionaryCode;
} }
}); });

View File

@ -13,6 +13,7 @@ namespace IRaCIS.Core.Application.Contracts
{ {
public interface ITrialDocumentService public interface ITrialDocumentService
{ {
Task<IResponseOutput> UserAbandonDoc(Guid documentId, bool isSystemDoc);
Task<IResponseOutput> AddOrUpdateTrialDocument(AddOrEditTrialDocument addOrEditTrialDocument); Task<IResponseOutput> AddOrUpdateTrialDocument(AddOrEditTrialDocument addOrEditTrialDocument);
Task<IResponseOutput> DeleteTrialDocument(Guid trialDocumentId, Guid trialId); Task<IResponseOutput> DeleteTrialDocument(Guid trialDocumentId, Guid trialId);
Task<PageOutput<UnionDocumentWithConfirmInfoView>> GetDocumentConfirmList(DocumentTrialUnionQuery querySystemDocument); Task<PageOutput<UnionDocumentWithConfirmInfoView>> GetDocumentConfirmList(DocumentTrialUnionQuery querySystemDocument);

View File

@ -14,6 +14,7 @@ using IRaCIS.Core.Application.Service.Inspection.Interface;
using IRaCIS.Core.Application.Service.Inspection.DTO; using IRaCIS.Core.Application.Service.Inspection.DTO;
using Nito.AsyncEx; using Nito.AsyncEx;
using IRaCIS.Application.Interfaces; using IRaCIS.Application.Interfaces;
using IRaCIS.Core.Domain.Common;
namespace IRaCIS.Core.Application.Contracts namespace IRaCIS.Core.Application.Contracts
{ {
@ -138,7 +139,7 @@ namespace IRaCIS.Core.Application.Contracts
TrialId = subvisit.TrialId, TrialId = subvisit.TrialId,
SubjectVisitId = subvisit.Id, SubjectVisitId = subvisit.Id,
Identification = "Edit|Visit|Status|Visit-Image Upload|Add Image", Identification = "Edit|Visit|Status|Visit-Image Upload|Add Image",
JsonDetail = JsonConvert.SerializeObject(subvisit) JsonDetail = subvisit.ToJcJson()
}); });
await _inspectionService.AddListInspectionRecordAsync(datas); await _inspectionService.AddListInspectionRecordAsync(datas);
@ -189,7 +190,7 @@ namespace IRaCIS.Core.Application.Contracts
TrialId = subvisit.TrialId, TrialId = subvisit.TrialId,
SubjectVisitId = subvisit.Id, SubjectVisitId = subvisit.Id,
Identification = "Edit|Visit|Status|Visit-Image Upload|Add Image", Identification = "Edit|Visit|Status|Visit-Image Upload|Add Image",
JsonDetail = JsonConvert.SerializeObject(subvisit) JsonDetail = subvisit.ToJcJson()
}); });
await _inspectionService.AddListInspectionRecordAsync(datas); await _inspectionService.AddListInspectionRecordAsync(datas);

View File

@ -22,6 +22,7 @@ using IRaCIS.Core.Infrastructure;
using IRaCIS.Core.Application.Service.Inspection.DTO; using IRaCIS.Core.Application.Service.Inspection.DTO;
using Nito.AsyncEx; using Nito.AsyncEx;
using IRaCIS.Application.Interfaces; using IRaCIS.Application.Interfaces;
using IRaCIS.Core.Domain.Common;
namespace IRaCIS.Core.Application.Image.QA namespace IRaCIS.Core.Application.Image.QA
{ {
@ -1051,7 +1052,7 @@ namespace IRaCIS.Core.Application.Image.QA
TrialId = subvisit.TrialId, TrialId = subvisit.TrialId,
SubjectVisitId = subvisit.Id, SubjectVisitId = subvisit.Id,
Identification = "Edit|Visit|Status|Visit-Image Upload|Add Image", Identification = "Edit|Visit|Status|Visit-Image Upload|Add Image",
JsonDetail = JsonConvert.SerializeObject(subvisit) JsonDetail = subvisit.ToJcJson()
}); });
await _inspectionService.AddListInspectionRecordAsync(datas); await _inspectionService.AddListInspectionRecordAsync(datas);
return ResponseOutput.Ok(); return ResponseOutput.Ok();
@ -1363,12 +1364,7 @@ namespace IRaCIS.Core.Application.Image.QA
TrialId = x.TrialId, TrialId = x.TrialId,
SubjectVisitId = x.Id, SubjectVisitId = x.Id,
Identification = "Edit|Visit|Status|Visit-Image Upload-1", Identification = "Edit|Visit|Status|Visit-Image Upload-1",
JsonDetail = JsonConvert.SerializeObject(new JsonDetail = x.ToJcJson(),
{
SubmitState = "已提交",
AuditState="未审核",
})
}); });
}); });
@ -1883,7 +1879,7 @@ namespace IRaCIS.Core.Application.Image.QA
IsSign = false, IsSign = false,
Identification = "Edit|Subject|Info|Subject", Identification = "Edit|Subject|Info|Subject",
CreateTime = DateTime.Now.AddSeconds(1), CreateTime = DateTime.Now.AddSeconds(1),
JsonDetail = JsonConvert.SerializeObject(command) JsonDetail = command.ToJcJson()
}); });
} }

View File

@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Application.Service.Inspection.Interface; using IRaCIS.Core.Application.Service.Inspection.Interface;
using IRaCIS.Core.Infrastructure; using IRaCIS.Core.Infrastructure;
using Newtonsoft.Json; using Newtonsoft.Json;
using IRaCIS.Core.Domain.Common;
namespace IRaCIS.Application.Services namespace IRaCIS.Application.Services
{ {
@ -34,6 +35,7 @@ namespace IRaCIS.Application.Services
[TypeFilter(typeof(TrialResourceFilter))] [TypeFilter(typeof(TrialResourceFilter))]
public async Task<IResponseOutput<string>> AddOrUpdateSubject([FromBody] SubjectCommand subjectCommand) public async Task<IResponseOutput<string>> AddOrUpdateSubject([FromBody] SubjectCommand subjectCommand)
{ {
var svlist = new List<SubjectVisit>();
if (await _repository.AnyAsync<Trial>(t => t.Id == subjectCommand.TrialId && !t.VisitPlanConfirmed)) if (await _repository.AnyAsync<Trial>(t => t.Id == subjectCommand.TrialId && !t.VisitPlanConfirmed))
{ {
return ResponseOutput.NotOk("The trial visit plan has not been confirmed yet.Please contact the project manager to confirm the visit plan before adding subject."); return ResponseOutput.NotOk("The trial visit plan has not been confirmed yet.Please contact the project manager to confirm the visit plan before adding subject.");
@ -60,7 +62,7 @@ namespace IRaCIS.Application.Services
//添加受试者的时候,获取访视计划列表,添加到受试者访视表。 //添加受试者的时候,获取访视计划列表,添加到受试者访视表。
var visitPlan = await _repository.Where<VisitStage>(t => t.TrialId == subjectCommand.TrialId).ToListAsync(); var visitPlan = await _repository.Where<VisitStage>(t => t.TrialId == subjectCommand.TrialId).ToListAsync();
var svlist = _mapper.Map<List<SubjectVisit>>(visitPlan); svlist = _mapper.Map<List<SubjectVisit>>(visitPlan);
var IsEnrollementQualificationConfirm = await _repository.Where<Trial>(t => t.Id == mapedSubject.TrialId).Select(u => u.IsEnrollementQualificationConfirm).FirstOrDefaultAsync(); var IsEnrollementQualificationConfirm = await _repository.Where<Trial>(t => t.Id == mapedSubject.TrialId).Select(u => u.IsEnrollementQualificationConfirm).FirstOrDefaultAsync();
@ -109,8 +111,14 @@ namespace IRaCIS.Application.Services
// }) // })
//}); //});
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.PreserveReferencesHandling = PreserveReferencesHandling.Objects;
settings.ReferenceLoopHandling = ReferenceLoopHandling.Serialize;
//var jsonData = JsonConvert.SerializeObject(info, settings);
var visittime = createtime.AddSeconds(1); var visittime = createtime.AddSeconds(1);
foreach (var item in mapedSubject.SubjectVisitList) foreach (var item in svlist)
{ {
// 添加访视 // 添加访视
datas.Add(new DataInspection() datas.Add(new DataInspection()
@ -125,7 +133,7 @@ namespace IRaCIS.Application.Services
IsSign = false, IsSign = false,
CreateTime = visittime, CreateTime = visittime,
Identification = "Add|Visit|Info|Visit-Image Upload", Identification = "Add|Visit|Info|Visit-Image Upload",
JsonDetail = JsonConvert.SerializeObject(item) JsonDetail = item.ToJcJson()
}); });
// 初始化访视 // 初始化访视
@ -142,7 +150,7 @@ namespace IRaCIS.Application.Services
IsSign = false, IsSign = false,
CreateTime = visittime.AddSeconds(1), CreateTime = visittime.AddSeconds(1),
Identification = "Init|Visit|Status|Visit-Image Upload", Identification = "Init|Visit|Status|Visit-Image Upload",
JsonDetail = JsonConvert.SerializeObject(item) JsonDetail = item.ToJcJson()
}); });
} }

View File

@ -10,6 +10,7 @@ using IRaCIS.Core.Application.Interfaces;
using IRaCIS.Core.Application.Service.Inspection.Interface; using IRaCIS.Core.Application.Service.Inspection.Interface;
using Newtonsoft.Json; using Newtonsoft.Json;
using IRaCIS.Core.Infrastructure; using IRaCIS.Core.Infrastructure;
using IRaCIS.Core.Domain.Common;
namespace IRaCIS.Core.Application.Services namespace IRaCIS.Core.Application.Services
{ {
@ -138,7 +139,7 @@ namespace IRaCIS.Core.Application.Services
IsSign = false, IsSign = false,
Identification = "Edit|Subject|Info|Subject", Identification = "Edit|Subject|Info|Subject",
CreateTime = DateTime.Now.AddSeconds(1), CreateTime = DateTime.Now.AddSeconds(1),
JsonDetail = JsonConvert.SerializeObject(subject) JsonDetail = subject.ToJcJson(),
}); });
await _inspectionService.AddListInspectionRecordAsync(datas); await _inspectionService.AddListInspectionRecordAsync(datas);
} }
@ -179,7 +180,7 @@ namespace IRaCIS.Core.Application.Services
IsSign = false, IsSign = false,
CreateTime = DateTime.Now.AddSeconds(1), CreateTime = DateTime.Now.AddSeconds(1),
Identification = "Init|Visit|Status|Visit-Image Upload", Identification = "Init|Visit|Status|Visit-Image Upload",
JsonDetail = JsonConvert.SerializeObject(svCommand) JsonDetail = svCommand.ToJcJson()
}); });
await _inspectionService.AddListInspectionRecordAsync(dataInspection); await _inspectionService.AddListInspectionRecordAsync(dataInspection);

View File

@ -13,6 +13,7 @@ using IRaCIS.Core.Application.Service.Inspection.Interface;
using Newtonsoft.Json; using Newtonsoft.Json;
using IRaCIS.Core.Infrastructure; using IRaCIS.Core.Infrastructure;
using MassTransit; using MassTransit;
using IRaCIS.Core.Domain.Common;
namespace IRaCIS.Application.Services namespace IRaCIS.Application.Services
{ {
@ -266,6 +267,7 @@ namespace IRaCIS.Application.Services
t.VisitNum, t.VisitNum,
t.IsBaseLine, t.IsBaseLine,
t.BlindName, t.BlindName,
t.Description, t.Description,
IsConfirmed = true, IsConfirmed = true,
}).ToListAsync(); }).ToListAsync();
@ -283,7 +285,7 @@ namespace IRaCIS.Application.Services
//SubjectVisitName = x.VisitName, //SubjectVisitName = x.VisitName,
VisitStageId = x.Id, VisitStageId = x.Id,
TrialId = x.TrialId, TrialId = x.TrialId,
JsonDetail = JsonConvert.SerializeObject(x), JsonDetail = x.ToJcJson(),
Identification = "Confirm|Visit Plan Template|Data|Trial Setting-Visit Plan", Identification = "Confirm|Visit Plan Template|Data|Trial Setting-Visit Plan",
}); });
@ -430,7 +432,7 @@ namespace IRaCIS.Application.Services
VisitName = changedItem.VisitName, VisitName = changedItem.VisitName,
VisitNum = changedItem.VisitNum, VisitNum = changedItem.VisitNum,
VisitDay = changedItem.VisitDay, VisitDay = changedItem.VisitDay,
SubmitState = "未提交", SubmitState = x.SubmitState,
VisitWindowLeft = changedItem.VisitWindowLeft, VisitWindowLeft = changedItem.VisitWindowLeft,
VisitWindowRight = changedItem.VisitWindowRight VisitWindowRight = changedItem.VisitWindowRight
}), }),
@ -456,7 +458,8 @@ namespace IRaCIS.Application.Services
x.SiteId, x.SiteId,
x.Id, x.Id,
x.IsEnrollment, x.IsEnrollment,
x.IsUrgent x.IsUrgent,
}); });
@ -471,8 +474,26 @@ namespace IRaCIS.Application.Services
{ {
subjectsids.ForEach(y => subjectsids.ForEach(y =>
{ {
Guid dataindtid = NewId.NextGuid(); Guid dataindtid = NewId.NextGuid();
Guid guid = NewId.NextGuid(); Guid guid = NewId.NextGuid();
SubjectVisit subjectVisit = new SubjectVisit()
{
SiteId = y.SiteId,
SubjectId = y.Id,
Id = guid,
VisitName = x.VisitName,
BlindName = x.BlindName,
IsBaseLine = x.IsBaseLine,
IsCheckBack = x.IsBaseLine,
IsUrgent = trial.IsSubjectExpeditedView,
};
subjectVisits.Add(subjectVisit);
// //
datas.Add(new DataInspection() datas.Add(new DataInspection()
{ {
@ -492,14 +513,14 @@ namespace IRaCIS.Application.Services
VisitName = x.VisitName, VisitName = x.VisitName,
VisitNum = x.VisitNum, VisitNum = x.VisitNum,
VisitDay = x.VisitDay, VisitDay = x.VisitDay,
VisitExecuted = false, VisitExecuted = subjectVisit.VisitExecuted,
BlindName = x.BlindName, BlindName = x.BlindName,
VisitWindowLeft = x.VisitWindowLeft, VisitWindowLeft = x.VisitWindowLeft,
VisitWindowRight = x.VisitWindowRight, VisitWindowRight = x.VisitWindowRight,
IsEnrollment = y.IsEnrollment, IsEnrollment = y.IsEnrollment,
IsUrgent = trial.IsSubjectExpeditedView, IsUrgent = trial.IsSubjectExpeditedView,
IsFinalVisit = false, IsFinalVisit = subjectVisit.IsFinalVisit,
IsLostVisit = false, IsLostVisit = subjectVisit.IsLostVisit,
PDState = trial.IsPDProgressView, PDState = trial.IsPDProgressView,
}), }),
}); });
@ -522,37 +543,23 @@ namespace IRaCIS.Application.Services
{ {
BlindName = x.BlindName, BlindName = x.BlindName,
VisitName = x.VisitName, VisitName = x.VisitName,
SubmitState = "未提交", SubmitState = subjectVisit.SubmitState,
AuditState = "未审核", AuditState = subjectVisit.AuditState,
IsBaseLine = x.IsBaseLine, IsBaseLine = x.IsBaseLine,
IsEnrollment = y.IsEnrollment, IsEnrollment = y.IsEnrollment,
IsUrgent = y.IsUrgent, IsUrgent = y.IsUrgent,
VisitNum = x.VisitNum, VisitNum = x.VisitNum,
VisitDay = x.VisitDay, VisitDay = x.VisitDay,
VisitExecuted = false, VisitExecuted = subjectVisit.VisitExecuted,
VisitWindowLeft = x.VisitWindowLeft, VisitWindowLeft = x.VisitWindowLeft,
VisitWindowRight = x.VisitWindowRight, VisitWindowRight = x.VisitWindowRight,
IsFinalVisit = false, IsFinalVisit = subjectVisit.IsFinalVisit,
IsLostVisit = false, IsLostVisit = subjectVisit.IsLostVisit,
PDState = trial.IsPDProgressView, PDState = trial.IsPDProgressView,
}), }),
}); });
subjectVisits.Add(new SubjectVisit()
{
SiteId = y.SiteId,
SubjectId = y.Id,
Id = guid,
VisitName = x.VisitName,
BlindName = x.BlindName,
IsBaseLine = x.IsBaseLine,
IsCheckBack = x.IsBaseLine,
IsUrgent = trial.IsSubjectExpeditedView,
});
}); });

View File

@ -145,13 +145,13 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
Identification = "Add|Consistency Check Query|Data|Visit-Consistency Check", Identification = "Add|Consistency Check Query|Data|Visit-Consistency Check",
JsonDetail = JsonConvert.SerializeObject(new JsonDetail = JsonConvert.SerializeObject(new
{ {
SubmitState = "已提交", SubmitState = dbSV.SubmitState,
AuditState = "通过", AuditState = dbSV.AuditState,
CheckState = dbSV.CheckState == CheckStateEnum.CVIng ? "核查中" : "未核查", CheckState = dbSV.CheckState,
CheckResult= dbSV.CheckResult, CheckResult= dbSV.CheckResult,
TalkContent= dbSV.CheckResult, TalkContent= dbSV.CheckResult,
RequestBackState=dbSV.RequestBackState==RequestBackStateEnum.PM_AgressBack?"已回退":"未回退", RequestBackState= dbSV.RequestBackState,
CheckChallengeState = dbSV.CheckChallengeState == CheckChanllengeTypeEnum.Closed?"已关闭":"已回复", CheckChallengeState = dbSV.CheckChallengeState,
}) })
}); });
@ -169,13 +169,13 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
Identification = "Edit|Consistency Check Query|Data|Visit-Consistency Check|Send", Identification = "Edit|Consistency Check Query|Data|Visit-Consistency Check|Send",
JsonDetail = JsonConvert.SerializeObject(new JsonDetail = JsonConvert.SerializeObject(new
{ {
SubmitState = "已提交", SubmitState = dbSV.SubmitState,
AuditState = "通过", AuditState = dbSV.AuditState,
CheckState = dbSV.CheckState == CheckStateEnum.CVIng ? "核查中" : "未核查", CheckState = dbSV.CheckState,
CheckResult = dbSV.CheckResult, CheckResult = dbSV.CheckResult,
TalkContent = dbSV.CheckResult, TalkContent = dbSV.CheckResult,
RequestBackState = dbSV.RequestBackState == RequestBackStateEnum.PM_AgressBack ? "已回退" : "未回退", RequestBackState = dbSV.RequestBackState,
CheckChallengeState = dbSV.CheckChallengeState == CheckChanllengeTypeEnum.Closed ? "已关闭" : "已回复", CheckChallengeState = dbSV.CheckChallengeState,
}) })
}); });
@ -204,9 +204,9 @@ namespace IRaCIS.Core.Application.MediatR.Handlers
Identification = "Add|Visit|Status|Visit-Consistency Check", Identification = "Add|Visit|Status|Visit-Consistency Check",
JsonDetail = JsonConvert.SerializeObject(new JsonDetail = JsonConvert.SerializeObject(new
{ {
SubmitState = "已提交", SubmitState = dbSV.SubmitState,
AuditState= "通过", AuditState= dbSV.AuditState,
CheckState = dbSV.CheckState== CheckStateEnum.CVIng? "核查中": "核查通过", CheckState = dbSV.CheckState,
}) })
}); });

View File

@ -0,0 +1,27 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IRaCIS.Core.Domain.Common
{
public static class JJsonConvert
{
/// <summary>
/// 将对象序列化成Json字符串
/// </summary>
/// <param name="obj">需要序列化的对象</param>
/// <param name="jsonConverterArray"></param>
/// <param name="ignoreNullValue">是否忽略值未null的字段</param>
/// <returns></returns>
public static string ToJcJson(this object obj)
{
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.PreserveReferencesHandling = PreserveReferencesHandling.Objects;
settings.ReferenceLoopHandling = ReferenceLoopHandling.Serialize;
return JsonConvert.SerializeObject(obj, settings);
}
}
}