fix timezone in tvd

This commit is contained in:
ngfrolov 2022-03-29 10:36:18 +05:00
parent 102a0e4dbf
commit 0521809e6e

View File

@ -379,6 +379,8 @@ namespace AsbCloudInfrastructure.Services.WellOperationService
.Select(o => o.IdWellSectionType) .Select(o => o.IdWellSectionType)
.Distinct(); .Distinct();
var tzOffsetHours = wellService.GetTimezone(idWell).Hours;
if (!wellOperationsPlan.Any()) if (!wellOperationsPlan.Any())
return null; return null;
@ -402,8 +404,8 @@ namespace AsbCloudInfrastructure.Services.WellOperationService
var planFactPredict = new PlanFactPredictBase<WellOperationDto> var planFactPredict = new PlanFactPredictBase<WellOperationDto>
{ {
Plan = plan?.Adapt(WellOperationDtoMutation), Plan = Convert(plan, tzOffsetHours),
Fact = fact?.Adapt(WellOperationDtoMutation), Fact = Convert(fact, tzOffsetHours),
Predict = null, Predict = null,
}; };
@ -438,7 +440,7 @@ namespace AsbCloudInfrastructure.Services.WellOperationService
{ {
if (merged[i].Item1 is null) if (merged[i].Item1 is null)
continue; continue;
tvd[i].Predict = merged[i].Item1.Adapt<WellOperationDto>(); tvd[i].Predict = Convert(merged[i].Item1, tzOffsetHours);
tvd[i].Predict.IdType = 2; tvd[i].Predict.IdType = 2;
tvd[i].Predict.DateStart = tvd[i].Predict.DateStart + startOffset; tvd[i].Predict.DateStart = tvd[i].Predict.DateStart + startOffset;
tvd[i].Predict.Day = (tvd[i].Predict.DateStart - dateStart).TotalDays; tvd[i].Predict.Day = (tvd[i].Predict.DateStart - dateStart).TotalDays;
@ -539,10 +541,15 @@ namespace AsbCloudInfrastructure.Services.WellOperationService
return m; return m;
} }
private static readonly Action<WellOperationDto, WellOperation> WellOperationDtoMutation = (WellOperationDto dest, WellOperation source) => private static WellOperationDto Convert(WellOperation source, double tzOffsetHours)
{ {
if(source is null)
return null;
var dest = source.Adapt<WellOperationDto>();
dest.CategoryName = source.OperationCategory?.Name; dest.CategoryName = source.OperationCategory?.Name;
dest.WellSectionTypeName = source.WellSectionType?.Caption; dest.WellSectionTypeName = source.WellSectionType?.Caption;
}; dest.DateStart = source.DateStart.ToRemoteDateTime(tzOffsetHours);
return dest;
}
} }
} }