This commit is contained in:
parent
e981b835a5
commit
3262201973
@ -35,7 +35,7 @@ public class TimestampedValuesController : ControllerBase
|
|||||||
{
|
{
|
||||||
var result = await timestampedValuesRepository.AddRange(discriminatorId, dtos, token);
|
var result = await timestampedValuesRepository.AddRange(discriminatorId, dtos, token);
|
||||||
|
|
||||||
return Ok(result);
|
return CreatedAtAction(nameof(AddRange), result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -12,13 +12,13 @@ public abstract class BaseClient
|
|||||||
this.logger = logger;
|
this.logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<T> ExecuteGetResponse<T>(Func<Task<IApiResponse<T>>> getMethod, CancellationToken token)
|
public async Task<T?> ExecuteGetResponse<T>(Func<Task<IApiResponse<T>>> getMethod, CancellationToken token)
|
||||||
{
|
{
|
||||||
var response = await getMethod.Invoke().WaitAsync(token);
|
var response = await getMethod.Invoke().WaitAsync(token);
|
||||||
|
|
||||||
if (response.IsSuccessStatusCode)
|
if (response.IsSuccessStatusCode)
|
||||||
{
|
{
|
||||||
return response.Content!;
|
return response.Content;
|
||||||
}
|
}
|
||||||
|
|
||||||
var exception = response.GetPersistenceException();
|
var exception = response.GetPersistenceException();
|
||||||
|
@ -96,7 +96,6 @@ public interface ITimestampedValuesClient : IDisposable
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T"></typeparam>
|
/// <typeparam name="T"></typeparam>
|
||||||
/// <param name="idDiscriminator"></param>
|
/// <param name="idDiscriminator"></param>
|
||||||
/// <param name="columnNames"></param>
|
|
||||||
/// <param name="take"></param>
|
/// <param name="take"></param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
|
@ -92,6 +92,7 @@ public class TimestampedValuesRepository : ITimestampedValuesRepository
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ToDo: прореживание должно осуществляться до материализации
|
||||||
public async virtual Task<IEnumerable<Tuple<DateTimeOffset, object[]>>> GetResampledData(
|
public async virtual Task<IEnumerable<Tuple<DateTimeOffset, object[]>>> GetResampledData(
|
||||||
Guid discriminatorId,
|
Guid discriminatorId,
|
||||||
DateTimeOffset dateBegin,
|
DateTimeOffset dateBegin,
|
||||||
|
@ -22,6 +22,7 @@ public class TimestampedValuesService : ITimestampedValuesService
|
|||||||
/// <inheritdoc/>
|
/// <inheritdoc/>
|
||||||
public async Task<int> AddRange(Guid discriminatorId, IEnumerable<TimestampedValuesDto> dtos, CancellationToken token)
|
public async Task<int> AddRange(Guid discriminatorId, IEnumerable<TimestampedValuesDto> dtos, CancellationToken token)
|
||||||
{
|
{
|
||||||
|
// ToDo: реализовать без foreach
|
||||||
foreach (var dto in dtos)
|
foreach (var dto in dtos)
|
||||||
{
|
{
|
||||||
var keys = dto.Values.Keys.ToArray();
|
var keys = dto.Values.Keys.ToArray();
|
||||||
@ -132,13 +133,10 @@ public class TimestampedValuesService : ITimestampedValuesService
|
|||||||
};
|
};
|
||||||
|
|
||||||
var identity = systemSpecification!.PropNames;
|
var identity = systemSpecification!.PropNames;
|
||||||
for (var i = 0; i < identity.Count(); i++)
|
var indexedIdentity = identity
|
||||||
{
|
.Select((value, index) => new { index, value });
|
||||||
var key = identity[i];
|
dto.Values = indexedIdentity
|
||||||
var value = entity.Item2[i];
|
.ToDictionary(x => x.value, x => entity.Item2[x.index]);
|
||||||
|
|
||||||
dto.Values.Add(key, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
return dto;
|
return dto;
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user