12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- using HandyControl.Interactivity.Commands;
- using Shaker.Model;
- using Shaker.ViewModel;
- using ShakerManger.Data;
- using System;
- using System.Collections.Generic;
- using System.Diagnostics.CodeAnalysis;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Input;
- using System.Text.RegularExpressions;
- namespace ShakerManger.ViewModel
- {
- internal class ShakerConfigPageViewModel:DisplayViewModel<ModelBase>,ISystemPageViewModel
- {
- public ICommand SaveCommand => new DelegateCommand(Save);
- private void Save()
- {
- if (currentShaker == null) return;
- if (!Regex.IsMatch(CurrentShaker.IPAddress, @"(^((2[0-4]\d.)|(25[0-5].)|(1\d{2}.)|(\d{1,2}.))((2[0-5]{2}.)|(1\d{2}.)|(\d{1,2}.){2})((1\d{2})|(2[0-5]{2})|(\d{1,2}))$)", RegexOptions.IgnoreCase))
- {
- PromptViewModel.Default.Init();
- PromptViewModel.Default.NoVisibility = System.Windows.Visibility.Collapsed;
- PromptViewModel.Default.Message = "IP地址格式不正确";
- PromptViewModel.Default.IconType = IconType.Error;
- PromptViewModel.Default.IsOpen = true;
- return;
- }
- Sql.Default.Replace(x => x.Id, CurrentShaker.Model.Id, CurrentShaker.Model);
- PromptViewModel.Default.Init();
- PromptViewModel.Default.NoVisibility = System.Windows.Visibility.Collapsed;
- PromptViewModel.Default.Message = "保存成功";
- PromptViewModel.Default.IconType = IconType.Info;
- PromptViewModel.Default.IsOpen = true;
- BusManger.Defaut.Bus.PubSub.PublishAsync(CurrentShaker.Model, new Dictionary<string, string>()
- {
- {Shaker.Model.GlobalVariable.ShakerIDKey,CurrentShaker.Model.Id }
- });
- }
- public ShakerControlViewModel CurrentShaker { get => currentShaker; set =>UpdateProperty(ref currentShaker, value); }
- public override Type View { get; } = typeof(View.ShakerPageView);
- private bool isEnabled = true;
- [AllowNull]
- private ShakerControlViewModel currentShaker;
- public SystemPageType SystemPageType => SystemPageType.ShakerPage;
- public string IconPath { get; } = (string)App.Current.FindResource("ShakerIcon");
- public bool IsEnabled { get => isEnabled; set => UpdateProperty(ref isEnabled, value); }
- }
- }
|