diff --git a/DD.Persistence.API/Controllers/TimestampedValuesController.cs b/DD.Persistence.API/Controllers/TimestampedValuesController.cs index bb4934c..fe97476 100644 --- a/DD.Persistence.API/Controllers/TimestampedValuesController.cs +++ b/DD.Persistence.API/Controllers/TimestampedValuesController.cs @@ -1,6 +1,8 @@ using DD.Persistence.Models; using DD.Persistence.Models.Common; +using DD.Persistence.Repositories; using DD.Persistence.Services.Interfaces; +using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System.Net; @@ -10,15 +12,16 @@ namespace DD.Persistence.API.Controllers; /// Хранение наборов данных с отметкой времени. /// [ApiController] -//[Authorize] +[Authorize] [Route("api/[controller]")] public class TimestampedValuesController : ControllerBase { private readonly ITimestampedValuesService timestampedValuesService; - - public TimestampedValuesController(ITimestampedValuesService repository) + private readonly ITimestampedValuesRepository timestampedValuesRepository; + public TimestampedValuesController(ITimestampedValuesService repository, ITimestampedValuesRepository timestampedValuesRepository) { this.timestampedValuesService = repository; + this.timestampedValuesRepository = timestampedValuesRepository; } /// @@ -130,7 +133,7 @@ public class TimestampedValuesController : ControllerBase [HttpGet("{discriminatorId}/count")] public async Task> Count([FromRoute] Guid discriminatorId, CancellationToken token) { - var result = await timestampedValuesService.Count(discriminatorId, token); + var result = await timestampedValuesRepository.Count(discriminatorId, token); return Ok(result); } @@ -143,7 +146,7 @@ public class TimestampedValuesController : ControllerBase [HttpGet("{discriminatorId}/datesRange")] public async Task> GetDatesRange([FromRoute] Guid discriminatorId, CancellationToken token) { - var result = await timestampedValuesService.GetDatesRange(discriminatorId, token); + var result = await timestampedValuesRepository.GetDatesRange(discriminatorId, token); return Ok(result); } diff --git a/DD.Persistence.Repository/Repositories/TimestampedValuesRepository.cs b/DD.Persistence.Repository/Repositories/TimestampedValuesRepository.cs index 3f4e0a0..2005a5a 100644 --- a/DD.Persistence.Repository/Repositories/TimestampedValuesRepository.cs +++ b/DD.Persistence.Repository/Repositories/TimestampedValuesRepository.cs @@ -18,17 +18,12 @@ public class TimestampedValuesRepository : ITimestampedValuesRepository public async virtual Task AddRange(Guid discriminatorId, IEnumerable dtos, CancellationToken token) { - var timestampedValuesEntities = new List(); - foreach (var dto in dtos) + var timestampedValuesEntities = dtos.Select(dto => new TimestampedValues() { - var timestampedValuesEntity = new TimestampedValues() - { - DiscriminatorId = discriminatorId, - Timestamp = dto.Timestamp.ToUniversalTime(), - Values = dto.Values.Values.ToArray() - }; - timestampedValuesEntities.Add(timestampedValuesEntity); - } + DiscriminatorId = discriminatorId, + Timestamp = dto.Timestamp.ToUniversalTime(), + Values = dto.Values.Values.ToArray() + }); await db.Set().AddRangeAsync(timestampedValuesEntities, token); diff --git a/DD.Persistence/Services/Interfaces/ITimestampedValuesService.cs b/DD.Persistence/Services/Interfaces/ITimestampedValuesService.cs index 27c5f16..317eb8c 100644 --- a/DD.Persistence/Services/Interfaces/ITimestampedValuesService.cs +++ b/DD.Persistence/Services/Interfaces/ITimestampedValuesService.cs @@ -17,14 +17,6 @@ public interface ITimestampedValuesService /// Task AddRange(Guid discriminatorId, IEnumerable dtos, CancellationToken token); - /// - /// Количество записей по указанному набору в БД. Для пагинации - /// - /// Дискриминатор (идентификатор) набора - /// - /// - Task Count(Guid discriminatorId, CancellationToken token); - /// /// Получение данных с фильтрацией для нескольких систем. Значение фильтра null - отключен /// @@ -75,12 +67,4 @@ public interface ITimestampedValuesService /// /// Task> GetResampledData(Guid discriminatorId, DateTimeOffset timestampBegin, double intervalSec = 600, int approxPointsCount = 1024, CancellationToken token = default); - - /// - /// Получить диапазон дат, для которых есть данные - /// - /// - /// - /// - Task GetDatesRange(Guid discriminatorId, CancellationToken token); } \ No newline at end of file diff --git a/DD.Persistence/Services/TimestampedValuesService.cs b/DD.Persistence/Services/TimestampedValuesService.cs index 304fbc4..cbcb73c 100644 --- a/DD.Persistence/Services/TimestampedValuesService.cs +++ b/DD.Persistence/Services/TimestampedValuesService.cs @@ -102,22 +102,6 @@ public class TimestampedValuesService : ITimestampedValuesService return dtos; } - /// - public async Task Count(Guid discriminatorId, CancellationToken token) - { - var result = await timestampedValuesRepository.Count(discriminatorId, token); - - return result; - } - - /// - public async virtual Task GetDatesRange(Guid discriminatorId, CancellationToken token) - { - var result = await timestampedValuesRepository.GetDatesRange(discriminatorId, token); - - return result; - } - /// /// Преобразовать результат запроса в набор dto ///