39 lines
1.2 KiB
C#
39 lines
1.2 KiB
C#
using System.ComponentModel;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
|
|
namespace ShrlAlgoToolkit.RevitAddins.RvCommon;
|
|
|
|
public partial class AutoSaveViewModel : ObservableValidator
|
|
{
|
|
public AutoSaveViewModel()
|
|
{
|
|
IsActiveAutoSave = RevitAddins.Properties.Settings.Default.IsActiveAutoSave;
|
|
IntervalTime = RevitAddins.Properties.Settings.Default.AutoSaveIntervalTime;
|
|
}
|
|
[ObservableProperty]
|
|
private bool isActiveAutoSave;
|
|
|
|
//partial void OnIsActiveAutoSaveChanged(bool value)
|
|
//{
|
|
// throw new NotImplementedException();
|
|
//}
|
|
|
|
[Required(ErrorMessage = "不可为空")]
|
|
[DefaultValue(10)]
|
|
[NotifyDataErrorInfo]
|
|
[Range(1, 30, ErrorMessage = "输入值应在1~30分钟之间")]
|
|
[ObservableProperty]
|
|
private int intervalTime;
|
|
|
|
|
|
[RelayCommand]
|
|
private void Closing()
|
|
{
|
|
RevitAddins.Properties.Settings.Default.IsActiveAutoSave = IsActiveAutoSave;
|
|
RevitAddins.Properties.Settings.Default.AutoSaveIntervalTime = IntervalTime;
|
|
RevitAddins.Properties.Settings.Default.Save();
|
|
Variables.AutoSaveTimer.Interval = IntervalTime * 60 * 1000;
|
|
}
|
|
} |