phronCare/Domain/Entities/ESalesDocumentDetail.cs
leandro 3b4f664ae9
All checks were successful
CI/CD Pipeline / Build and Deploy with Docker Compose (pull_request) Successful in 6m51s
feat(core): normalize sales document origin types
closes #62
2026-05-08 00:15:11 -03:00

95 lines
2.9 KiB
C#

namespace Domain.Entities
{
public partial class ESalesDocumentDetail
{
public int Id { get; set; }
/// <summary>
/// Documento comercial al que pertenece el detalle.
/// </summary>
public int SalesdocumentId { get; set; }
/// <summary>
/// Numero de linea dentro del documento.
/// </summary>
public int LineNumber { get; set; }
/// <summary>
/// Origen logico del item. Persistir como codigo semantico: MANUAL, QUOTE, DELIVERY_NOTE, CAPITA o ADJUSTMENT.
/// </summary>
public string OriginType { get; set; } = null!;
/// <summary>
/// Identificador generico del origen cuando aplique.
/// </summary>
public int? OriginId { get; set; }
/// <summary>
/// Detalle del presupuesto aprobado que origina la linea, cuando exista. Puede ser NULL en ventas manuales.
/// </summary>
public int? QuoteDetailId { get; set; }
/// <summary>
/// Producto asociado a la linea, si aplica.
/// </summary>
public int? ProductId { get; set; }
/// <summary>
/// Descripcion visible de la linea facturada.
/// </summary>
public string Description { get; set; } = null!;
/// <summary>
/// Cantidad facturada.
/// </summary>
public decimal Quantity { get; set; }
/// <summary>
/// Precio unitario autorizado o de referencia proveniente del origen comercial.
/// </summary>
public decimal? AuthorizedUnitPrice { get; set; }
/// <summary>
/// Importe autorizado o de referencia proveniente del origen comercial.
/// </summary>
public decimal? AuthorizedAmount { get; set; }
/// <summary>
/// Porcentaje facturado sobre el origen. Permite facturacion parcial obra social / particular.
/// </summary>
public decimal? BilledPercentage { get; set; }
/// <summary>
/// Precio unitario efectivo de la linea del documento.
/// </summary>
public decimal UnitPrice { get; set; }
/// <summary>
/// Importe neto de la linea.
/// </summary>
public decimal NetAmount { get; set; }
/// <summary>
/// Importe de impuestos de la linea.
/// </summary>
public decimal TaxAmount { get; set; }
/// <summary>
/// Importe total de la linea.
/// </summary>
public decimal TotalAmount { get; set; }
/// <summary>
/// Snapshot JSON del origen de la linea para trazabilidad historica.
/// </summary>
public string? OriginSnapshotJson { get; set; }
public DateTime Createdat { get; set; }
public DateTime? Modifiedat { get; set; }
public virtual ICollection<ESalesDocumentCoverage> PhSSalesDocumentCoverages { get; set; } = new List<ESalesDocumentCoverage>();
}
}