using System.ComponentModel.DataAnnotations; using Autodesk.Revit.DB.Mechanical; using Autodesk.Revit.DB.Plumbing; namespace Szmedi.RvKits.MEPTools; 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)] public double Thickness { get => thickness; set => SetProperty(ref thickness, value, true); } private double thickness; [ObservableProperty] private PipeInsulationType pipeInsulationType; [ObservableProperty] private DuctInsulationType ductInsulationType; }