Implemented models

This commit is contained in:
2026-08-15 15:06:08 +02:00
parent cd7eb15cc4
commit a5689dd8fc
37 changed files with 729 additions and 12 deletions
@@ -0,0 +1,18 @@
namespace PostFundManagement.Domain.Models;
public class AuditLog
{
public long Id { get; set; }
public string? EntityName { get; set; }
public long EntityId { get; set; }
public string? Action { get; set; }
public string[]? Changes { get; set; }
public Guid PerformedBy { get; set; }
public DateTime Timestamp { get; set; }
}
+26
View File
@@ -0,0 +1,26 @@
namespace PostFundManagement.Domain.Models;
public class Award
{
public long Id { get; set; }
public long OrganisationId { get; set; }
public long ProgrammeId { get; set; }
public long? ProjectId { get; set; }
public Guid CreatedBy { get; set; }
public Guid? UpdatedBy { get; set; }
public Guid? ApprovedBy { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
public ApprovalStatus Status { get; set; }
public decimal Amount { get; set; }
}
@@ -0,0 +1,24 @@
namespace PostFundManagement.Domain.Models;
public class Beneficiary
{
public long Id { get; set; }
public long ProjectId { get; set; }
public Guid UserId { get; set; }
public Guid CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public string? Name { get; set; }
public string? Category { get; set; }
public int TargetCount { get; set; }
public int ReachedCount { get; set; }
public string? Location { get; set; }
}
@@ -0,0 +1,20 @@
namespace PostFundManagement.Domain.Models;
public class Budget
{
public long Id { get; set; }
public long ProjectId { get; set; }
public Guid CreatedBy { get; set; }
public Guid? ApprovedBy { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime? UpdatedAt { get; set; }
public string? Name { get; set; }
public decimal Amount { get; set; }
}
@@ -0,0 +1,26 @@
namespace PostFundManagement.Domain.Models;
public class ChangeRequest
{
public long Id { get; set; }
public long ProjectId { get; set; }
public string? Title { get; set; }
public string? Justification { get; set; }
public decimal? RevisedBudget { get; set; }
public DateTime? RevisedEndedAt { get; set; }
public ApprovalStatus Status { get; set; }
public Guid CreatedBy { get; set; }
public Guid? ApprovedBy { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime? UpdatedAt { get; set; }
}
@@ -0,0 +1,22 @@
namespace PostFundManagement.Domain.Models;
public class ComplianceItem
{
public long Id { get; set; }
public long ProjectId { get; set; }
public string? Title { get; set; }
public string? Requirements { get; set; }
public ApprovalStatus Status { get; set; }
public Guid CreatedBy { get; set; }
public Guid? VerifiedBy { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime? VerifiedAt { get; set; }
}
@@ -0,0 +1,24 @@
namespace PostFundManagement.Domain.Models;
public class Contract
{
public long Id { get; set; }
public long AwardId { get; set; }
public string? ExternalSignatureId { get; set; }
public string? SignedDocumentUrl { get; set; }
public DateTime? EffectiveAt { get; set; }
public DateTime? ExpiresAt { get; set; }
public decimal TotalValue { get; set; }
public ContractStatus Status { get; set; }
public Guid CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
}
@@ -0,0 +1,22 @@
namespace PostFundManagement.Domain.Models;
public class Disbursement
{
public long Id { get; set; }
public long ProjectId { get; set; }
public long? MilestoneId { get; set; }
public Guid CreatedBy { get; set; }
public Guid? UpdatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime? UpdatedAt { get; set; }
public decimal Amount { get; set; }
public ApprovalStatus Status { get; set; }
}
@@ -0,0 +1,26 @@
namespace PostFundManagement.Domain.Models;
public class Evidence
{
public long Id { get; set; }
public long ProjectId { get; set; }
public long? MilestoneId { get; set; }
public long? IndicatorId { get; set; }
public Guid CreatedBy { get; set; }
public Guid? UpdatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime? UpdatedAt { get; set; }
public int Version { get; set; }
public string? DocumentUrl { get; set; }
public ApprovalStatus Status { get; set; }
}
@@ -0,0 +1,22 @@
namespace PostFundManagement.Domain.Models;
public class Indicator
{
public long Id { get; set; }
public long ProjectId { get; set; }
public Guid CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public string? Name { get; set; }
public UnitOfMeasure? UnitOfMeasure { get; set; }
public decimal BaselineAmount { get; set; }
public decimal TargetAmount { get; set; }
public decimal ActualAmount { get; set; }
}
@@ -0,0 +1,18 @@
namespace PostFundManagement.Domain.Models;
public class Instrument
{
public long Id { get; set; }
public string? Code { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public ActivityStatus Status { get; set; }
public Guid CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
}
+22
View File
@@ -0,0 +1,22 @@
namespace PostFundManagement.Domain.Models;
public class Issue
{
public long Id { get; set; }
public long ProjectId { get; set; }
public string? Title { get; set; }
public string? Description { get; set; }
public Priority Priority { get; set; }
public ActivityStatus Status { get; set; }
public Guid CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime? ResolvedAt { get; set; }
}
@@ -0,0 +1,22 @@
namespace PostFundManagement.Domain.Models;
public class Milestone
{
public long Id { get; set; }
public long ProjectId { get; set; }
public Guid CreatedBy { get; set; }
public Guid? UpdatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime? UpdatedAt { get; set; }
public DateTime DueAt { get; set; }
public string? Name { get; set; }
public ApprovalStatus Status { get; set; }
}
@@ -0,0 +1,20 @@
namespace PostFundManagement.Domain.Models;
public class Organisation
{
public long Id { get; set; }
public Guid CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public string? RegistrationNo { get; set; }
public string? Name { get; set; }
public string? Email { get; set; }
public int Type { get; set; }
public ActivityStatus Status { get; set; }
}
@@ -0,0 +1,16 @@
namespace PostFundManagement.Domain.Models;
public class Outcome
{
public long Id { get; set; }
public long BeneficiaryId { get; set; }
public Guid CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
}
@@ -0,0 +1,16 @@
namespace PostFundManagement.Domain.Models;
public class Portfolio
{
public long Id { get; set; }
public Guid OwnedBy { get; set; }
public Guid CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
}
@@ -0,0 +1,24 @@
namespace PostFundManagement.Domain.Models;
public class Programme
{
public long Id { get; set; }
public long PortfolioId { get; set; }
public long InstrumentId { get; set; }
public Guid OwnedBy { get; set; }
public Guid CreatedBy { get; set; }
public Guid? UpdatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime? UpdatedAt { get; set; }
public string? Name { get; set; }
public ApprovalStatus Status { get; set; }
}
@@ -0,0 +1,26 @@
namespace PostFundManagement.Domain.Models;
public class Project
{
public long Id { get; set; }
public long ProgrammeId { get; set; }
public Guid CreatedBy { get; set; }
public Guid? UpdatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime? UpdatedAt { get; set; }
public DateTime? StartedAt { get; set; }
public DateTime? EndedAt { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public ApprovalStatus Status { get; set; }
}
+20
View File
@@ -0,0 +1,20 @@
namespace PostFundManagement.Domain.Models;
public class Risk
{
public long Id { get; set; }
public long ProjectId { get; set; }
public Guid CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public RiskLikelihood Likelihood { get; set; }
public RiskImpact Impact { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
}
+22
View File
@@ -0,0 +1,22 @@
namespace PostFundManagement.Domain.Models;
public class Rule
{
public long Id { get; set; }
public long ProgrammeId { get; set; }
public Guid CreatedBy { get; set; }
public Guid? UpdatedBy { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime? UpdatedAt { get; set; }
public string? Name { get; set; }
public int Version { get; set; }
public ActivityStatus Status { get; set; }
}
@@ -0,0 +1,20 @@
namespace PostFundManagement.Domain.Models;
public class SiteVisit
{
public long Id { get; set; }
public long ProjectId { get; set; }
public DateTime VisitedAt { get; set; }
public string? InspectorName { get; set; }
public string? Findings { get; set; }
public ApprovalStatus VerificationStatus { get; set; }
public Guid CreatedBy { get; set; }
public DateTime CreatedAt { get; set; }
}
+12
View File
@@ -0,0 +1,12 @@
namespace PostFundManagement.Domain.Models;
public class User
{
public Guid Id { get; set; }
public DateTime LastLoginAt { get; set; }
public string? Email { get; set; }
public ActivityStatus Status { get; set; }
}