Files
ROLAC/API/ROLAC.API/Services/IOfferingSessionService.cs
Chris Chen ddced87dc6
ci-cd-nas / build-push (push) Failing after 27s
ci-cd-nas / deploy (push) Has been skipped
Update
2026-06-20 22:26:52 -07:00

29 lines
1.3 KiB
C#

using ROLAC.API.DTOs.Giving;
using ROLAC.API.DTOs.Shared;
namespace ROLAC.API.Services;
public interface IOfferingSessionService
{
Task<PagedResult<OfferingSessionListItemDto>> GetPagedAsync(
int page, int pageSize, DateOnly? from, DateOnly? to);
Task<OfferingSessionDto?> GetByIdAsync(int id);
Task<bool> DateExistsAsync(DateOnly date);
Task<int> CreateAsync(CreateOfferingSessionRequest request);
Task ReopenAsync(int id);
Task ReplaceAsync(int id, CreateOfferingSessionRequest request);
// ── Mobile offering entry (anonymous, one line at a time) ────────────────
Task<OfferingEntrySummaryDto> GetEntrySummaryAsync(DateOnly date);
Task<OfferingEntryLineAddedDto> AppendLineAsync(DateOnly date, OfferingGivingLineRequest line);
Task<List<MemberTypeaheadDto>> SearchMembersForEntryAsync(string? search, int take);
Task SaveProofAsync(int id, Stream content, string fileName);
Task<(Stream stream, string contentType)?> OpenProofAsync(int id);
Task DeleteProofAsync(int id);
// Date-keyed variants for the anonymous mobile page (knows the date, not the id).
Task SaveProofForDateAsync(DateOnly date, Stream content, string fileName);
Task<(Stream stream, string contentType)?> OpenProofForDateAsync(DateOnly date);
}