2025-03-07 15:14:29 +05:00
|
|
|
|
using DD.Persistence.Models.ChangeLog;
|
2025-01-13 17:45:49 +05:00
|
|
|
|
using DD.Persistence.Models.Common;
|
2024-12-16 15:38:46 +05:00
|
|
|
|
using DD.Persistence.Models.Requests;
|
2024-12-10 13:55:01 +05:00
|
|
|
|
|
2024-12-16 15:38:46 +05:00
|
|
|
|
namespace DD.Persistence.Client.Clients.Interfaces;
|
2024-12-10 13:55:01 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Клиент для работы с записями ChangeLog
|
|
|
|
|
/// </summary>
|
|
|
|
|
public interface IChangeLogClient : IDisposable
|
|
|
|
|
{
|
2025-02-17 17:34:07 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Добавить несколько записей
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idDiscriminator"></param>
|
|
|
|
|
/// <param name="dtos"></param>
|
|
|
|
|
/// <param name="comment"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2025-02-28 17:41:34 +05:00
|
|
|
|
Task<int> AddRange(Guid idDiscriminator, IEnumerable<ChangeLogCreateRequest> dtos, string comment, CancellationToken token);
|
2024-12-10 13:55:01 +05:00
|
|
|
|
|
2025-02-17 17:34:07 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Импорт с заменой: удаление старых строк и добавление новых
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idDiscriminator"></param>
|
|
|
|
|
/// <param name="dtos"></param>
|
|
|
|
|
/// <param name="comment"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2025-02-28 17:41:34 +05:00
|
|
|
|
Task<int> ClearAndAddRange(Guid idDiscriminator, IEnumerable<ChangeLogCreateRequest> dtos, string comment, CancellationToken token);
|
2024-12-10 13:55:01 +05:00
|
|
|
|
|
2025-02-17 17:34:07 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Удалить несколько записей
|
|
|
|
|
/// </summary>
|
2025-02-27 16:56:03 +05:00
|
|
|
|
/// <param name="idDiscriminator"></param>
|
2025-02-17 17:34:07 +05:00
|
|
|
|
/// <param name="ids"></param>
|
|
|
|
|
/// <param name="comment"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2025-02-27 16:56:03 +05:00
|
|
|
|
Task<int> DeleteRange(Guid idDiscriminator, IEnumerable<Guid> ids, string comment, CancellationToken token);
|
2024-12-10 13:55:01 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получение актуальных данных на определенную дату (с пагинацией)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idDiscriminator"></param>
|
|
|
|
|
/// <param name="moment"></param>
|
|
|
|
|
/// <param name="paginationRequest"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2025-02-28 17:41:34 +05:00
|
|
|
|
Task<PaginationContainer<ChangeLogBaseDto>> GetByDate(Guid idDiscriminator, DateTimeOffset moment, PaginationRequest paginationRequest, CancellationToken token);
|
2024-12-10 13:55:01 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получение исторических данных за определенный период времени
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idDiscriminator"></param>
|
|
|
|
|
/// <param name="dateBegin"></param>
|
|
|
|
|
/// <param name="dateEnd"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2024-12-11 14:56:31 +05:00
|
|
|
|
Task<IEnumerable<ChangeLogDto>> GetChangeLogForInterval(Guid idDiscriminator, DateTimeOffset dateBegin, DateTimeOffset dateEnd, CancellationToken token);
|
2024-12-10 13:55:01 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получение списка дат, в которые происходили изменения (день, месяц, год, без времени)
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="idDiscriminator"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2024-12-11 14:56:31 +05:00
|
|
|
|
Task<DatesRangeDto?> GetDatesRange(Guid idDiscriminator, CancellationToken token);
|
2024-12-10 13:55:01 +05:00
|
|
|
|
|
2025-02-17 17:34:07 +05:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// Обновить несколько записей
|
|
|
|
|
/// </summary>
|
2025-02-27 16:56:03 +05:00
|
|
|
|
/// <param name="idDiscriminator"></param>
|
2025-02-17 17:34:07 +05:00
|
|
|
|
/// <param name="dtos"></param>
|
|
|
|
|
/// <param name="comment"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2025-02-28 17:41:34 +05:00
|
|
|
|
Task<int> UpdateRange(Guid idDiscriminator, IEnumerable<ChangeLogBaseDto> dtos, string comment, CancellationToken token);
|
2025-02-26 18:18:21 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получение статистики журнала изменений
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="request"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2025-03-07 15:14:29 +05:00
|
|
|
|
Task<IEnumerable<ChangeLogStatisticsDto>> GetStatistics(ChangeLogQuery request, CancellationToken token);
|
2025-03-03 17:41:02 +05:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Получение истории по журналу изменений
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="request"></param>
|
|
|
|
|
/// <param name="token"></param>
|
|
|
|
|
/// <returns></returns>
|
2025-03-06 14:04:33 +05:00
|
|
|
|
Task<IEnumerable<ChangeLogCommitDto>> GetHistory(ChangeLogQuery request, CancellationToken token);
|
2024-12-10 13:55:01 +05:00
|
|
|
|
}
|