using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RFramework;

namespace RFrameGenerate.Model
{
    public partial class T_BAS_MerchantsAgent: EntityBase<T_BAS_MerchantsAgent>, ICloneable
    { 
        public Guid MerchantGuid{ get;set; }   
        public Guid? WeChatGuid{ get;set; }   
        public Guid? WeChatMenuGuid{ get;set; }   
        public string UserID{ get;set; }
        public string Password{ get;set; }
        public string StoreTitle{ get;set; }
        public string StoreUrl{ get;set; }
        public string StoreDescription{ get;set; }
        public string StoreSubtitle{ get;set; }
        public string StoreIntroduceUrl{ get;set; }
        public string StoreLogo{ get;set; }
        public string ButtomLogo{ get;set; }
        public string ShareImage{ get;set; }
        public string DistributionBackgroundImgae{ get;set; }
        public string BusinessIntroduceImage{ get;set; }
        public string Country{ get;set; }
        public string Province{ get;set; }
        public string City{ get;set; }
        public string Area{ get;set; }
        public string Address{ get;set; }
        public string Zip{ get;set; }
        public string Contact{ get;set; }
        public string Telephone{ get;set; }
        public string CustomerName{ get;set; }
        public string CustomerTelephone{ get;set; }
        public int? TotalDistributionOrders{ get;set; }   
        public decimal? DistributionOrdersAmount{ get;set; }   
        public int? TotalDistributor{ get;set; }   
        public decimal? CumulativeDistributionAmount{ get;set; }   
        public decimal? MentionedAmount{ get;set; }   
        public string EMail{ get;set; }
        public string TradePassword{ get;set; }
        public string StroeList{ get;set; }
        public string PriceLable{ get;set; }
        public bool? StoreState{ get;set; }   
        public string CloseReason{ get;set; }
        public Guid? SMerchantGuid{ get;set; }   
        public Guid? AgentGuid{ get;set; }   
        public int? UserType{ get;set; }   
        public DateTime? CreateDate{ get;set; }   
        public DateTime? ExpireDate{ get;set; }   
        public int? HomePageProductNum{ get;set; }   
        public Guid? CustomerServicesGuid{ get;set; }   
        public bool? IsCustomerServices{ get;set; }   
        public bool? IsEnable{ get;set; }   
        public int? MerchantType{ get;set; }   
        public decimal? TotalSales{ get;set; }   
        public decimal? FsBalance{ get;set; }   
        public decimal? Prestore{ get;set; }   
        public decimal? ComFreeze{ get;set; }   
        public decimal? ComAvailable{ get;set; }   
        public Guid? AgentsFlagshipGuid{ get;set; }   
        public Guid? FlagshipPackGuid{ get;set; }   
        public Guid? FlagshipGroupGuid{ get;set; }   
        public Guid? FatherMerchantGuid{ get;set; }   
        public int? OpenMerchanMaxNum{ get;set; }   
        public int? OpenMerchandNum{ get;set; }   
        public int? PaymentType{ get;set; }   
        public decimal? PaymentMoney{ get;set; }   
        public decimal? Discount{ get;set; }   
        public Guid? AgentProductDiscountGuid{ get;set; }   
        public Guid? TopMerchantGuid{ get;set; }   
        public int? GoodsDeliveryType{ get;set; }   
        public int? UserWeChatType{ get;set; }   
      
        public override string ToString()
        {
            StringBuilder sb = this.EntityToGetKeyValue();
            if (sb == null)
                return base.ToString();
            else
            {
                return sb.ToString();
            }
        }
        
        #region 创建副本
        /// <summary>
        /// 创建当前 System.Object 的浅表副本
        /// </summary>
        /// <returns>返回当前实例的浅表副本,(如果当前实例中有引用对象,引用对象的地址还是指向原来的地址)</returns>
        public object Clone()
        {
            return this.MemberwiseClone();
        }
        
        /// <summary>
        /// 创建当前 System.Object 的深表副本
        /// </summary>
        /// <returns>返回当前实例的深表副本,(如果当前实例中有引用对象,引用对象的地址还是指向原来的地址)</returns>
        public T_BAS_MerchantsAgent DeepClone()
        {
            using (System.IO.Stream objectStream = new System.IO.MemoryStream())
            {
                System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
                formatter.Serialize(objectStream, this);
                objectStream.Seek(0, System.IO.SeekOrigin.Begin);
                return formatter.Deserialize(objectStream) as T_BAS_MerchantsAgent;
            }
        }
        /// <summary>
        /// 创建当前 System.Object 的浅表副本
        /// </summary>
        /// <returns>返回当前实例的浅表副本,(如果当前实例中有引用对象,引用对象的地址还是指向原来的地址)</returns>
        public T_BAS_MerchantsAgent ShallowClone()
        {
            return Clone() as T_BAS_MerchantsAgent;
        }

        #endregion
        
        #region 实体相互转换        
        protected override T_BAS_MerchantsAgent CurrentEntity()
        {
            return this;
        }
        #endregion
    }
}

