using QMSDAL.DTO; using GB5Shared.DTO.Framework.Login; using System.Data.Common; using GB5Shared.ResponseStandard; namespace QMSDAL.CustomCode.PcsCard { public interface IPcsCardDAL { Task GetPcsCardAsync(int pcsCardId, LoginDTO login, CancellationToken ct = default); Task GetPcsCardBySerialNoAsync(string serialNo, LoginDTO login, CancellationToken ct = default); Task<(IEnumerable Rows, int TotalCount)> GetPcsCardListAsync( int ouId, int periodId, byte? overallStatus, int? customerId, int? itemId, string? variantCode, string? search, DateTime? plannedEndFrom, DateTime? plannedEndTo, string sortBy, string sortDir, int pageOffset, int pageSize, LoginDTO login, CancellationToken ct = default); Task> SavePcsCardAsync(PcsCardDTO dto, LoginDTO login, DbTransaction tx, CancellationToken ct = default); Task> UpdatePcsCardAsync(PcsCardDTO dto, LoginDTO login, DbTransaction tx, CancellationToken ct = default); Task> DeletePcsCardAsync(int pcsCardId, LoginDTO login, DbTransaction tx, CancellationToken ct = default); Task UpdatePcsCardProgressAsync( int pcsCardId, short completedStages, short currentStage, byte overallStatus, byte overallResult, DateTime? actualEnd, LoginDTO login, DbTransaction tx, CancellationToken ct = default); Task UpdatePcsCardActualStartAsync(int pcsCardId, LoginDTO login, DbTransaction tx, CancellationToken ct = default); Task SetCardStatusAsync(int pcsCardId, byte overallStatus, LoginDTO login, DbTransaction tx, CancellationToken ct = default); } }