using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services { #nullable enable /// /// Сервис получения, добавления, изменения, удаления данных /// /// public interface ICrudService where Tdto : Data.IId { /// /// Включение связных данных /// ISet Includes { get; } /// /// Добавление новой записи /// /// /// /// Id новой записи Task InsertAsync(Tdto newItem, CancellationToken token = default); /// /// Добавление нескольких записей /// /// /// /// количество добавленных Task InsertRangeAsync(IEnumerable newItems, CancellationToken token = default); /// /// Получение всех записей /// /// /// [Obsolete("Небезопасный метод, может выполняться бесконечно долго")] Task> GetAllAsync(CancellationToken token = default); /// /// Получить запись по id /// /// /// /// Task GetAsync(int id, CancellationToken token = default); /// /// Отредактировать запись /// /// /// /// /// Task UpdateAsync(int id, Tdto item, CancellationToken token = default); /// /// Удалить запись /// /// /// /// Task DeleteAsync(int id, CancellationToken token = default); } #nullable disable }