using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;

// Code scaffolded by EF Core assumes nullable reference types (NRTs) are not used or disabled.
// If you have enabled NRTs for your project, then un-comment the following line:
// #nullable disable

namespace MS.Entities.Models
{
    public partial class PosTrxes
    {
        public PosTrxes()
        {
            PosTrxLineItems = new HashSet<PosTrxLineItems>();
            PosTrxMops = new HashSet<PosTrxMops>();
            PosTrxPromotions = new HashSet<PosTrxPromotions>();
        }

        public Guid Id { get; set; }
        public int TransactionSource { get; set; }
        public int TransactionType { get; set; }
        public string ReceiptId { get; set; }
        public int ShiftId { get; set; }
        public DateTime TransactionInitTimeInPos { get; set; }
        public DateTime CreatedDateTime { get; set; }
        public decimal NetAmount { get; set; }
        public decimal GrossAmount { get; set; }
        public Guid? CurrencyId { get; set; }
        public int TransactionStatus { get; set; }
        public string ServiceIdentityUserId { get; set; }
        public Guid TargetBusinessUnitId { get; set; }
        public Guid SiteDeviceId { get; set; }
        public string TrxComment { get; set; }
        public Guid? Link { get; set; }
        public string AccountId { get; set; }
        public DateTime? DeletedDateTime { get; set; }
        public bool IsDeleted { get; set; }
        public DateTime ModifiedDateTime { get; set; }
        public string EinvoiceId { get; set; }
        [NotMapped]
        public virtual Currencies Currency { get; set; }
        public virtual ICollection<PosTrxLineItems> PosTrxLineItems { get; set; }
        public virtual ICollection<PosTrxMops> PosTrxMops { get; set; }
        public virtual ICollection<PosTrxPromotions> PosTrxPromotions { get; set; }
    }
}
