using Lada.Framework.Data.Domains.BaseEntities;
using Lada.Framework.Data.Enums;
using System.ComponentModel.DataAnnotations;

namespace Lada.Framework.Data.Domains.Orders
{
    public class OrderTrack : BaseEntityWithKey<Guid>
    {
        /// <summary>
        /// Mã đơn hàng
        /// </summary>
        [MaxLength(32)]
        public string OrderCode { get; set; }

        /// <summary>
        /// Tên của track
        /// </summary>
        [MaxLength(1024)]
        public string Name { get; set; }

        /// <summary>
        /// Loại hành động được track
        /// </summary>
        public TrackActionType TrackActionType { get; set; }

        /// <summary>
        /// Nguồn cập nhật
        /// </summary>
        public ActionSource ActionSource { get; set; }

        /// <summary>
        /// Dữ liệu trước khi thay đổi
        /// </summary>
        public string DataBefore { get; set; }

        /// <summary>
        /// Dữ liệu sau khi thay đổi
        /// </summary>
        public string DataAfter { get; set; }

        /// <summary>
        /// Quy định hiển thị của đơn hàng: khách hàng, nội bộ hoặc cả 2
        /// </summary>
        public OrderTrackType OrderTrackType { get; set; }

        public int? PicId { get; set; }

        [MaxLength(32)]
        public string PicUserName { get; set; }


        /// <summary>
        /// Số điện thoại của từng khâu
        /// </summary>
        [MaxLength(1024)]
        public string PhoneContact { get; set; }


        #region Relation
        public virtual Order? Order { get; set; }
        public int OrderId { get; set; }
        #endregion
    }
}
