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

namespace Bp.Sync.Domain.Elastics.Inventories.Promotions
{
    public class PromotionElastic : ElasticBaseEntityWithKey<long>
    {
        /// <summary>
        /// Id của cấu hình bán buôn
        /// </summary>
        public int WholesalePriceListId { get; set; }

        /// <summary>
        /// Tên chương trình khuyến mại
        /// </summary>
        public string PromotionName { get; set; }

        /// <summary>
        /// Ngày bắt đầu khuyến mãi
        /// </summary>
        public DateTimeOffset? PromotionStartDate { get; set; }

        /// <summary>
        /// Ngày kết thúc khuyến mãi
        /// </summary>
        public DateTimeOffset? PromotionEndDate { get; set; }

        /// <summary>
        /// ID của trình dược viên
        /// </summary>
        public string MedrepIds { get; set; }

        //Dữ liệu bảng WhosalePriceLisst
        /// <summary>
        /// Id sản phẩm
        /// </summary>
        public long ProductId { get; set; }

        /// <summary>
        /// Giá bán
        /// </summary>
        [Column(TypeName = "decimal(18, 5)")]
        public decimal Price { get; set; }

        /// <summary>
        /// Id của đơn vị tính
        /// </summary>
        public int UnitId { get; set; }

        /// <summary>
        /// Giá bán đã chia của chương trình khuyến mãi
        /// </summary>
        [Column(TypeName = "decimal(18, 5)")]
        public decimal DividedPrice { get; set; }

        /// <summary>
        /// Có chia giá hay không
        /// </summary>
        public bool? IsDividedPrice { get; set; } = true;

        public bool? IsStopBusiness { get; set; } = false;
    }
}