using InSituLaboratory.Common; using InSituLaboratory.Entities; using Prism.Regions; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace InSituLaboratory.ViewModels.Pages { /// /// 局部电源开关控制 /// public class RelayViewModel : ViewModelBase { public ClientModel clientModel { get; set; } = new ClientModel(); public static SocketInfo SocketInfo { get; set; } = new SocketInfo() { IP = tools.GetAppSetting("IP"), Port = Convert.ToInt32(tools.GetAppSetting("Port")) }; public RelayViewModel(IRegionManager regionManager) : base(regionManager) { this.PageTitle = "通信与电源控制"; SocketInfo.ConnectionMessage = "连接"; } public override void DoConnection(object o) { if (clientModel.IsConnected) { Task.Run(new Action(async () => { await Task.Delay(100); clientModel.DisConnect(); SocketInfo.ConnectionMessage = "连接"; })); } else { Task.Run(new Action(async () => { await Task.Delay(150); if (clientModel.DoConnect(SocketInfo)) { //更新下App.config中的配置信息 tools.UpdateAppSettings("IP", SocketInfo.IP); tools.UpdateAppSettings("Port", SocketInfo.Port.ToString()); SocketInfo.ConnectionMessage = "断开"; } })); } } } }