using System;
using System.Collections.Generic;

namespace Models.Models;

/// <summary>
/// Comprobantes fiscales asociados enviados como CbtesAsoc. Aplica a notas de credito, notas de debito, NCE/NDE y casos FCE donde corresponda.
/// </summary>
public partial class PhSSalesFiscalDocumentAssociation
{
    public int Id { get; set; }

    /// <summary>
    /// Documento fiscal que contiene esta asociacion.
    /// </summary>
    public int SalesfiscaldocumentId { get; set; }

    /// <summary>
    /// Documento comercial interno asociado, si existe dentro de PhronCare.
    /// </summary>
    public int? AssociatedSalesdocumentId { get; set; }

    /// <summary>
    /// Tipo fiscal ARCA/AFIP del comprobante asociado.
    /// </summary>
    public int AssociatedVoucherType { get; set; }

    /// <summary>
    /// Punto de venta fiscal del comprobante asociado.
    /// </summary>
    public short AssociatedPointOfSale { get; set; }

    /// <summary>
    /// Numero fiscal del comprobante asociado.
    /// </summary>
    public int AssociatedVoucherNumber { get; set; }

    /// <summary>
    /// CUIT emisor del comprobante asociado, cuando sea requerido por ARCA.
    /// </summary>
    public string? AssociatedVoucherCuit { get; set; }

    /// <summary>
    /// Fecha del comprobante fiscal asociado.
    /// </summary>
    public DateTime? AssociatedVoucherDate { get; set; }

    public DateTime Createdat { get; set; }

    public virtual PhSSalesDocument? AssociatedSalesdocument { get; set; }

    public virtual PhSSalesFiscalDocument Salesfiscaldocument { get; set; } = null!;
}
