using Back.Common;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Back.Data.Models
{
    public class InvoicePayment
    {
        #region Key
        public int ID { get; set; }
        public int InvoiceID { get; set; }
        #endregion

        #region autofild
        //تاریخ و زمان پرداخت
        [MaxLength(13)]
        public long? pdt { get { return new DateTimeOffset(PaymentDateTime.Trim().ToMiladi()).ToUnixTimeMilliseconds(); } }
        #endregion

        #region fild
        //شماره سوییچ پرداخت
        [MaxLength(9)]
        public string? iinn { get; set; }
        //شماره پذیرنده فروشگاهی
        [MaxLength(14)]
        public string? acn { get; set; }
        //شماره پایانه
        [MaxLength(8)]
        public string? trmn { get; set; }
        //روش پرداخت
        [MaxLength(2)]
        public int? pmt { get; set; }
        //شماره پیگیری/شماره مرجع
        [MaxLength(14)]
        public string? trn { get; set; }
        //شماره کارت پرداخت کننده صورتحساب
        [MaxLength(16)]
        public string? pcn { get; set; }
        //شماره/شناسه ملی/کد فراگیر اتباع غیر ایرانی پرداخت کننده صورتحساب
        [MaxLength(12)]
        public string? pid { get; set; }
        public string PaymentDateTime { get; set; }
        //مبلغ پرداختی
        [MaxLength(18)]
        public long? pv { get; set; }
        #endregion

        #region Navigation
        [ForeignKey("InvoiceID")]
        public virtual Invoice invoice { get; set; }
        #endregion
    }
}
