lixiaojun
2024-10-26 dd4da9a651330fabe210618581299ac3536bda2f
WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/00-core/HydroParterPropertyViewModel.cs
@@ -1,6 +1,4 @@
using SqlSugar;
namespace Yw.WinFrmUI
namespace Yw.WinFrmUI
{
    /// <summary>
    /// 水力组件属性视图
@@ -11,105 +9,131 @@
        /// <summary>
        /// 
        /// </summary>
        public HydroParterPropertyViewModel() { }
        public HydroParterPropertyViewModel()
        {
            this.PropStatusList = new List<HydroParterPropStatusViewModel>();
        }
        /// <summary>
        /// 
        /// </summary>
        public HydroParterPropertyViewModel(Yw.Model.HydroParterInfo rhs)
        public HydroParterPropertyViewModel(Yw.Model.HydroParterInfo rhs) : this()
        {
            this.ID = rhs.ID;
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Name = rhs.Name;
            this.UpdatePropStatus(nameof(this.Name), rhs, nameof(rhs.Name));
            this.Code = rhs.Code;
            this.UpdatePropStatus(nameof(this.Code), rhs, nameof(rhs.Code));
            this.ModelType = rhs.ModelType;
            this.UpdatePropStatus(nameof(this.ModelType), rhs, nameof(rhs.ModelType));
            this.DbId = rhs.DbId;
            this.Flags = rhs.Flags?.ToList();
            this.HasDb = !string.IsNullOrEmpty(rhs.DbId);
            this.Flags = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.UpdatePropStatus(nameof(this.Flags), rhs, nameof(rhs.Flags));
            this.Description = rhs.Description;
            this.UpdatePropStatus(nameof(this.Description), rhs, nameof(rhs.Description));
            this.DbLocked = rhs.DbLocked;
        }
        /// <summary>
        /// ID
        /// </summary>
        [Category("基础信息")]
        [DisplayName("ID")]
        [PropertyOrder(1)]
        [Browsable(false)]
        public long ID { get; set; }
        public virtual long ID { get; set; }
        /// <summary>
        /// 分类
        /// </summary>
        [Category("基础信息")]
        [DisplayName("分类")]
        [PropertyOrder(2)]
        [PropertyOrder(1)]
        [ReadOnly(true)]
        [Browsable(true)]
        public string Catalog { get; set; }
        public virtual string Catalog { get; set; }
        /// <summary>
        /// 名称
        /// </summary>
        [Category("基础信息")]
        [DisplayName("名称")]
        [PropertyOrder(3)]
        [PropertyOrder(2)]
        [Browsable(true)]
        public string Name { get; set; }
        public virtual string Name { get; set; }
        /// <summary>
        /// 编码
        /// </summary>
        [Category("基础信息")]
        [DisplayName("编码")]
        [PropertyOrder(4)]
        [PropertyOrder(3)]
        [ReadOnly(true)]
        [Browsable(true)]
        public string Code { get; set; }
        public virtual string Code { get; set; }
        /// <summary>
        /// 型号
        /// </summary>
        [Category("基础信息")]
        [DisplayName("型号")]
        [PropertyOrder(5)]
        [PropertyOrder(4)]
        [IsHydroModelType]
        [Browsable(true)]
        public string ModelType { get; set; }
        public virtual string ModelType { get; set; }
        /// <summary>
        /// DbId
        /// </summary>
        [Category("基础信息")]
        [DisplayName("DbId")]
        [PropertyOrder(6)]
        [Browsable(false)]
        public string DbId { get; set; }
        public virtual string DbId { get; set; }
        /// <summary>
        /// 锁定
        /// 匹配
        /// </summary>
        [Category("基础信息")]
        [DisplayName("锁定")]
        [PropertyOrder(7)]
        [DisplayName("匹配")]
        [PropertyOrder(5)]
        [ShowEditor(false)]
        [Browsable(true)]
        public bool DbLocked { get; set; }
        public virtual bool HasDb { get; set; }
        /// <summary>
        /// 标签
        /// </summary>
        [Category("基础信息")]
        [DisplayName("标签")]
        [PropertyOrder(8)]
        [PropertyOrder(6)]
        [IsHydroFlagsPro(true)]
        [Browsable(true)]
        public List<string> Flags { get; set; }
        public virtual string Flags { get; set; }
        /// <summary>
        /// 说明
        /// </summary>
        [Category("基础信息")]
        [DisplayName("说明")]
        [PropertyOrder(9)]
        [PropertyOrder(7)]
        [MultiText]
        [Browsable(true)]
        public string Description { get; set; }
        public virtual string Description { get; set; }
        /// <summary>
        /// 锁定
        /// </summary>
        [Category("基础信息")]
        [DisplayName("锁定")]
        [PropertyOrder(8)]
        [Browsable(true)]
        public virtual bool DbLocked { get; set; }
        /// <summary>
        /// 属性状态列表
        /// </summary>
        [Browsable(false)]
        public virtual List<HydroParterPropStatusViewModel> PropStatusList { get; set; }
        /// <summary>
        /// 更新属性
@@ -121,23 +145,28 @@
            this.ID = rhs.ID;
            this.Catalog = HydroParterCatalogHelper.GetCatalogName(rhs.Catalog);
            this.Name = rhs.Name;
            this.UpdatePropStatus(nameof(this.Name), rhs, nameof(rhs.Name));
            this.Code = rhs.Code;
            this.UpdatePropStatus(nameof(this.Code), rhs, nameof(rhs.Code));
            this.ModelType = rhs.ModelType;
            this.UpdatePropStatus(nameof(this.ModelType), rhs, nameof(rhs.ModelType));
            this.DbId = rhs.DbId;
            this.DbLocked = rhs.DbLocked;
            this.Flags = rhs.Flags?.ToList();
            this.HasDb = !string.IsNullOrEmpty(rhs.DbId);
            this.Flags = Yw.Untity.FlagsHelper.ToString(rhs.Flags);
            this.UpdatePropStatus(nameof(this.Flags), rhs, nameof(rhs.Flags));
            this.Description = rhs.Description;
            this.UpdatePropStatus(nameof(this.Description), rhs, nameof(rhs.Description));
            this.DbLocked = rhs.DbLocked;
        }
        /// <summary>
        /// 更新计算属性
        /// </summary>
        /// <param name="rhs">计算属性</param>
        public virtual void UpdateCalcuProperty(IHydroCalcuProperty rhs)
        public virtual void UpdateCalcuProperty(IHydroCalcuResult rhs)
        {
        }