Fix TimezoneId mapping, rename TimeZoneId to TimezoneId

This commit is contained in:
ngfrolov 2022-06-06 17:00:53 +05:00
parent 4db67113b4
commit e99ac84c46
6 changed files with 27 additions and 20 deletions

View File

@ -4,7 +4,7 @@ namespace AsbCloudDb.Model
public class SimpleTimezone public class SimpleTimezone
{ {
public double Hours { get; set; } public double Hours { get; set; }
public string TimeZoneId { get; set; } public string TimezoneId { get; set; }
public bool IsOverride { get; set; } public bool IsOverride { get; set; }
} }

View File

@ -51,6 +51,23 @@ namespace AsbCloudInfrastructure
TypeAdapterConfig.GlobalSettings.Default.Config TypeAdapterConfig.GlobalSettings.Default.Config
.ForType<TimeOnly, TimeDto>() .ForType<TimeOnly, TimeDto>()
.MapWith((source) => new(source)); .MapWith((source) => new(source));
TypeAdapterConfig.GlobalSettings.Default.Config
.ForType<WellDto, Well>()
.Ignore(dst => dst.Cluster,
dst => dst.RelationCompaniesWells,
dst => dst.Telemetry,
dst => dst.WellComposites,
dst => dst.WellCompositeSrcs,
dst => dst.WellOperations,
dst => dst.WellType);
TypeAdapterConfig.GlobalSettings.Default.Config
.ForType<ClusterDto, Cluster>()
.Ignore(dst => dst.Deposit,
dst=>dst.Wells);
} }
public static IServiceCollection AddInfrastructure(this IServiceCollection services, IConfiguration configuration) public static IServiceCollection AddInfrastructure(this IServiceCollection services, IConfiguration configuration)

View File

@ -58,7 +58,7 @@ namespace AsbCloudInfrastructure
Well = well.Caption, Well = well.Caption,
Customer = well.RelationCompaniesWells.FirstOrDefault(c => c.Company.IdCompanyType == 1)?.Company.Caption, Customer = well.RelationCompaniesWells.FirstOrDefault(c => c.Company.IdCompanyType == 1)?.Company.Caption,
DrillingStartDate = well.Telemetry?.Info?.DrillingStartDate.ToRemoteDateTime(timezoneOffset) ?? default, DrillingStartDate = well.Telemetry?.Info?.DrillingStartDate.ToRemoteDateTime(timezoneOffset) ?? default,
TimeZoneId = well.Telemetry?.Info?.TimeZoneId ?? well.Timezone?.TimeZoneId ?? default, TimeZoneId = well.Telemetry?.Info?.TimeZoneId ?? well.Timezone?.TimezoneId ?? default,
TimeZoneOffsetTotalHours = timezoneOffset, TimeZoneOffsetTotalHours = timezoneOffset,
}; };
} }

View File

@ -112,7 +112,7 @@ namespace AsbCloudInfrastructure.Services.SAUB
telemetry.TimeZone = new SimpleTimezone() telemetry.TimeZone = new SimpleTimezone()
{ {
Hours = info.TimeZoneOffsetTotalHours, Hours = info.TimeZoneOffsetTotalHours,
TimeZoneId = info.TimeZoneId TimezoneId = info.TimeZoneId
}; };
await cacheTelemetry.UpsertAsync(telemetry, token) await cacheTelemetry.UpsertAsync(telemetry, token)
@ -135,7 +135,7 @@ namespace AsbCloudInfrastructure.Services.SAUB
{ {
Hours = telemetry.Info.TimeZoneOffsetTotalHours, Hours = telemetry.Info.TimeZoneOffsetTotalHours,
IsOverride = false, IsOverride = false,
TimeZoneId = telemetry.Info.TimeZoneId, TimezoneId = telemetry.Info.TimeZoneId,
}; };
cacheTelemetry.Upsert(telemetry); cacheTelemetry.Upsert(telemetry);
return telemetry.TimeZone.Adapt<SimpleTimezoneDto>(); return telemetry.TimeZone.Adapt<SimpleTimezoneDto>();
@ -186,7 +186,7 @@ namespace AsbCloudInfrastructure.Services.SAUB
{ {
Hours = 5, Hours = 5,
IsOverride = false, IsOverride = false,
TimeZoneId = "default", TimezoneId = "default",
} }
}); });

View File

@ -16,17 +16,6 @@ namespace AsbCloudInfrastructure.Services
{ {
public class WellService : CrudCacheServiceBase<WellDto, Well>, IWellService public class WellService : CrudCacheServiceBase<WellDto, Well>, IWellService
{ {
private static readonly TypeAdapterConfig typeAdapterConfig = TypeAdapterConfig<WellDto, Well>
.NewConfig()
.Ignore(dst => dst.Cluster,
dst => dst.RelationCompaniesWells,
dst => dst.Telemetry,
dst => dst.WellComposites,
dst => dst.WellCompositeSrcs,
dst => dst.WellOperations,
dst => dst.WellType)
.Config;
private const string relationCompaniesWellsCacheTag = "RelationCompaniesWells"; private const string relationCompaniesWellsCacheTag = "RelationCompaniesWells";
private static readonly TimeSpan relationCompaniesWellsCacheObsolence = TimeSpan.FromMinutes(15); private static readonly TimeSpan relationCompaniesWellsCacheObsolence = TimeSpan.FromMinutes(15);
@ -216,7 +205,7 @@ namespace AsbCloudInfrastructure.Services
protected override Well Convert(WellDto dto) protected override Well Convert(WellDto dto)
{ {
var entity = dto.Adapt<Well>(typeAdapterConfig); var entity = dto.Adapt<Well>();
entity.IdTelemetry = entity.IdTelemetry ?? dto.IdTelemetry ?? dto.Telemetry?.Id; entity.IdTelemetry = entity.IdTelemetry ?? dto.IdTelemetry ?? dto.Telemetry?.Id;
@ -267,7 +256,7 @@ namespace AsbCloudInfrastructure.Services
{ {
Hours = 5, Hours = 5,
IsOverride = false, IsOverride = false,
TimeZoneId = "Assumed", TimezoneId = "Assumed",
}; };
await dbSet.Where(w => w.Timezone == null) await dbSet.Where(w => w.Timezone == null)

View File

@ -22,7 +22,9 @@ namespace AsbCloudWebApi
services.AddControllers() services.AddControllers()
.AddJsonOptions(new System.Action<Microsoft.AspNetCore.Mvc.JsonOptions>(options => .AddJsonOptions(new System.Action<Microsoft.AspNetCore.Mvc.JsonOptions>(options =>
{ {
options.JsonSerializerOptions.NumberHandling = System.Text.Json.Serialization.JsonNumberHandling.AllowNamedFloatingPointLiterals | System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString; })) options.JsonSerializerOptions.NumberHandling =
System.Text.Json.Serialization.JsonNumberHandling.AllowNamedFloatingPointLiterals |
System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString;}))
.AddProtoBufNet(); .AddProtoBufNet();
ProtobufModel.EnshureRegistered(); ProtobufModel.EnshureRegistered();
@ -41,7 +43,6 @@ namespace AsbCloudWebApi
{ {
policy.AllowAnyHeader() policy.AllowAnyHeader()
.AllowAnyMethod() .AllowAnyMethod()
//.SetIsOriginAllowed(h => true)
.WithOrigins( .WithOrigins(
"http://0.0.0.0", "http://0.0.0.0",
"http://*", "http://*",