phronCare/Domain/Entities/ESalesDocumentCoverage.cs
leandro 5e894ddca5
All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (pull_request) Successful in 7m39s
feat(domain): add sales document domain contracts with coverage
- add sales document domain entities
- add coverage-oriented DTO contracts
- add sales document enums/constants
- prepare domain model for mixed coverage scenarios
- align domain contracts with future ARCA integration

closes #57
2026-05-07 00:33:34 -03:00

66 lines
2.1 KiB
C#

namespace Domain.Entities
{
public partial class ESalesDocumentCoverage
{
/// <summary>
/// Identificador interno de la cobertura.
/// </summary>
public int Id { get; set; }
/// <summary>
/// Documento de venta que cubre el presupuesto/caso.
/// </summary>
public int SalesdocumentId { get; set; }
/// <summary>
/// Detalle del documento de venta asociado a esta cobertura, cuando aplique. En capita puede apuntar a la linea agregada mensual.
/// </summary>
public int? SalesdocumentdetailId { get; set; }
/// <summary>
/// Presupuesto/caso cubierto por el documento de venta. Se usa tanto para facturacion directa como para capita.
/// </summary>
public int QuoteId { get; set; }
/// <summary>
/// Detalle de presupuesto cubierto, cuando se requiera trazabilidad granular por item.
/// </summary>
public int? QuoteDetailId { get; set; }
/// <summary>
/// Tipo de cobertura. Valores esperados en Domain: Direct, Capita, Adjustment.
/// </summary>
public int CoverageType { get; set; }
/// <summary>
/// Porcentaje del presupuesto/caso cubierto por el documento. Permite 100% en facturacion directa o particiones 60/40.
/// </summary>
public decimal? CoveragePercentage { get; set; }
/// <summary>
/// Importe de referencia cubierto por el documento, cuando aplique.
/// </summary>
public decimal? CoverageAmount { get; set; }
/// <summary>
/// Fecha inicial del periodo de cobertura.
/// </summary>
public DateTime? PeriodFrom { get; set; }
/// <summary>
/// Fecha final del periodo de cobertura.
/// </summary>
public DateTime? PeriodTo { get; set; }
/// <summary>
/// Notas internas de cobertura.
/// </summary>
public string? Notes { get; set; }
public DateTime Createdat { get; set; }
public DateTime? Modifiedat { get; set; }
}
}