using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace AsbCloudApp.Services { public interface ICrudService<Tdto> where Tdto : Data.IId { ISet<string> Includes { get; } Task<int> InsertAsync(Tdto newItem, CancellationToken token = default); Task<int> InsertRangeAsync(IEnumerable<Tdto> newItems, CancellationToken token = default); Task<IEnumerable<Tdto>> GetAllAsync(CancellationToken token = default); Task<Tdto> GetAsync(int id, CancellationToken token = default); Task<int> UpdateAsync(int id, Tdto item, CancellationToken token = default); Task<int> DeleteAsync(int id, CancellationToken token = default); Task<int> DeleteAsync(IEnumerable<int> ids, CancellationToken token = default); } }