using Persistence.Models; namespace Persistence.Repositories; /// /// /// /// public interface IChangeLogRepository : ISyncRepository where TDto : class { /// /// Добавление записей /// /// пользователь, который добавляет /// /// /// Task InsertRange(int idUser, IEnumerable dtos, CancellationToken token); /// /// Редактирование записей /// /// пользователь, который редактирует /// /// /// Task UpdateRange(int idUser, IEnumerable dtos, CancellationToken token); /// /// Добавляет Dto у которых id == 0, изменяет dto у которых id != 0 /// /// пользователь, который редактирует или добавляет /// /// /// Task UpdateOrInsertRange(int idUser, IEnumerable dtos, CancellationToken token); /// /// Помечает записи как удаленные /// /// пользователь, который чистит /// Фильтр по свойствам конкретной сущности /// /// Task Clear(int idUser, TRequest request, CancellationToken token); /// /// Очистить и добавить новые /// /// /// /// /// /// Task ClearAndInsertRange(int idUser, TRequest request, IEnumerable dtos, CancellationToken token); /// /// Пометить записи как удаленные /// /// /// /// /// Task MarkAsDeleted(int idUser, IEnumerable ids, CancellationToken token); /// /// Получение дат изменений записей /// /// /// /// Task> GetDatesChange(TRequest request, CancellationToken token); /// /// Получение измененных записей за определенную дату /// /// /// Фильтр по дате. Если null - вернет все записи, без привязки к дате /// /// Task> GetChangeLogForDate(TRequest request, DateOnly? date, CancellationToken token); /// /// Получение текущих сейчас записей по параметрам /// /// /// /// Task> GetCurrent(TRequest request, CancellationToken token); }