using Data.SeaHavenIndustries; namespace SeaHaven.DataServices.Interfaces { public interface ITaskListTemplateDataService { Task GetByIdAsync(int id); Task GetByIdWithItemsAsync(int id); Task> GetAllAsync(); Task AddAsync(TaskListTemplate template); Task UpdateAsync(TaskListTemplate template); Task DeleteAsync(int id); Task ExistsAsync(int id); // Cancelable query/command operations used by the TaskListTemplate service layer Task> GetActiveTemplatesWithItemsAsync(CancellationToken cancellationToken); Task GetTemplateWithItemsReadOnlyAsync(int id, CancellationToken cancellationToken); Task GetTemplateWithItemsForUpdateAsync(int id, CancellationToken cancellationToken); Task AddTemplateAsync(TaskListTemplate template, CancellationToken cancellationToken); Task ReplaceTemplateItemsAsync(TaskListTemplate template, IEnumerable newItems, CancellationToken cancellationToken); Task DeactivateTemplateAsync(int id, CancellationToken cancellationToken); } }