using Bp.Sync.Domain.Elastics.BaseEntities;
using System;
using System.ComponentModel.DataAnnotations;

namespace Bp.Sync.Domain.Elastics.Davs
{
    public class OutboundDetailDavElastic : ElasticBaseEntityWithKey<long>
    {
        public long BillId { get; set; }
        public long BillSyncId { get; set; }

        public long ProductId { get; set; }

        [MaxLength(256)]
        public string ProductCode { get; set; }

        [MaxLength(256)]
        public string ProductCodeDav { get; set; }

        [MaxLength(2048)]
        public string ProductName { get; set; }

        [MaxLength(256)]
        public string ProductRegisterNo { get; set; }

        [MaxLength(256)]
        public string ManufactureBatchNo { get; set; }

        public DateTimeOffset ExpirationDate { get; set; }
        public DateTimeOffset ManufactureDate { get; set; }

        [MaxLength(256)]
        public string OutboundUnit { get; set; }

        public int OutboundUnitId { get; set; }
        public decimal OutboundQuantity { get; set; }
        public decimal OutboundWholesalePrice { get; set; }
        public long ProductOutboundId { get; set; }
    }
}