mirror of
https://github.com/Sea-Haven-Industries/proposal-system.git
synced 2026-10-05 07:12:01 +00:00
61 lines
1.8 KiB
C#
61 lines
1.8 KiB
C#
|
|
namespace ProposalSystem.Domain.Entities;
|
||
|
|
|
||
|
|
public enum ProposalStatus
|
||
|
|
{
|
||
|
|
Draft,
|
||
|
|
InReview,
|
||
|
|
Approved,
|
||
|
|
Sent,
|
||
|
|
Revised
|
||
|
|
}
|
||
|
|
|
||
|
|
public enum ServiceCategory
|
||
|
|
{
|
||
|
|
HVAC,
|
||
|
|
Plumbing,
|
||
|
|
Electrical,
|
||
|
|
General,
|
||
|
|
Renovation
|
||
|
|
}
|
||
|
|
|
||
|
|
public enum Priority
|
||
|
|
{
|
||
|
|
Standard,
|
||
|
|
Urgent,
|
||
|
|
Emergency
|
||
|
|
}
|
||
|
|
|
||
|
|
public class Proposal
|
||
|
|
{
|
||
|
|
public Guid Id { get; set; }
|
||
|
|
public string ProposalNumber { get; set; } = string.Empty;
|
||
|
|
public string WorkOrderNumber { get; set; } = string.Empty;
|
||
|
|
public string CustomerName { get; set; } = string.Empty;
|
||
|
|
public string CustomerAddress { get; set; } = string.Empty;
|
||
|
|
public string ScopeOfWork { get; set; } = string.Empty;
|
||
|
|
public string? RefinedScope { get; set; }
|
||
|
|
public ServiceCategory ServiceCategory { get; set; }
|
||
|
|
public Priority Priority { get; set; }
|
||
|
|
public ProposalStatus Status { get; set; }
|
||
|
|
public decimal TotalBidAmount { get; set; }
|
||
|
|
public decimal? VendorTotalCost { get; set; }
|
||
|
|
public string Notes { get; set; } = string.Empty;
|
||
|
|
public Guid SubmittedById { get; set; }
|
||
|
|
public DateTime SubmittedAt { get; set; }
|
||
|
|
public Guid? AssignedAdminId { get; set; }
|
||
|
|
public Guid? ApprovedById { get; set; }
|
||
|
|
public DateTime? ApprovedAt { get; set; }
|
||
|
|
public DateTime? SentAt { get; set; }
|
||
|
|
public int CurrentRevision { get; set; } = 1;
|
||
|
|
public Guid? ParentProposalId { get; set; }
|
||
|
|
public DateTime CreatedAt { get; set; }
|
||
|
|
public DateTime UpdatedAt { get; set; }
|
||
|
|
|
||
|
|
public User? SubmittedBy { get; set; }
|
||
|
|
public User? AssignedAdmin { get; set; }
|
||
|
|
public User? ApprovedBy { get; set; }
|
||
|
|
public Proposal? ParentProposal { get; set; }
|
||
|
|
public ICollection<LineItem> LineItems { get; set; } = new List<LineItem>();
|
||
|
|
public ICollection<VendorProposal> VendorProposals { get; set; } = new List<VendorProposal>();
|
||
|
|
}
|