42 lines
1.9 KiB
C#
42 lines
1.9 KiB
C#
using PostFundManagement.Application.Services.Grants;
|
|
using PostFundManagement.Domain;
|
|
using PostFundManagement.Domain.Attributes;
|
|
using PostFundManagement.Domain.Models;
|
|
|
|
namespace PostFundManagement.Application.Abstractions.Services;
|
|
|
|
public interface IGrantsService
|
|
{
|
|
Task<Result<Contract[]>> GetContractsAsync(Pagination pagination, CancellationToken cancellationToken = default);
|
|
|
|
Task<Result<Contract>> GetContractAsync(string contractIdHash, CancellationToken cancellationToken = default);
|
|
|
|
Task<Result<Budget[]>> GetBudgetsAsync(Pagination pagination, CancellationToken cancellationToken = default);
|
|
|
|
Task<Result<Budget>> GetBudgetAsync(string budgetIdHash, CancellationToken cancellationToken = default);
|
|
|
|
Task<Result<Award[]>> GetAwardsAsync(Pagination pagination, CancellationToken cancellationToken = default);
|
|
|
|
Task<Result<Award>> GetAwardAsync(string awardIdHash, CancellationToken cancellationToken = default);
|
|
|
|
[Audit]
|
|
Task<Result> ExecuteContractAsync(ExecuteContractRequest request, Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
[Audit]
|
|
Task<Result> CreateContractAsync(CreateContractRequest request, Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
[Audit]
|
|
Task<Result> CreateBudgetAsync(CreateBudgetRequest request, Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
[Audit]
|
|
Task<Result> CreateAwardAsync(CreateAwardRequest request, Guid userId, CancellationToken cancellationToken = default);
|
|
|
|
Task<Result<string>> GetContractUrlAsync(string contractIdHash, CancellationToken cancellationToken = default);
|
|
|
|
[Audit]
|
|
Task<Result> UploadContractAsync(string contractIdHash, Guid userId, IFormFile file, CancellationToken cancellationToken = default);
|
|
|
|
[Audit]
|
|
Task<Result> UpdateContractAsync(UpdateContractRequest request, CancellationToken cancellationToken = default);
|
|
}
|