using Bp.Sync.Domain.Elastics.BaseEntities;
using Bp.Sync.Domain.Entities.FcBusinesses.Bills;
using System;

namespace Bp.Sync.Domain.Elastics.FcBusinesses.Products
{
    public class FcProductSummaryElastic : ElasticBaseEntityWithKey<long>
    {
        public string BillCode { get; set; }
        public string InventoryCode { get; set; }
        public long BillId { get; set; }
        public BillType BillType { get; set; }
        public long ProductId { get; set; }
        public long ProductRelateId { get; set; }
        public long ProductStorageId { get; set; }
        public DateTimeOffset? AccountingDate { get; set; }
        public DateTimeOffset? VoucherDate { get; set; }
        public long VoucherDateToLong => VoucherDate.HasValue ? VoucherDate.Value.Ticks : 0;
        public int CurrentUnitId { get; set; }
        public decimal CurrentQuantity { get; set; }
        public string Description { get; set; }
        public decimal Price { get; set; }
        public decimal RealPrice { get; set; }
        public decimal InboundQuantity { get; set; }
        public decimal InboundPrice { get; set; }
        public decimal RetailQuantity { get; set; }
        public decimal RetailPrice { get; set; }
        public decimal OutboundQuantity { get; set; }
        public decimal OutboundPrice { get; set; }
        public decimal InventoryQuantity { get; set; }
        public decimal InventoryPrice { get; set; }
        public int BranchId { get; set; }
        public int? DestBranchId { get; set; }
        public int? OriginBranchId { get; set; }

        //thêm vào báo cáo
        public string ProductName { get; set; }

        public string ProductCode { get; set; }
    }
}