using Bp.Sync.Domain.Entities.BaseEntities;
using Bp.Sync.Domain.Entities.SyncDavs;
using System;
using System.ComponentModel.DataAnnotations;

namespace Bp.Sync.Domain.Entities.FcBusinesses.Bills
{
    public class OutboundBill : BaseEntityByLong
    {
        [MaxLength(256)]
        public string Code { get; set; }

        public OutboundBillStatus BillStatus { get; set; }
        public BillType BillType { get; set; }
        public int? PartnerId { get; set; }
        public decimal Quantity { get; set; }
        public int OriginBranchId { get; set; }
        public int? DestinationBranchId { get; set; }

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

        public DateTimeOffset? InvoiceDate { get; set; }

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

        public DateTimeOffset? RelateBillTime { get; set; }
        public long? RelateBillId { get; set; }

        [MaxLength(1024)]
        public string Note { get; set; }

        public int CompletedBy { get; set; }

        [MaxLength(155)]
        public string CompletedByUserName { get; set; }

        public DateTimeOffset? CompletedDate { get; set; }
        public int NumberOfEdit { get; set; }
        public SyncDavStatus SyncDavStatus { get; set; }
    }
}