using Autodesk.Revit.DB.Mechanical; using Autodesk.Revit.DB.Plumbing; using CommunityToolkit.Mvvm.ComponentModel; using System; using System.ComponentModel.DataAnnotations; using System.Linq; using ShrlAlgoToolkit.Mvvm.Attributes; namespace ShrlAlgo.RvKits.RvMEP; public partial class InsulationItem : ObservableValidator { [GreaterThan(nameof(MinDiameter))] [Range(15, 1000)] public double MaxDiameter { get => maxDiameter; set { SetProperty(ref maxDiameter, value, true); } } private double maxDiameter; [Range(0, 1000)] public double MinDiameter { get => minDiameter; set { SetProperty(ref minDiameter, value, true); ValidateProperty(MaxDiameter, nameof(MaxDiameter)); } } private double minDiameter; [Required] [Range(10, 1000)] [NotifyDataErrorInfo] [ObservableProperty] private double thickness; //{ // get => thickness; // set => SetProperty(ref thickness, value, true); //} //private double thickness; [ObservableProperty] private PipeInsulationType pipeInsulationType; [ObservableProperty] private DuctInsulationType ductInsulationType; }