Приведение в соответствие методы интерфйсов API и методы интерфейсов репозитория
This commit is contained in:
parent
f008228754
commit
3c94d55caf
@ -1,14 +1,10 @@
|
|||||||
using Persistence.Models;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using System;
|
using Persistence.Models;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Persistence.API;
|
namespace Persistence.API;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Интерфейс для работы с API, предназначенного для CRUD-операций над данными
|
/// Интерфейс для работы с API журнала изменений
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IApiChangeLog<TDto, TChangeLogDto>
|
public interface IApiChangeLog<TDto, TChangeLogDto>
|
||||||
where TDto : class, new()
|
where TDto : class, new()
|
||||||
@ -19,7 +15,7 @@ public interface IApiChangeLog<TDto, TChangeLogDto>
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<IEnumerable<TDto>> GetChangeLogCurrent(CancellationToken token);
|
Task<ActionResult<IEnumerable<TDto>>> GetChangeLogCurrent(CancellationToken token);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получение исторических данных на определенную дату
|
/// Получение исторических данных на определенную дату
|
||||||
@ -27,15 +23,15 @@ public interface IApiChangeLog<TDto, TChangeLogDto>
|
|||||||
/// <param name="historyMoment"></param>
|
/// <param name="historyMoment"></param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<IEnumerable<TChangeLogDto>> GetChangeLogForDate(DateTimeOffset historyMoment, CancellationToken token);
|
Task<ActionResult<IEnumerable<TChangeLogDto>>> GetChangeLogForDate(DateTimeOffset historyMoment, CancellationToken token);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Добавить одну запись
|
/// Добавить одну запись
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="dto"></param>
|
/// <param name="dto"></param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> AddAsync(TDto dto, CancellationToken token);
|
Task<ActionResult<int>> AddAsync(TDto dto, CancellationToken token);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Добавить несколько записей
|
/// Добавить несколько записей
|
||||||
@ -43,7 +39,7 @@ public interface IApiChangeLog<TDto, TChangeLogDto>
|
|||||||
/// <param name="dtos"></param>
|
/// <param name="dtos"></param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> AddRangeAsync(IEnumerable<TDto> dtos, CancellationToken token);
|
Task<ActionResult<int>> AddRangeAsync(IEnumerable<TDto> dtos, CancellationToken token);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Обновить одну запись
|
/// Обновить одну запись
|
||||||
@ -51,7 +47,7 @@ public interface IApiChangeLog<TDto, TChangeLogDto>
|
|||||||
/// <param name="dto"></param>
|
/// <param name="dto"></param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> UpdateAsync(TDto dto, CancellationToken token);
|
Task<ActionResult<int>> UpdateAsync(TDto dto, CancellationToken token);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Обновить несколько записей
|
/// Обновить несколько записей
|
||||||
@ -59,7 +55,7 @@ public interface IApiChangeLog<TDto, TChangeLogDto>
|
|||||||
/// <param name="dtos"></param>
|
/// <param name="dtos"></param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> UpdateRangeAsync(IEnumerable<TDto> dtos, CancellationToken token);
|
Task<ActionResult<int>> UpdateRangeAsync(IEnumerable<TDto> dtos, CancellationToken token);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Удалить одну запись
|
/// Удалить одну запись
|
||||||
@ -67,7 +63,7 @@ public interface IApiChangeLog<TDto, TChangeLogDto>
|
|||||||
/// <param name="id"></param>
|
/// <param name="id"></param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> DeleteAsync(int id, CancellationToken token);
|
Task<ActionResult<int>> DeleteAsync(int id, CancellationToken token);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Удалить несколько записей
|
/// Удалить несколько записей
|
||||||
@ -75,5 +71,5 @@ public interface IApiChangeLog<TDto, TChangeLogDto>
|
|||||||
/// <param name="ids"></param>
|
/// <param name="ids"></param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> DeleteRangeAsync(IEnumerable<int> ids, CancellationToken token);
|
Task<ActionResult<int>> DeleteRangeAsync(IEnumerable<int> ids, CancellationToken token);
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,9 @@
|
|||||||
using System;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Persistence.API;
|
namespace Persistence.API;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Интерфейс для API, предназначенного для работы со справочниками
|
/// Интерфейс для API, предназначенного для работы с элементами справочников
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IApiDictionaryElement<TDto> where TDto : class, new()
|
public interface IApiDictionaryElement<TDto> where TDto : class, new()
|
||||||
{
|
{
|
||||||
@ -17,7 +13,7 @@ public interface IApiDictionaryElement<TDto> where TDto : class, new()
|
|||||||
/// <param name="dictionaryKey">ключ справочника</param>
|
/// <param name="dictionaryKey">ключ справочника</param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<IEnumerable<TDto>> GetDataAsync(Guid dictionaryKey, CancellationToken token);
|
Task<ActionResult<IEnumerable<TDto>>> GetAsync(Guid dictionaryKey, CancellationToken token);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Добавить элемент в справочник
|
/// Добавить элемент в справочник
|
||||||
@ -26,7 +22,7 @@ public interface IApiDictionaryElement<TDto> where TDto : class, new()
|
|||||||
/// <param name="dto"></param>
|
/// <param name="dto"></param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<Guid> AddAsync(Guid dictionaryKey, TDto dto, CancellationToken token);
|
Task<ActionResult<Guid>> AddAsync(Guid dictionaryKey, TDto dto, CancellationToken token);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Изменить одну запись
|
/// Изменить одну запись
|
||||||
@ -36,7 +32,7 @@ public interface IApiDictionaryElement<TDto> where TDto : class, new()
|
|||||||
/// <param name="dto"></param>
|
/// <param name="dto"></param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<Guid> UpdateAsync(Guid dictionaryKey, Guid dictionaryElementKey, TDto dto, CancellationToken token);
|
Task<ActionResult<Guid>> UpdateAsync(Guid dictionaryKey, Guid dictionaryElementKey, TDto dto, CancellationToken token);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Удалить одну запись
|
/// Удалить одну запись
|
||||||
@ -45,5 +41,5 @@ public interface IApiDictionaryElement<TDto> where TDto : class, new()
|
|||||||
/// <param name="dictionaryElementKey">ключ элемента в справочнике</param>
|
/// <param name="dictionaryElementKey">ключ элемента в справочнике</param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<int> DeleteAsync(Guid dictionaryKey, Guid dictionaryElementKey, CancellationToken token);
|
Task<ActionResult<int>> DeleteAsync(Guid dictionaryKey, Guid dictionaryElementKey, CancellationToken token);
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,17 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Persistence.Models;
|
using Persistence.Models;
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Persistence.API;
|
namespace Persistence.API;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Интерфейс для работы с API, предназначенного для работы с уставками
|
/// Интерфейс для API, предназначенного для работы с уставками
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IApiSetpoint
|
public interface IApiSetpoint
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получить актуальные значения уставок
|
/// Получить актуальные значения уставок
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="setpoitKeys"></param>
|
/// <param name="setpoitKeys">ключи уставок</param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<ActionResult<IEnumerable<SetpointValueDto>>> GetCurrentAsync(IEnumerable<Guid> setpoitKeys, CancellationToken token);
|
Task<ActionResult<IEnumerable<SetpointValueDto>>> GetCurrentAsync(IEnumerable<Guid> setpoitKeys, CancellationToken token);
|
||||||
@ -20,28 +19,26 @@ public interface IApiSetpoint
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получить значения уставок за определенный момент времени
|
/// Получить значения уставок за определенный момент времени
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="setpoitKeys"></param>
|
/// <param name="setpoitKeys">ключи уставок</param>
|
||||||
/// <param name="historyMoment">дата, на которую получаем данные</param>
|
/// <param name="historyMoment">дата, на которую получаем данные</param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<IEnumerable<SetpointValueDto>> GetHistoryAsync(IEnumerable<Guid> setpoitKeys, DateTimeOffset historyMoment, CancellationToken token);
|
Task<ActionResult<IEnumerable<SetpointValueDto>>> GetHistoryAsync(IEnumerable<Guid> setpoitKeys, DateTimeOffset historyMoment, CancellationToken token);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получить историю изменений значений уставок
|
/// Получить историю изменений значений уставок
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="setpoitKeys"></param>
|
/// <param name="setpoitKeys">ключи уставок</param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<Dictionary<Guid, IEnumerable<SetpointLogDto>>> GetLogAsync(IEnumerable<Guid> setpoitKeys, CancellationToken token);
|
Task<ActionResult<Dictionary<Guid, IEnumerable<SetpointLogDto>>>> GetLogAsync(IEnumerable<Guid> setpoitKeys, CancellationToken token);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Метод сохранения уставки
|
/// Метод сохранения уставки
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="setpointKey">ключ операции</param>
|
/// <param name="setpointKey">ключ уставки</param>
|
||||||
/// <param name="newValue">значение</param>
|
/// <param name="newValue">значение</param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
/// to do
|
Task<ActionResult<int>> SaveAsync(Guid setpointKey, object newValue, CancellationToken token);
|
||||||
/// id User учесть в соответствующем методе репозитория
|
|
||||||
Task<int> SaveAsync(Guid setpointKey, object newValue, CancellationToken token);
|
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,10 @@
|
|||||||
using Persistence.Models;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using System;
|
using Persistence.Models;
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Persistence.API;
|
namespace Persistence.API;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Интерфейс для работы с API, предназначенного для синхронизации данных
|
/// Интерфейс для API, предназначенного для синхронизации данных
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IApiSync<TDto> where TDto : class, new()
|
public interface IApiSync<TDto> where TDto : class, new()
|
||||||
{
|
{
|
||||||
@ -19,12 +15,12 @@ public interface IApiSync<TDto> where TDto : class, new()
|
|||||||
/// <param name="take">количество записей</param>
|
/// <param name="take">количество записей</param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<IEnumerable<TDto>> GetPartAsync(DateTimeOffset dateBegin, int take = 24 * 60 * 60, CancellationToken token = default);
|
Task<ActionResult<IEnumerable<TDto>>> GetPartAsync(DateTimeOffset dateBegin, int take = 24 * 60 * 60, CancellationToken token = default);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получить диапазон дат, для которых есть данные в репозитории
|
/// Получить диапазон дат, для которых есть данные в репозитории
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<DatesRangeDto> GetDatesRangeAsync(CancellationToken token);
|
Task<ActionResult<DatesRangeDto>> GetDatesRangeAsync(CancellationToken token);
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Persistence.Models;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Persistence.Models;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -7,7 +8,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Persistence.API;
|
namespace Persistence.API;
|
||||||
|
|
||||||
/// Интерфейс для работы с API, предназначенного для работы с табличными данными
|
/// Интерфейс для API, предназначенного для работы с табличными данными
|
||||||
public interface IApiTableData<TDto, TRequest>
|
public interface IApiTableData<TDto, TRequest>
|
||||||
where TDto : class, new()
|
where TDto : class, new()
|
||||||
where TRequest : RequestDto
|
where TRequest : RequestDto
|
||||||
@ -15,11 +16,8 @@ public interface IApiTableData<TDto, TRequest>
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получить страницу списка объектов
|
/// Получить страницу списка объектов
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="skip"></param>
|
|
||||||
/// <param name="take"></param>
|
|
||||||
/// <param name="sortSettings">строка с настройками сортировки</param>
|
|
||||||
/// <param name="request">параметры фильтрации</param>
|
/// <param name="request">параметры фильтрации</param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<PaginationContainer<TDto>> GetPageAsync(TRequest request, CancellationToken token);
|
Task<ActionResult<PaginationContainer<TDto>>> GetPageAsync(TRequest request, CancellationToken token);
|
||||||
}
|
}
|
||||||
|
42
Persistence/API/IApiTimeSeriesData.cs
Normal file
42
Persistence/API/IApiTimeSeriesData.cs
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Persistence.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Persistence.API;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Интерфейс для работы с API временных данных
|
||||||
|
/// </summary>
|
||||||
|
public interface IApiTimeSeriesData<TDto>
|
||||||
|
where TDto : class, new()
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Получить спискок объектов, удовлетворяющий диапазон дат
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="dateBegin">дата начала</param>
|
||||||
|
/// <param name="dateEnd">дата окончания</param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<ActionResult<IEnumerable<TDto>>> GetAsync(DateTimeOffset dateBegin, DateTimeOffset dateEnd, CancellationToken token);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Получить диапазон дат, для которых есть данные в репозитории
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<ActionResult<DatesRangeDto>> GetDatesRangeAsync(CancellationToken token);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Добавление записей
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="dtos"></param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<ActionResult<int>> InsertRange(IEnumerable<TDto> dtos, CancellationToken token);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -1,4 +1,5 @@
|
|||||||
using Persistence.Models;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Persistence.Models;
|
||||||
|
|
||||||
namespace Persistence.API;
|
namespace Persistence.API;
|
||||||
|
|
||||||
@ -8,18 +9,18 @@ namespace Persistence.API;
|
|||||||
public interface IGraphData<TDto>
|
public interface IGraphData<TDto>
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получить список объектов с прореживанием
|
/// Получить список объектов с прореживанием, удовлетворящий диапазону дат
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="dateBegin">дата начала</param>
|
/// <param name="dateBegin">дата начала</param>
|
||||||
/// <param name="dateEnd">дата окончания</param>
|
/// <param name="dateEnd">дата окончания</param>
|
||||||
/// <param name="approxPointsCount"></param>
|
/// <param name="approxPointsCount"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<IEnumerable<TDto>> GetThinnedDataAsync(DateTimeOffset dateBegin, DateTimeOffset dateEnd, int approxPointsCount = 1024);
|
Task<ActionResult<IEnumerable<TDto>>> GetThinnedDataAsync(DateTimeOffset dateBegin, DateTimeOffset dateEnd, int approxPointsCount = 1024);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Получить диапазон дат, для которых есть данные в репозитории
|
/// Получить диапазон дат, для которых есть данные в репозитории
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<DatesRangeDto> GetDatesRangeAsync(CancellationToken token);
|
Task<ActionResult<DatesRangeDto>> GetDatesRangeAsync(CancellationToken token);
|
||||||
}
|
}
|
||||||
|
@ -1,71 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<ClassDiagram MajorVersion="1" MinorVersion="1">
|
|
||||||
<Class Name="Persistence.Repositories.AbstractChangeLogRepository<T, TRequest>" Collapsed="true">
|
|
||||||
<Position X="7.75" Y="2.75" Width="1.5" />
|
|
||||||
<TypeIdentifier>
|
|
||||||
<HashCode>ACCAAAAAAAAABAAQAAAABAAAAAACAAAgAAAAAABAAAE=</HashCode>
|
|
||||||
<FileName>Repositories\AbstractChangeLogRepository.cs</FileName>
|
|
||||||
</TypeIdentifier>
|
|
||||||
<Lollipop Position="0.2" />
|
|
||||||
</Class>
|
|
||||||
<Class Name="Persistence.Repositories.AbstractTimeSeriesDataRepository<T>" Collapsed="true">
|
|
||||||
<Position X="10.75" Y="2.75" Width="1.5" />
|
|
||||||
<TypeIdentifier>
|
|
||||||
<HashCode>AAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
|
|
||||||
<FileName>Repositories\AbstractTimeSeriesDataRepository.cs</FileName>
|
|
||||||
</TypeIdentifier>
|
|
||||||
<Lollipop Position="0.2" />
|
|
||||||
</Class>
|
|
||||||
<Class Name="Persistence.Services.ArchiveService" Collapsed="true" BaseTypeListCollapsed="true">
|
|
||||||
<Position X="7.75" Y="4.75" Width="1.5" />
|
|
||||||
<TypeIdentifier>
|
|
||||||
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
|
|
||||||
<FileName>Services\ArchiveService.cs</FileName>
|
|
||||||
</TypeIdentifier>
|
|
||||||
<Lollipop Position="0.2" Collapsed="true" />
|
|
||||||
</Class>
|
|
||||||
<Class Name="Persistence.Services.TimeSeriesDataObserverService" Collapsed="true" BaseTypeListCollapsed="true">
|
|
||||||
<Position X="11" Y="4.75" Width="1.5" />
|
|
||||||
<TypeIdentifier>
|
|
||||||
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
|
|
||||||
<FileName>Services\TimeSeriesDataObserverService.cs</FileName>
|
|
||||||
</TypeIdentifier>
|
|
||||||
<Lollipop Position="0.2" Collapsed="true" />
|
|
||||||
</Class>
|
|
||||||
<Interface Name="Persistence.Repositories.IChangeLogRepository<T, TRequest>">
|
|
||||||
<Position X="4.75" Y="2.75" Width="1.5" />
|
|
||||||
<TypeIdentifier>
|
|
||||||
<HashCode>ACCAAAAAAAAABAAAAAAABAAAAAACAAAgAAAAAABAAAE=</HashCode>
|
|
||||||
<FileName>Repositories\IChangeLogRepository.cs</FileName>
|
|
||||||
</TypeIdentifier>
|
|
||||||
</Interface>
|
|
||||||
<Interface Name="Persistence.Repositories.ISyncRepository<T>" Collapsed="true">
|
|
||||||
<Position X="3.75" Y="1.5" Width="1.5" />
|
|
||||||
<TypeIdentifier>
|
|
||||||
<HashCode>AAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
|
|
||||||
<FileName>Repositories\ISyncRepository.cs</FileName>
|
|
||||||
</TypeIdentifier>
|
|
||||||
</Interface>
|
|
||||||
<Interface Name="Persistence.Repositories.ITimeSeriesDataRepository<T>" Collapsed="true">
|
|
||||||
<Position X="2.5" Y="2.75" Width="1.5" />
|
|
||||||
<TypeIdentifier>
|
|
||||||
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
|
|
||||||
<FileName>Repositories\ITimeSeriesDataRepository.cs</FileName>
|
|
||||||
</TypeIdentifier>
|
|
||||||
</Interface>
|
|
||||||
<Interface Name="Persistence.Services.IArchiveService" Collapsed="true">
|
|
||||||
<Position X="2.75" Y="6" Width="1.5" />
|
|
||||||
<TypeIdentifier>
|
|
||||||
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
|
|
||||||
<FileName>Services\IArchiveService.cs</FileName>
|
|
||||||
</TypeIdentifier>
|
|
||||||
</Interface>
|
|
||||||
<Interface Name="Persistence.Services.ITimeSeriesDataObserverService" Collapsed="true">
|
|
||||||
<Position X="4.75" Y="6" Width="1.5" />
|
|
||||||
<TypeIdentifier>
|
|
||||||
<HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
|
|
||||||
<FileName>Services\ITimeSeriesDataObserverService.cs</FileName>
|
|
||||||
</TypeIdentifier>
|
|
||||||
</Interface>
|
|
||||||
<Font Name="Segoe UI" Size="9" />
|
|
||||||
</ClassDiagram>
|
|
18
Persistence/Models/ITimeSeriesAbstractDto.cs
Normal file
18
Persistence/Models/ITimeSeriesAbstractDto.cs
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Persistence.Models;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Интерфейс, описывающий временные данные
|
||||||
|
/// </summary>
|
||||||
|
public interface ITimeSeriesAbstractDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// временная отметка
|
||||||
|
/// </summary>
|
||||||
|
DateTimeOffset Date { get; set; }
|
||||||
|
}
|
@ -1,15 +0,0 @@
|
|||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Text;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
|
|
||||||
namespace Persistence.Models;
|
|
||||||
public class SetpointDescriptionDto
|
|
||||||
{
|
|
||||||
public int Id { get; set; }
|
|
||||||
public string Name { get; set; }
|
|
||||||
public string Description { get; set; }
|
|
||||||
public string Type { get; set; }
|
|
||||||
}
|
|
||||||
|
|
@ -8,7 +8,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Persistence.Repositories;
|
namespace Persistence.Repositories;
|
||||||
public abstract class AbstractTimeSeriesDataRepository<TEntity, TDto> : ITimeSeriesDataRepository<TDto>
|
public abstract class AbstractTimeSeriesDataRepository<TEntity, TDto> : ITimeSeriesDataRepository<TDto>
|
||||||
where TDto : class, new()
|
where TDto : class, ITimeSeriesAbstractDto
|
||||||
where TEntity : class, IChangeLogAbstract
|
where TEntity : class, IChangeLogAbstract
|
||||||
{
|
{
|
||||||
private readonly DbContext dbContext;
|
private readonly DbContext dbContext;
|
||||||
@ -18,6 +18,16 @@ public abstract class AbstractTimeSeriesDataRepository<TEntity, TDto> : ITimeSer
|
|||||||
this.dbContext = dbContext;
|
this.dbContext = dbContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Task<IEnumerable<TDto>> GetAsync(DateTimeOffset dateBegin, DateTimeOffset dateEnd, CancellationToken token)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task<DatesRangeDto> GetDatesRangeAsync(CancellationToken token)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
public Task<IEnumerable<TDto>> GetGtDate(DateTimeOffset date, CancellationToken token)
|
public Task<IEnumerable<TDto>> GetGtDate(DateTimeOffset date, CancellationToken token)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
|
26
Persistence/Repositories/IGraphDataRepository.cs
Normal file
26
Persistence/Repositories/IGraphDataRepository.cs
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
using Persistence.Models;
|
||||||
|
|
||||||
|
namespace Persistence.Repositories;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Интерфейс по работе с прореженными данными
|
||||||
|
/// </summary>
|
||||||
|
public interface IGraphDataRepository<TDto>
|
||||||
|
where TDto : class, new()
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Получить список объектов с прореживанием
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="dateBegin">дата начала</param>
|
||||||
|
/// <param name="dateEnd">дата окончания</param>
|
||||||
|
/// <param name="approxPointsCount"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<IEnumerable<TDto>> GetThinnedDataAsync(DateTimeOffset dateBegin, DateTimeOffset dateEnd, int approxPointsCount = 1024);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Получить диапазон дат, для которых есть данные в репозитории
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<DatesRangeDto> GetDatesRangeAsync(CancellationToken token);
|
||||||
|
}
|
45
Persistence/Repositories/ISetpointRepository.cs
Normal file
45
Persistence/Repositories/ISetpointRepository.cs
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Persistence.Models;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace Persistence.Repositories;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Интерфейс по работе с уставками
|
||||||
|
/// </summary>
|
||||||
|
public interface ISetpointRepository
|
||||||
|
{
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Получить значения уставок за определенный момент времени
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="setpoitKeys"></param>
|
||||||
|
/// <param name="historyMoment">дата, на которую получаем данные</param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<IEnumerable<SetpointValueDto>> GetHistoryAsync(IEnumerable<Guid> setpoitKeys, DateTimeOffset historyMoment, CancellationToken token);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Получить историю изменений значений уставок
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="setpoitKeys"></param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<Dictionary<Guid, IEnumerable<SetpointLogDto>>> GetLogAsync(IEnumerable<Guid> setpoitKeys, CancellationToken token);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Метод сохранения уставки
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="setpointKey">ключ операции</param>
|
||||||
|
/// <param name="idUser">ключ пользователя</param>
|
||||||
|
/// <param name="newValue">значение</param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
/// to do
|
||||||
|
/// id User учесть в соответствующем методе репозитория
|
||||||
|
Task<int> SaveAsync(Guid setpointKey, int idUser, object newValue, CancellationToken token);
|
||||||
|
}
|
@ -7,10 +7,10 @@
|
|||||||
public interface ISyncRepository<TDto>
|
public interface ISyncRepository<TDto>
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
/// Получить данные, начиная с определенной даты
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="date"></param>
|
/// <param name="dateBegin">дата начала</param>
|
||||||
/// <param name="token"></param>
|
/// <param name="token"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<IEnumerable<TDto>> GetGtDate(DateTimeOffset date, CancellationToken token);
|
Task<IEnumerable<TDto>> GetGtDate(DateTimeOffset dateBegin, CancellationToken token);
|
||||||
}
|
}
|
||||||
|
19
Persistence/Repositories/ITableDataRepository.cs
Normal file
19
Persistence/Repositories/ITableDataRepository.cs
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
using Persistence.Models;
|
||||||
|
|
||||||
|
namespace Persistence.Repositories;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Интерфейс по работе с табличными данными
|
||||||
|
/// </summary>
|
||||||
|
public interface ITableDataRepository<TDto, TRequest>
|
||||||
|
where TDto : class, new()
|
||||||
|
where TRequest : RequestDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Получить страницу списка объектов
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request">параметры фильтрации</param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<IEnumerable<TDto>> GetAsync(TRequest request, CancellationToken token);
|
||||||
|
}
|
@ -1,11 +1,29 @@
|
|||||||
namespace Persistence.Repositories;
|
using Persistence.Models;
|
||||||
|
|
||||||
|
namespace Persistence.Repositories;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Интерфейс по работе с временными данными
|
/// Интерфейс по работе с временными данными
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="T"></typeparam>
|
/// <typeparam name="TDto"></typeparam>
|
||||||
public interface ITimeSeriesDataRepository<TDto> : ISyncRepository<TDto>
|
public interface ITimeSeriesDataRepository<TDto> : ISyncRepository<TDto>
|
||||||
|
where TDto : class, ITimeSeriesAbstractDto
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Получить страницу списка объектов
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="dateBegin">дата начала</param>
|
||||||
|
/// <param name="dateEnd">дата окончания</param>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<IEnumerable<TDto>> GetAsync(DateTimeOffset dateBegin, DateTimeOffset dateEnd, CancellationToken token);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Получить диапазон дат, для которых есть данные в репозитории
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="token"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<DatesRangeDto> GetDatesRangeAsync(CancellationToken token);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Добавление записей
|
/// Добавление записей
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
Loading…
Reference in New Issue
Block a user