Stable run with validations

This commit is contained in:
2026-09-06 10:48:09 +02:00
parent 81c111c3c3
commit 66f720a20b
26 changed files with 157 additions and 57 deletions
@@ -1,17 +1,40 @@
using PostFundManagement.Domain;
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Application.Services.Projects;
public record UpdateProgrammeRequest(long ProgrammeId, string Name, Guid OwnerId, ApprovalStatus Status);
public record UpdateProgrammeRequest([Required] long ProgrammeId,
[Required][MaxLength(LabelLength)] string Name,
[Required] Guid OwnerId,
[Required] ApprovalStatus Status);
public record CreateProgrammeRequest(string Name, Guid OwnerId);
public record CreateProgrammeRequest(long PortfolioId, string Name, Guid OwnerId);
public record UpdateProjectRequest(long ProjectId, string Name, string Description, DateTime StartedAt, DateTime? EndedAt, IndustrySector Sector, ProjectType ProjectType);
public record UpdateProjectRequest([Required] long ProjectId,
[Required][MaxLength(LabelLength)] string Name,
[Required][MaxLength(TextLength)] string Description,
DateTime? StartedAt, DateTime? EndedAt,
[Required] IndustrySector Sector,
[Required] ProjectType ProjectType);
public record UpdateMilestoneRequest(long MilestoneId, DateTime DueAt, string Name, Priority Priority, ApprovalStatus Status);
public record UpdateMilestoneRequest([Required] long MilestoneId,
[Required] DateTime DueAt,
[Required][MaxLength(LabelLength)] string Name,
[Required] Priority Priority,
[Required] ApprovalStatus Status);
public record UpdateProjectStatusRequest(long ProjectId, ApprovalStatus Status);
public record UpdateProjectStatusRequest([Required] long ProjectId, [Required] ApprovalStatus Status);
public record CreateProjectRequest(long ProgrammeId, string Name, string Description, IndustrySector Sector, ProjectType ProjectType);
public record CreateProjectRequest([Required] long ProgrammeId,
[Required][MaxLength(LabelLength)] string Name,
[Required][MaxLength(TextLength)] string Description,
[Required] IndustrySector Sector,
[Required] ProjectType ProjectType);
public record CreateActivityRequest(long ProjectId, long? MilestoneId, string Category, decimal Amount, string Title, string Description, DateTime? PerformedAt);
public record CreateActivityRequest([Required] long ProjectId,
[Required] long? MilestoneId,
[Required][MaxLength(LabelLength)] string Category,
[Required] decimal Amount,
[Required][MaxLength(LabelLength)] string Title,
[Required][MaxLength(TextLength)] string Description,
DateTime? PerformedAt);