using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace IRaCIS.Core.Domain.Models
{

    [Table("Payment")]
    public partial class Payment : Entity, IAuditUpdate, IAuditAdd
    {
        public Guid DoctorId { get; set; }
        public string YearMonth { get; set; } = string.Empty;
        public bool IsLock { get; set; }
        public DateTime YearMonthDate { get; set; }

        [Column(TypeName = "decimal(18,2)")]
        public decimal PaymentUSD { get; set; }

        [Column(TypeName = "decimal(18,4)")]
        public decimal PaymentCNY { get; set; }

        [Column(TypeName = "decimal(18,2)")]
        public decimal ExchangeRate { get; set; }


        [Column(TypeName = "decimal(18,4)")]
        public decimal AdjustmentCNY { get; set; }

        [Column(TypeName = "decimal(18,2)")]
        public decimal AdjustmentUSD { get; set; }
        public DateTime CalculateTime { get; set; } = DateTime.Now;

        [StringLength(100)]
        public string CalculateUser { get; set; } = string.Empty;

        [StringLength(500)]
        public string Note { get; set; } = string.Empty;

        //public double TaxCNY { get; set; }
        //public double ActuallyPaidCNY { get; set; }
        //public double BankTransferCNY { get; set; }


        public Guid UpdateUserId { get; set; }
        public DateTime UpdateTime { get; set; }
        public Guid CreateUserId { get; set; }
        public DateTime CreateTime { get; set; }
    }
}
