using System.Data.Common; using GB5Shared.DTO.Framework.Login; using GB5Shared.ResponseStandard; using IDMSDAL.DTOs; namespace IDMSDAL.Interfaces; public interface IDomainItemDAL { // Reads Task GetDeliveryItemAsync(int deliveryItemId, LoginDTO login, CancellationToken ct); Task> GetDeliveryItemsByDomainAsync(int engagementId, string domainCode, LoginDTO login, CancellationToken ct); Task> GetDomainProgressAsync(int engagementId, LoginDTO login, CancellationToken ct); // Writes Task> SaveDeliveryItemAsync(DeliveryItemDTO dto, LoginDTO login, DbTransaction tx, CancellationToken ct); Task> UpdateDeliveryItemAsync(DeliveryItemDTO dto, LoginDTO login, DbTransaction tx, CancellationToken ct); Task> CompleteDeliveryItemAsync(int deliveryItemId, int completedById, decimal? actualHours, DateTime? completedOn, LoginDTO login, DbTransaction tx, CancellationToken ct); Task> MarkItemImmutableAsync(int deliveryItemId, string signOffHash, LoginDTO login, DbTransaction tx, CancellationToken ct); Task> BulkInsertDeliveryItemsAsync(IEnumerable items, LoginDTO login, DbTransaction tx, CancellationToken ct); }