using System;
using System.Collections.Generic;

// 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.WebApi.stockdbModels
{
    public partial class IWarehouseRecords
    {
        public IWarehouseRecords()
        {
            InverseReferenceRecord = new HashSet<IWarehouseRecords>();
        }

        public int Id { get; set; }
        public string Uid { get; set; }
        public int? SiteId { get; set; }
        public bool IsDeleted { get; set; }
        public long Version { get; set; }
        public DateTime Created { get; set; }
        public DateTime Modified { get; set; }
        public DateTime? Deleted { get; set; }
        public decimal Quantity { get; set; }
        public decimal Balance { get; set; }
        public int WarehouseId { get; set; }
        public decimal Price { get; set; }
        public int? ReferenceRecordId { get; set; }
        public DateTime? ExpiredDate { get; set; }
        public string Extfields { get; set; }
        public int ProductId { get; set; }
        public int TransactionType { get; set; }
        public string SourceId { get; set; }
        public int FreezeType { get; set; }
        public int OutboundType { get; set; }
        public bool FreezeStatus { get; set; }
        public string Reason { get; set; }
        public int? BatchRecordId { get; set; }
        public string Note { get; set; }
        public int TransactionStatus { get; set; }
        public bool Unbox { get; set; }

        public virtual IBatchRecords BatchRecord { get; set; }
        public virtual IProducts Product { get; set; }
        public virtual IWarehouseRecords ReferenceRecord { get; set; }
        public virtual IWarehouses Warehouse { get; set; }
        public virtual ICollection<IWarehouseRecords> InverseReferenceRecord { get; set; }
    }
}
