Files
PowderCoatingLogix/src/PowderCoating.Web/ViewModels/QuoteApprovalViewModel.cs
T
2026-04-23 21:38:24 -04:00

56 lines
2.3 KiB
C#

namespace PowderCoating.Web.ViewModels;
public class QuoteApprovalViewModel
{
public string Token { get; set; } = string.Empty;
public string QuoteNumber { get; set; } = string.Empty;
public string CompanyName { get; set; } = string.Empty;
public string? CompanyPhone { get; set; }
public string? CompanyEmail { get; set; }
public bool CompanyHasLogo { get; set; }
public string CustomerName { get; set; } = string.Empty;
public string? CustomerEmail { get; set; }
public DateTime? ExpirationDate { get; set; }
public DateTime? ApprovalTokenExpiresAt { get; set; }
public decimal SubTotal { get; set; }
public decimal DiscountAmount { get; set; }
public bool HideDiscountFromCustomer { get; set; }
public decimal RushFee { get; set; }
public decimal TaxAmount { get; set; }
public decimal Total { get; set; }
public string? Terms { get; set; }
public string? Description { get; set; }
public string? SpecialInstructions { get; set; }
public List<QuoteApprovalItemViewModel> Items { get; set; } = new();
public string? DeclineError { get; set; }
// For AlreadyActed view
public string? CurrentStatus { get; set; }
public string? DeclineReason { get; set; }
// Deposit payment link (shown on Confirmation page after approval)
public bool RequiresDeposit { get; set; }
public decimal DepositPercent { get; set; }
public decimal DepositAmount { get; set; } // pre-calculated: Total * DepositPercent/100
public string? DepositPaymentLinkToken { get; set; }
public decimal DepositAmountPaid { get; set; }
// Prospect details collection
public bool IsProspect { get; set; }
public string? ProspectContactName { get; set; }
public string? ProspectEmail { get; set; }
public string? ProspectPhone { get; set; }
public string? ProspectCompanyName { get; set; }
public string? ProspectAddress { get; set; }
public string? ProspectCity { get; set; }
public string? ProspectState { get; set; }
public string? ProspectZipCode { get; set; }
}
public class QuoteApprovalItemViewModel
{
public string Description { get; set; } = string.Empty;
public decimal Quantity { get; set; }
public decimal UnitPrice { get; set; }
public decimal TotalPrice { get; set; }
}