Files
ShrlAlgoToolkit/ShrlAlgoToolkit.RevitAddins/RvMEP/InsulationItem.cs
2025-04-24 20:56:44 +08:00

51 lines
1.2 KiB
C#

using System.ComponentModel.DataAnnotations;
using Autodesk.Revit.DB.Mechanical;
using Autodesk.Revit.DB.Plumbing;
using CommunityToolkit.Mvvm.ComponentModel;
using ShrlAlgoToolkit.Mvvm.Attributes;
namespace ShrlAlgoToolkit.RevitAddins.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;
}