using PostFundManagement.Application.Services.Evidence; using PostFundManagement.Domain; using PostFundManagement.Domain.Models; namespace PostFundManagement.Application.Abstractions.Services; public interface IEvidenceService { Task CreateEvidenceAsync(Guid userId, IFormCollection form, IFormFile file, CancellationToken cancellationToken = default); Task RecordIndicatorActualAmountAsync(string indicatorIdHash, decimal amount, Guid userId, CancellationToken cancellationToken = default); Task> GetIndicatorsAsync(Pagination pagination, CancellationToken cancellationToken = default); Task> GetEvidenceFilesAsync(Pagination pagination, CancellationToken cancellationToken = default); Task CreateMilestoneAsync(CreateMilestoneRequest request, Guid userId, CancellationToken cancellationToken = default); Task CreateIndicatorAsync(CreateIndicatorRequest request, Guid userId, CancellationToken cancellationToken = default); Task> GetIndicatorAsync(string indicatorId, CancellationToken cancellationToken); Task> GetEvidenceAsync(string evidenceId, CancellationToken cancellationToken = default); Task> GetMilestoneEvidencesAsync(string milestoneIdHash, CancellationToken cancellationToken = default); Task> GetProjectEvidencesAsync(string projectIdHash, CancellationToken cancellationToken = default); Task UpdateEvidenceAsync(UpdateEvidenceRequest request, Guid userId, CancellationToken cancellationToken = default); Task> GetEvidenceUrlAsync(string evidenceIdHash, CancellationToken cancellationToken = default); }