using Persistence.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Persistence.API; /// /// Интерфейс для работы с API, предназначенного для CRUD-операций над данными /// public interface IApiChangeLog where TDto : class, new() where TChangeLogDto : ChangeLogDto { /// /// Получение исторических данных на текущую дату /// /// /// Task> GetChangeLogCurrent(CancellationToken token); /// /// Получение исторических данных на определенную дату /// /// /// /// Task> GetChangeLogForDate(DateTimeOffset historyMoment, CancellationToken token); /// /// Добавить одну запись /// /// /// /// Task AddAsync(TDto dto, CancellationToken token); /// /// Добавить несколько записей /// /// /// /// Task AddRangeAsync(IEnumerable dtos, CancellationToken token); /// /// Обновить одну запись /// /// /// /// Task UpdateAsync(TDto dto, CancellationToken token); /// /// Обновить несколько записей /// /// /// /// Task UpdateRangeAsync(IEnumerable dtos, CancellationToken token); /// /// Удалить одну запись /// /// /// /// Task DeleteAsync(int id, CancellationToken token); /// /// Удалить несколько записей /// /// /// /// Task DeleteRangeAsync(IEnumerable ids, CancellationToken token); }