using AyCode.Interfaces.Entities;
using AyCode.Interfaces.TimeStampInfo;
using FruitBank.Common.Entities;
using System.Collections.ObjectModel;

namespace FruitBank.Common.Interfaces;

public interface IShippingDocument: IEntityInt, ITimeStampInfo//, IMeasured
{
    public int PartnerId { get; set; }
    public int? ShippingId { get; set; }
    public int? PartnerDepotId { get; set; }

    public string DocumentIdNumber { get; set; }
    public string PdfFileName { get; set; }

    public DateTime ShippingDate { get; set; }
    public string Country { get; set; }

    int TotalPallets { get; set; }

    public bool IsAllMeasured { get; set; }

    public string Comment { get; set; }
    public Partner? Partner { get; set; }
    public Shipping? Shipping{ get; set; }
    public List<ShippingItem>? ShippingItems { get; set; }
    public List<ShippingDocumentToFiles>? ShippingDocumentToFiles { get; set; }
}


//Shipping: 
//PartnerId kivesz a db-ből
//string adószám taxId
//string CertificationNumber

//ShippingDocument:
//nullable ShippingId
//string DocumentIdNumber
//string PalletSize

//ShippingItem:
//int PalletNumberOnDocument
//string CertificationNumber

//Files:
//string ForeignTable
//string ForeignKey