using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; using MMDAL.DTO.Inspection; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace MMDAL.CustomCode.Inspection { public interface IInspectionDAL { Task GetInspection(int InspectionId, LoginDTO LoginDTO); Task SaveInspection(InspectionDTO InspectionDTO, LoginDTO LoginDTO); Task UpdateInspection(InspectionDTO InspectionDTO, LoginDTO LoginDTO); Task DeleteInspection(int InspectionId, LoginDTO LoginDTO); Task GetPicklistInspection( CriteriaDTO CriteriaDTO, LoginDTO loginDTO, CancellationToken ct); // Composite operations Task GetInspectionFull(int inspectionId, LoginDTO loginDTO, CancellationToken ct); Task GetInspectionList(InspectionListRequestDTO request, LoginDTO loginDTO, CancellationToken ct); Task SaveInspectionFull(InspectionDTO dto, LoginDTO loginDTO, CancellationToken ct, bool isNew = false); Task GetLastInspectionNumber(int inspectionTypeId, int ouId, LoginDTO loginDTO, CancellationToken ct); Task GetInspectionTypeCode(int inspectionTypeId, LoginDTO loginDTO, CancellationToken ct); // Individual child GET endpoints Task GetInspectionDetailByInspection(int inspectionId, LoginDTO loginDTO, CancellationToken ct); Task GetInspectionParameterByDetail(int inspectionDetailId, LoginDTO loginDTO, CancellationToken ct); Task GetInspectionResultByDetail(int inspectionDetailId, LoginDTO loginDTO, CancellationToken ct); Task GetInspectionDefectByDetail(int inspectionDetailId, LoginDTO loginDTO, CancellationToken ct); Task GetInspectionWorkerByInspection(int inspectionId, LoginDTO loginDTO, CancellationToken ct); } }