namespace trakker.Models { public class Project { public string ProjectId { get; set; } = string.Empty; public string ClientId { get; set; } = string.Empty; public string ProjectCode { get; set; } = string.Empty; public string ClientName { get; set; } = string.Empty; public string ProjectName { get; set; } = string.Empty; public string? Description { get; set; } = string.Empty; public DateTime? StartDate { get; set; } public DateTime? EndDate { get; set; } public decimal Budget { get; set; } = 0; public string Status { get; set; } = string.Empty; public string StatusName { get; set; } = string.Empty; public decimal? HourlyRate { get; set; } public string? Notes { get; set; } = string.Empty; public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; // Optional navigation property (for Entity Framework Core) public Client? Client { get; set; } // Helper method public void UpdateTimestamp() { UpdatedAt = DateTime.UtcNow; } } public enum ProjectStatus { Active = 0, OnHold = 1, Completed = 2, Cancelled = 3 } }