Merge branch 'RepositoriesRework' into FilterBuilder

This commit is contained in:
Roman Efremov 2025-02-06 12:39:52 +05:00
commit 598056c6d7
2 changed files with 12 additions and 11 deletions

View File

@ -18,7 +18,7 @@ public class DataSchemeDto : IEnumerable<SchemePropertyDto>, IEquatable<IEnumera
private IEnumerable<SchemePropertyDto> Properties { get; } = [];
/// <inheritdoc/>
public DataSchemeDto(Guid discriminatorId, SchemePropertyDto[] Properties)
public DataSchemeDto(Guid discriminatorId, IEnumerable<SchemePropertyDto> Properties)
{
DiscriminatorId = discriminatorId;
this.Properties = Properties;
@ -34,8 +34,8 @@ public class DataSchemeDto : IEnumerable<SchemePropertyDto>, IEquatable<IEnumera
/// <inheritdoc/>
public bool Equals(IEnumerable<SchemePropertyDto>? otherProperties)
{
//if (otherProperties is null)
// return false;
if (otherProperties is null)
return false;
return Properties.SequenceEqual(otherProperties);
}

View File

@ -117,13 +117,13 @@ public class TimestampedValuesService : ITimestampedValuesService
if (dataScheme is null)
continue;
foreach (var tuple in keyValuePair.Value)
foreach (var (Timestamp, Values) in keyValuePair.Value)
{
var dto = new TimestampedValuesDto()
{
Timestamp = tuple.Timestamp.ToUniversalTime(),
Timestamp = Timestamp.ToUniversalTime(),
Values = dataScheme
.ToDictionary(k => k.PropertyName, v => tuple.Values[v.Index])
.ToDictionary(k => k.PropertyName, v => Values[v.Index])
};
result = result.Append(dto);
@ -144,11 +144,12 @@ public class TimestampedValuesService : ITimestampedValuesService
private async Task CreateDataSchemeIfNotExist(Guid discriminatorId, TimestampedValuesDto dto, CancellationToken token)
{
var valuesList = dto.Values.ToList();
var properties = valuesList.ToList().Select(e => new SchemePropertyDto() {
Index = valuesList.IndexOf(e),
var properties = valuesList.Select((e, index) => new SchemePropertyDto()
{
Index = index,
PropertyName = e.Key,
PropertyKind = ((JsonElement) e.Value).ValueKind
}).ToArray();
PropertyKind = ((JsonElement)e.Value).ValueKind
});
var dataScheme = await dataSchemeRepository.Get(discriminatorId, token);
if (dataScheme is null)
@ -172,7 +173,7 @@ public class TimestampedValuesService : ITimestampedValuesService
/// <param name="dtos"></param>
/// <param name="fieldNames">Поля, которые необходимо оставить</param>
/// <returns></returns>
private IEnumerable<TimestampedValuesDto> ReduceSetColumnsByNames(IEnumerable<TimestampedValuesDto> dtos, IEnumerable<string> fieldNames)
private static IEnumerable<TimestampedValuesDto> ReduceSetColumnsByNames(IEnumerable<TimestampedValuesDto> dtos, IEnumerable<string> fieldNames)
{
var result = dtos.Select(dto =>
{