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.AccountingService_Models
{
    public partial class BusinessUnitInfo
    {
        public BusinessUnitInfo()
        {
            AccountInfoBuInfoCreated = new HashSet<AccountInfo>();
            AccountInfoBusinessUnitInfo = new HashSet<AccountInfo>();
            BlackCardInfoBuInfo = new HashSet<BlackCardInfo>();
            BlackCardInfoBuInfoCreated = new HashSet<BlackCardInfo>();
            CardInfoBuInfoCreated = new HashSet<CardInfo>();
            CardInfoBusinessUnitInfo = new HashSet<CardInfo>();
            CardRepLossInfoBuInfo = new HashSet<CardRepLossInfo>();
            CardRepLossInfoBuInfoCreated = new HashSet<CardRepLossInfo>();
            GrayInfoBuInfo = new HashSet<GrayInfo>();
            GrayInfoBuInfoCreated = new HashSet<GrayInfo>();
            InverseBusinessUnitInfoNavigation = new HashSet<BusinessUnitInfo>();
            InverseParentBu = new HashSet<BusinessUnitInfo>();
            InvoiceInfoBuInfo = new HashSet<InvoiceInfo>();
            InvoiceInfoBuInfoCreated = new HashSet<InvoiceInfo>();
            MembershipGroupBuInfo = new HashSet<MembershipGroup>();
            MembershipGroupBuInfoCreated = new HashSet<MembershipGroup>();
            MembershipGrowthRulesBuInfo = new HashSet<MembershipGrowthRules>();
            MembershipGrowthRulesBuInfoCreated = new HashSet<MembershipGrowthRules>();
            MembershipLevelInfoBuInfo = new HashSet<MembershipLevelInfo>();
            MembershipLevelInfoBuInfoCreated = new HashSet<MembershipLevelInfo>();
            OfflineTransactionInfo = new HashSet<OfflineTransactionInfo>();
            RechargePaymentHistory = new HashSet<RechargePaymentHistory>();
            SmsInfoBuInfo = new HashSet<SmsInfo>();
            SmsInfoBuInfoCreated = new HashSet<SmsInfo>();
            UserInfo = new HashSet<UserInfo>();
        }

        public Guid Id { get; set; }
        public string AreaType { get; set; }
        public string BuAddress { get; set; }
        public string BuName { get; set; }
        public int? BuNo { get; set; }
        public bool? CStore { get; set; }
        public int? CanCount { get; set; }
        public int? CanVolume { get; set; }
        public bool? CarWash { get; set; }
        public string Character { get; set; }
        public int? ComCount { get; set; }
        public int? DispenserCount { get; set; }
        public string Email { get; set; }
        public int? EmployeeCount { get; set; }
        public string Fax { get; set; }
        public string ImageLoyaltyRedemption { get; set; }
        public string ImageMain { get; set; }
        public string ImageMembershipCard { get; set; }
        public string LinkMan { get; set; }
        public string MembershipDescription { get; set; }
        public string MembershipPrivacy { get; set; }
        public string MembershipStatement { get; set; }
        public string MerchantId { get; set; }
        public string MerchantIpAddress { get; set; }
        public string MerchantKey { get; set; }
        public string MerchantSubId { get; set; }
        public string MiniprogramAppid { get; set; }
        public string MiniprogramAppSecret { get; set; }
        public string Mobile { get; set; }
        public int? NozzleCount { get; set; }
        public string Online { get; set; }
        public DateTime? OperationDate { get; set; }
        public int? ParkingCount { get; set; }
        public string Phone { get; set; }
        public int? PosCount { get; set; }
        public string PostCode { get; set; }
        public string ReferenceBuId { get; set; }
        public string Road { get; set; }
        public int? RoadCount { get; set; }
        public string ScaleType { get; set; }
        public string ServiceProviderId { get; set; }
        public bool? Wc { get; set; }
        public Guid? BusinessUnitInfoId { get; set; }
        public string DeviceSn { get; set; }
        public string Password { get; set; }
        public string UserName { get; set; }
        public string WxNotifyPaymentUrl { get; set; }
        public string WxNotifyRechargeUrl { get; set; }
        public string WxNotifyShortCodeUrl { get; set; }
        public string GpsCoordinates { get; set; }
        public short? IcCardType { get; set; }
        public bool? SmsPrimarySite { get; set; }
        public bool? SmsEnabled { get; set; }
        public int? SmsSentCount { get; set; }
        public int? SmsRemainingCount { get; set; }
        public string SmsMsgTemplate { get; set; }
        public Guid? ParentBuId { get; set; }
        public int? OfflineTransferCount { get; set; }

        public virtual BusinessUnitInfo BusinessUnitInfoNavigation { get; set; }
        public virtual BusinessUnitInfo ParentBu { get; set; }
        public virtual ICollection<AccountInfo> AccountInfoBuInfoCreated { get; set; }
        public virtual ICollection<AccountInfo> AccountInfoBusinessUnitInfo { get; set; }
        public virtual ICollection<BlackCardInfo> BlackCardInfoBuInfo { get; set; }
        public virtual ICollection<BlackCardInfo> BlackCardInfoBuInfoCreated { get; set; }
        public virtual ICollection<CardInfo> CardInfoBuInfoCreated { get; set; }
        public virtual ICollection<CardInfo> CardInfoBusinessUnitInfo { get; set; }
        public virtual ICollection<CardRepLossInfo> CardRepLossInfoBuInfo { get; set; }
        public virtual ICollection<CardRepLossInfo> CardRepLossInfoBuInfoCreated { get; set; }
        public virtual ICollection<GrayInfo> GrayInfoBuInfo { get; set; }
        public virtual ICollection<GrayInfo> GrayInfoBuInfoCreated { get; set; }
        public virtual ICollection<BusinessUnitInfo> InverseBusinessUnitInfoNavigation { get; set; }
        public virtual ICollection<BusinessUnitInfo> InverseParentBu { get; set; }
        public virtual ICollection<InvoiceInfo> InvoiceInfoBuInfo { get; set; }
        public virtual ICollection<InvoiceInfo> InvoiceInfoBuInfoCreated { get; set; }
        public virtual ICollection<MembershipGroup> MembershipGroupBuInfo { get; set; }
        public virtual ICollection<MembershipGroup> MembershipGroupBuInfoCreated { get; set; }
        public virtual ICollection<MembershipGrowthRules> MembershipGrowthRulesBuInfo { get; set; }
        public virtual ICollection<MembershipGrowthRules> MembershipGrowthRulesBuInfoCreated { get; set; }
        public virtual ICollection<MembershipLevelInfo> MembershipLevelInfoBuInfo { get; set; }
        public virtual ICollection<MembershipLevelInfo> MembershipLevelInfoBuInfoCreated { get; set; }
        public virtual ICollection<OfflineTransactionInfo> OfflineTransactionInfo { get; set; }
        public virtual ICollection<RechargePaymentHistory> RechargePaymentHistory { get; set; }
        public virtual ICollection<SmsInfo> SmsInfoBuInfo { get; set; }
        public virtual ICollection<SmsInfo> SmsInfoBuInfoCreated { get; set; }
        public virtual ICollection<UserInfo> UserInfo { get; set; }
    }
}
