Merge branch 'Test_IRC_Net8' of http://192.168.3.68:2000/XCKJ/irc-netcore-api into Test_IRC_Net8
commit
2a8efb246d
|
@ -109,7 +109,7 @@ builder.Services.AddControllers(options =>
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
.AddNewtonsoftJsonSetup(); // NewtonsoftJson 序列化 处理
|
.AddNewtonsoftJsonSetup(builder.Services); // NewtonsoftJson 序列化 处理
|
||||||
|
|
||||||
builder.Services.AddOptions().Configure<SystemEmailSendConfig>(_configuration.GetSection("SystemEmailSendConfig"));
|
builder.Services.AddOptions().Configure<SystemEmailSendConfig>(_configuration.GetSection("SystemEmailSendConfig"));
|
||||||
builder.Services.AddOptions().Configure<ServiceVerifyConfigOption>(_configuration.GetSection("BasicSystemConfig"));
|
builder.Services.AddOptions().Configure<ServiceVerifyConfigOption>(_configuration.GetSection("BasicSystemConfig"));
|
||||||
|
|
|
@ -19,27 +19,51 @@ namespace IRaCIS.Core.API
|
||||||
_userInfo = userInfo;
|
_userInfo = userInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static readonly TimeZoneInfo ChinaTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Asia/Shanghai");
|
||||||
|
|
||||||
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
|
||||||
|
|
||||||
|
if (reader.ValueType == typeof(DateTime))
|
||||||
|
{
|
||||||
|
DateTime dateTime = (DateTime)reader.Value;
|
||||||
|
|
||||||
|
var zoneTime = TimeZoneInfo.ConvertTime(dateTime, ChinaTimeZone);
|
||||||
|
|
||||||
|
return zoneTime;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return reader.Value;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
|
||||||
{
|
{
|
||||||
var timeZoneId = _userInfo.TimeZoneId;
|
var timeZoneId = _userInfo.TimeZoneId;
|
||||||
|
|
||||||
var needConvertUtcDateTime = Convert.ToDateTime(value);
|
//var needConvertUtcDateTime = Convert.ToDateTime(value);
|
||||||
|
|
||||||
|
|
||||||
var tz = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);
|
//var tz = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);
|
||||||
|
|
||||||
|
|
||||||
var dateTimeOffset = new DateTimeOffset(needConvertUtcDateTime);
|
//var dateTimeOffset = new DateTimeOffset(needConvertUtcDateTime);
|
||||||
|
|
||||||
var time = TimeZoneInfo.ConvertTimeFromUtc(needConvertUtcDateTime, tz).ToString(_dateFormat);
|
//var time = TimeZoneInfo.ConvertTimeFromUtc(needConvertUtcDateTime, tz).ToString(_dateFormat);
|
||||||
|
|
||||||
|
//writer.WriteValue(time);
|
||||||
|
//writer.Flush();
|
||||||
|
|
||||||
|
|
||||||
|
if (value is DateTime dateTime)
|
||||||
|
{
|
||||||
|
DateTime chinaTime = TimeZoneInfo.ConvertTime(dateTime, ChinaTimeZone);
|
||||||
|
writer.WriteValue(chinaTime);
|
||||||
|
}
|
||||||
|
|
||||||
writer.WriteValue(time);
|
|
||||||
writer.Flush();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,8 +8,9 @@ namespace IRaCIS.Core.API
|
||||||
{
|
{
|
||||||
public static class NewtonsoftJsonSetup
|
public static class NewtonsoftJsonSetup
|
||||||
{
|
{
|
||||||
public static void AddNewtonsoftJsonSetup(this IMvcBuilder builder)
|
public static void AddNewtonsoftJsonSetup(this IMvcBuilder builder, IServiceCollection services)
|
||||||
{
|
{
|
||||||
|
services.AddScoped<DateTimeConverterBase, JSONCustomDateConverter>();
|
||||||
|
|
||||||
builder.AddNewtonsoftJson(options =>
|
builder.AddNewtonsoftJson(options =>
|
||||||
{
|
{
|
||||||
|
@ -24,6 +25,7 @@ namespace IRaCIS.Core.API
|
||||||
options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
|
options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
|
||||||
|
|
||||||
//options.SerializerSettings.Converters.Add(new JSONCustomDateConverter()) ;
|
//options.SerializerSettings.Converters.Add(new JSONCustomDateConverter()) ;
|
||||||
|
//options.SerializerSettings.Converters.Add(services.BuildServiceProvider().GetService<JSONCustomDateConverter>());
|
||||||
|
|
||||||
//IsoDateTimeConverter
|
//IsoDateTimeConverter
|
||||||
//options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
|
//options.SerializerSettings.NullValueHandling = NullValueHandling.Ignore;
|
||||||
|
|
|
@ -323,7 +323,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
{
|
{
|
||||||
//CRC只看到他负责的
|
//CRC只看到他负责的
|
||||||
|
|
||||||
var list = await _trialSiteRepository.Where(t => t.TrialId == trialId).IgnoreQueryFilters()
|
var list = await _trialSiteRepository.Where(t => t.TrialId == trialId)
|
||||||
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CRA, t => t.CRCUserList.Any(t => t.UserId == _userInfo.Id))
|
.WhereIf(_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CRA, t => t.CRCUserList.Any(t => t.UserId == _userInfo.Id))
|
||||||
.ProjectTo<TrialSiteForSelect>(_mapper.ConfigurationProvider).OrderBy(t => t.TrialSiteCode).ToListAsync();
|
.ProjectTo<TrialSiteForSelect>(_mapper.ConfigurationProvider).OrderBy(t => t.TrialSiteCode).ToListAsync();
|
||||||
|
|
||||||
|
|
|
@ -277,7 +277,9 @@ namespace IRaCIS.Core.Domain.Share
|
||||||
{
|
{
|
||||||
return timeZoneId.Value;
|
return timeZoneId.Value;
|
||||||
}
|
}
|
||||||
return "Asia/Shanghai";
|
|
||||||
|
return "Etc/UTC";
|
||||||
|
//return "Asia/Shanghai";
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue