using PostFundManagement.Domain; using static PostFundManagement.Domain.Extensions.Constants; namespace PostFundManagement.Application.Services.Grants; public sealed record UpdateContractRequest([Required] long ContractId, [Required] ContractStatus Status); public sealed record CreateAwardRequest([Required] long OrganisationId, [Required] long ProgrammeId, [Required] decimal Amount); public sealed record CreateBudgetRequest([Required] long ProjectId, [Required][MaxLength(LabelLength)] string Name, [Required] decimal Amount); public sealed record CreateContractRequest([Required] long AwardId, [Required] decimal TotalValue, [Required] DateTime EffectiveAt, [Required] DateTime ExpiresAt); public sealed record ExecuteContractRequest([Required] long ContractId, [Required][MaxLength(LabelLength)] string ExternalSignatureId, [Required][MaxLength(LabelLength)] string SignedDocumentUrl);