using System.Data.Common; using GB5Shared.DTO.Framework.Login; using GB5Shared.ResponseStandard; using PIEDAL.DTO.Outcome; namespace PIEDAL.CustomCode.Outcome; public interface IPIEOutcomeDAL { // ── Reads ───────────────────────────────────────────────────────────────── Task GetPIEOutcomeAsync(Guid outcomeId, LoginDTO login, CancellationToken ct); Task> GetOutcomesForSignalAnalysisAsync(Guid profileId, DateTime fromDate, LoginDTO login, CancellationToken ct); // ── Writes (insert-only — outcomes are immutable) ───────────────────────── Task> InsertPIEOutcomeAsync(PIEOutcomeDTO dto, LoginDTO login, DbTransaction tx, CancellationToken ct); }