20240801_FJEQ_upperpc/FujianEarthquake_seabed_now/FujianEarthquake/ViewModels/ShoreBaseStationStatusDataViewModel.cs
XuMin 3e4bde691a 1 完成岸基站子页面的编写;
2 完成系统控制页面的编写;
3 完成上位机接收数据解析存储代码的编写;
2024-09-19 18:17:46 +08:00

1123 lines
38 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using FujianEarthquake.Common;
using FujianEarthquake.DataAccess;
using FujianEarthquake.Models;
using FujianEarthquake.Views.UserControls;
using LiveCharts.Defaults;
using LiveCharts.Wpf;
using LiveCharts;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using System.Windows.Threading;
using System.Windows;
namespace FujianEarthquake.ViewModels
{
public class ShoreBaseStationStatusDataViewModel : NotifyBase
{
#region Search Data
private DateTime _startDateTime;
public DateTime StartDateTime
{
get { return _startDateTime; }
set { Set(ref _startDateTime, value); }
}
private DateTime _endDateTime;
public DateTime EndDateTime
{
get { return _endDateTime; }
set { Set(ref _endDateTime, value); }
}
int PageIndex = 0;
private int recordCount;
public int RecordCount
{
get { return recordCount; }
set { recordCount = value; this.DoNotify(); }
}
private int totalPage;
public int TotalPage
{
get { return totalPage; }
set { totalPage = value; this.DoNotify(); }
}
private string shoreBaseStationStateMsg;
public string ShoreBaseStationStateMsg
{
get { return shoreBaseStationStateMsg; }
set { shoreBaseStationStateMsg = value; this.DoNotify(); }
}
#endregion
private ObservableCollection<ShoreBaseStationStateDataModel> shoreBaseStationStateDataList = new ObservableCollection<ShoreBaseStationStateDataModel>();
public ObservableCollection<ShoreBaseStationStateDataModel> ShoreBaseStationStateDataList
{
get { return shoreBaseStationStateDataList; }
set { shoreBaseStationStateDataList = value; this.DoNotify(); }
}
private ObservableCollection<ShoreBaseStationStateDataModel> totalShoreBaseStationStateDataList = new ObservableCollection<ShoreBaseStationStateDataModel>();
public ObservableCollection<ShoreBaseStationStateDataModel> TotalShoreBaseStationStateDataList
{
get { return totalShoreBaseStationStateDataList; }
set { totalShoreBaseStationStateDataList = value; this.DoNotify(); }
}
ParaSettingView paraSettingView = new ParaSettingView();
ProSettingView proSettingView = new ProSettingView();
PowSettingView powSettingView = new PowSettingView();
#region CommandBase
public CommandBase ForwordShoreBaseStationStateCommand { get; set; } //读取日志信息
public CommandBase NextShoreBaseStationStateCommand { get; set; } //读取日志信息
public CommandBase AskDataCommand { get; set; } //获取数据
public CommandBase ProSettingCommand { get; set; }
public CommandBase SubProSettingCommand { get; set; }
public CommandBase ParaSettingCommand { get; set; }
public CommandBase SubParaSettingCommand { get; set; }
public CommandBase PowSettingCommand { get; set; }
public CommandBase RefreshDataCommand { get; set; }
public CommandBase DownloadDataCommand { get; set; }
public CommandBase ShoreBaseStationSwitchCommand { get; set; }
#endregion
#region Timer Define
public DispatcherTimer timerAskData = new DispatcherTimer();
public DispatcherTimer timerAskDataMsgCollapse = new DispatcherTimer();
public DispatcherTimer timerDownloadDataMsgHidden = new DispatcherTimer();
public DispatcherTimer timerCycleAskData = new DispatcherTimer();
#endregion
#region ShoreBaseStationModel
private byte fromDeviceAddress { get; set; } //从设备地址
private byte functionCode { get; set; } //功能码
private byte[] startingRegisterAddress { get; set; } //起始寄存器地址
private byte[] registerNumber { get; set; } //寄存器个数
private byte[] registerAddress { get; set; } //寄存器地址
private byte[] checkCodeCRC { get; set; } //校验码
private List<byte> checkByte { get; set; } = new List<byte>(); //校验码Byte
private byte[] writeData { get; set; } //数据
private List<byte> sendBytes { get; set; } = new List<byte>(); //发送数据
#endregion
#region Data Filtering
public static DialogViewModel vm;
private bool _isChecked;
public bool IsChecked
{
get { return _isChecked; }
set
{
_isChecked = value;
this.DoNotify();
string timeSearch = "";
if (IsChecked)
{
if (string.IsNullOrEmpty(EndDateTime.ToString()) || string.IsNullOrEmpty(StartDateTime.ToString()))
{
IsChecked = false;
return;
}
if (EndDateTime < StartDateTime)
{
HandyControl.Controls.Dialog.Show(new TextDialog("起始时间大于结束时间,\n请重新输入"));
IsChecked = false;
return;
}
timeSearch = " and DataTime BETWEEN '" + StartDateTime + "' and '" + EndDateTime + "' ";
}
else
{
timeSearch = "";
}
//设置当前页为1
PageIndex = 1;
TotalShoreBaseStationStateDataList.Clear();
ShoreBaseStationStateDataList.Clear();
string sql = String.Format("select Out_Vol,Out_Cur from shorebasestation_output_state ORDER by id desc limit 100");
MySqlDataReader dataReader = DBHelper.ExecuteReader(sql, 1);
string sqlSub = String.Format("select * from shorebasestation_coil_state ORDER by id desc limit 100");
MySqlDataReader dataReaderSub = DBHelper.ExecuteReader(sqlSub, 1);
int index = 1;
while (dataReader.Read())
{
ShoreBaseStationStateDataModel shoreBaseStationStateDataModel = new ShoreBaseStationStateDataModel();
shoreBaseStationStateDataModel.Index = index++;
shoreBaseStationStateDataModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
shoreBaseStationStateDataModel.Out_Vol = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Out_Vol"].ToString()) ? "0" : dataReader["In_Vol"]);
shoreBaseStationStateDataModel.Out_Cur = Convert.ToSingle(string.IsNullOrEmpty(dataReader["Out_Cur"].ToString()) ? "0" : dataReader["In_Cur"]);
if (dataReaderSub.Read())
{
if (dataReaderSub["OutOverVol_Pro"].ToString() == "1")
shoreBaseStationStateDataModel.VolProStatus = (ImageSource)Application.Current.FindResource("DeviceOn");
else
shoreBaseStationStateDataModel.VolProStatus = (ImageSource)Application.Current.FindResource("DeviceOff");
if (dataReaderSub["OutOverCur_Pro"].ToString() == "1")
shoreBaseStationStateDataModel.CurProStatus = (ImageSource)Application.Current.FindResource("DeviceOn");
else
shoreBaseStationStateDataModel.CurProStatus = (ImageSource)Application.Current.FindResource("DeviceOff");
if (dataReaderSub["Out_Switch"].ToString() == "1")
shoreBaseStationStateDataModel.RelayStatus = (ImageSource)Application.Current.FindResource("DeviceOn");
else
shoreBaseStationStateDataModel.RelayStatus = (ImageSource)Application.Current.FindResource("DeviceOff");
}
TotalShoreBaseStationStateDataList.Add(shoreBaseStationStateDataModel);
}
dataReader.Dispose();
dataReaderSub.Dispose();
RecordCount = index - 1;
if (RecordCount <= 10)
{
TotalPage = 1;
ShoreBaseStationStateDataList = new ObservableCollection<ShoreBaseStationStateDataModel>();
ShoreBaseStationStateDataList = TotalShoreBaseStationStateDataList;
}
else
{
TotalPage = (int)Math.Ceiling((double)RecordCount / 10);
ShoreBaseStationStateDataList = new ObservableCollection<ShoreBaseStationStateDataModel>();
for (int i = 0; i < 10; i++)
{
ShoreBaseStationStateDataList.Add(TotalShoreBaseStationStateDataList[i]);
}
}
ShoreBaseStationStateMsg = string.Format("共计{0}页,当前第{1}页", TotalPage, PageIndex);
string record = "查询岸基站状态数据历史数据,查询时间范围为:" + StartDateTime + "至" + EndDateTime + ",共查询到" + RecordCount + "条历史数据";
sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','岸基站电控通信系统','数据查询','{record}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
}
#endregion
public ShoreBaseStationStatusDataViewModel()
{
// 默认查询1天内的日志
this.EndDateTime = DateTime.Now;
this.StartDateTime = DateTime.Now.AddDays(-1);
PageIndex = 1;
vm = new DialogViewModel
{
Content = ""
};
#region Command Set
this.ForwordShoreBaseStationStateCommand = new CommandBase();
this.ForwordShoreBaseStationStateCommand.DoExcute = new Action<object>(ForwordShoreBaseStationState);
this.ForwordShoreBaseStationStateCommand.DoCanExcute = new Func<object, bool>((o) => true);
this.NextShoreBaseStationStateCommand = new CommandBase();
this.NextShoreBaseStationStateCommand.DoExcute = new Action<object>(NextShoreBaseStationState);
this.NextShoreBaseStationStateCommand.DoCanExcute = new Func<object, bool>((o) => true);
this.AskDataCommand = new CommandBase();
this.AskDataCommand.DoExcute = new Action<object>(AskData);
this.AskDataCommand.DoCanExcute = new Func<object, bool>((o) => true);
this.ProSettingCommand = new CommandBase();
this.ProSettingCommand.DoExcute = new Action<object>(ProSetting);
this.ProSettingCommand.DoCanExcute = new Func<object, bool>((o) => true);
this.SubProSettingCommand = new CommandBase();
this.SubProSettingCommand.DoExcute = new Action<object>(SubProSetting);
this.SubProSettingCommand.DoCanExcute = new Func<object, bool>((o) => true);
this.ParaSettingCommand = new CommandBase();
this.ParaSettingCommand.DoExcute = new Action<object>(ParaSetting);
this.ParaSettingCommand.DoCanExcute = new Func<object, bool>((o) => true);
this.SubParaSettingCommand = new CommandBase();
this.SubParaSettingCommand.DoExcute = new Action<object>(SubParaSetting);
this.SubParaSettingCommand.DoCanExcute = new Func<object, bool>((o) => true);
this.PowSettingCommand = new CommandBase();
this.PowSettingCommand.DoExcute = new Action<object>(PowSetting);
this.PowSettingCommand.DoCanExcute = new Func<object, bool>((o) => true);
this.RefreshDataCommand = new CommandBase();
this.RefreshDataCommand.DoExcute = new Action<object>(RefreshData);
this.RefreshDataCommand.DoCanExcute = new Func<object, bool>((o) => true);
this.DownloadDataCommand = new CommandBase();
this.DownloadDataCommand.DoExcute = new Action<object>(DownloadData);
this.DownloadDataCommand.DoCanExcute = new Func<object, bool>((o) => true);
this.ShoreBaseStationSwitchCommand = new CommandBase();
this.ShoreBaseStationSwitchCommand.DoExcute = new Action<object>(ShoreBaseStationSwitch);
this.ShoreBaseStationSwitchCommand.DoCanExcute = new Func<object, bool>((o) => true);
#endregion
#region Timer Set
timerAskData.Interval = TimeSpan.FromSeconds(20);
timerAskData.Tick += TimerAskData_Tick;
timerAskDataMsgCollapse.Interval = TimeSpan.FromSeconds(2);
timerAskDataMsgCollapse.Tick += TimerAskDataMsgCollapse_Tick;
timerDownloadDataMsgHidden.Interval = TimeSpan.FromSeconds(2);
timerDownloadDataMsgHidden.Tick += TimerDownloadDataMsgHidden_Tick;
#endregion
}
#region Ask Data
private void TimerAskData_Tick(object sender, EventArgs e)
{
if (!AskDataBtnIsReceived)
{
AskDataMsgVisibility = Visibility.Visible;
AskDataMsg = "请求数据发送成功,但未接收到数据!";
timerAskDataMsgCollapse.Start();
AskDataMsgForeground = new SolidColorBrush(Colors.Red);
AskDataBtnIsEnabled = true;
}
// 停止定时器
(sender as DispatcherTimer).Stop();
}
private void TimerAskDataMsgCollapse_Tick(object sender, EventArgs e)
{
AskDataMsgVisibility = Visibility.Hidden;
// 停止定时器
(sender as DispatcherTimer).Stop();
}
private bool cycleRequestIsChecked;
public bool CycleRequestIsChecked
{
get { return cycleRequestIsChecked; }
set
{
cycleRequestIsChecked = value;
this.DoNotify();
if (CycleRequestIsChecked)
{
if (string.IsNullOrEmpty(CycleRequestCycle))
{
CycleRequestIsChecked = false;
return;
//可改为自动设定周期
}
//周期获取数据
timerCycleAskData.Interval = TimeSpan.FromSeconds(int.Parse(CycleRequestCycle));
timerCycleAskData.Tick += TimerCycleAskData_Tick;
timerCycleAskData.Start();
string record = "周期请求岸基站状态数据已开启,请求周期为:" + CycleRequestCycle;
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','岸基站电控通信系统','数据请求','{record}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
else
{
//停止定时器
timerCycleAskData.Stop();
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','岸基站电控通信系统','数据请求','周期请求岸基站状态数据已关闭');";
DBHelper.ExecuteNonQuery(sql, 1);
}
}
}
private void TimerCycleAskData_Tick(object sender, EventArgs e)
{
AskShoreBaseStationData();
}
private string cycleRequestCycle;
public string CycleRequestCycle
{
get { return cycleRequestCycle; }
set { cycleRequestCycle = value; this.DoNotify(); }
}
private string askDataMsg;
public string AskDataMsg
{
get { return askDataMsg; }
set { askDataMsg = value; this.DoNotify(); }
}
private Brush askDataMsgForeground;
public Brush AskDataMsgForeground
{
get { return askDataMsgForeground; }
set { askDataMsgForeground = value; this.DoNotify(); }
}
private bool askDataBtnIsEnabled = true;
public bool AskDataBtnIsEnabled
{
get { return askDataBtnIsEnabled; }
set { askDataBtnIsEnabled = value; this.DoNotify(); }
}
private bool askDataBtnIsReceived = false;
public bool AskDataBtnIsReceived
{
get { return askDataBtnIsReceived; }
set { askDataBtnIsReceived = value; this.DoNotify(); }
}
private Visibility askDataMsgVisibility = Visibility.Visible;
public Visibility AskDataMsgVisibility
{
get { return askDataMsgVisibility; }
set { askDataMsgVisibility = value; this.DoNotify(); }
}
public void AskData(object o)
{
AskShoreBaseStationData();
}
private void AskShoreBaseStationData()
{
AskDataBtnIsEnabled = false;
AskDataBtnIsReceived = false;
////查询从设备寄存器内容
//byte deviceAddress;
//deviceAddress = Convert.ToByte(Tools.GetAppSetting("DeviceAddress2"));
//fromDeviceAddress = deviceAddress; //从设备地址
//functionCode = 0x03; //功能码
//startingRegisterAddress = new byte[2] { 0x00, 0x00 }; //起始寄存器地址
//registerNumber = new byte[2] { 0x00, 0x0A }; //寄存器个数
////校验码计算
//checkByte.Clear();
//checkByte.Add(fromDeviceAddress);
//checkByte.Add(functionCode);
//checkByte.AddRange(startingRegisterAddress);
//checkByte.AddRange(registerNumber);
//checkCodeCRC = Tools.CRCCalcRev(checkByte.ToArray());
////发送指令
//sendBytes.Clear();
//sendBytes.Add(fromDeviceAddress);
//sendBytes.Add(functionCode);
//sendBytes.AddRange(startingRegisterAddress);
//sendBytes.AddRange(registerNumber);
//sendBytes.AddRange(checkCodeCRC);
//bool result = false;
//if (MainWindow.mainViewModel.clientModel1.IsConnected)
// result = MainWindow.mainViewModel.clientModel1.SendMessage(sendBytes.ToArray());
//else
//{
// AskDataMsgVisibility = Visibility.Visible;
// AskDataMsg = "通信未连接!";
// timerAskDataMsgCollapse.Start();
// AskDataMsgForeground = new SolidColorBrush(Colors.Red);
// AskDataBtnIsEnabled = true;
// return;
//}
//if (result)
//{
// AskDataMsgVisibility = Visibility.Visible;
// AskDataMsg = "请求岸基站状态数据发送成功!";
// timerAskDataMsgCollapse.Start();
// AskDataMsgForeground = new SolidColorBrush(Colors.Green);
// timerAskData.Start();
//}
//else
//{
// AskDataMsgVisibility = Visibility.Visible;
// AskDataMsg = "请求岸基站状态数据发送失败!";
// timerAskDataMsgCollapse.Start();
// AskDataMsgForeground = new SolidColorBrush(Colors.Red);
// AskDataBtnIsEnabled = true;
//}
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','岸基站电控通信系统','数据请求','{AskDataMsg}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
#endregion
#region Refresh Data
public void RefreshData(object o)
{
string timeSearch = "";
if (IsChecked)
{
timeSearch = " and DataTime BETWEEN '" + StartDateTime + "' and '" + EndDateTime + "' ";
}
else
{
timeSearch = "";
}
//设置当前页为1
PageIndex = 1;
TotalShoreBaseStationStateDataList.Clear();
ShoreBaseStationStateDataList.Clear();
string sql = String.Format("select * from shorebasestation_state {0} ORDER by id desc limit 100", timeSearch);
MySqlDataReader dataReader = DBHelper.ExecuteReader(sql, 1);
int index = 1;
while (dataReader.Read())
{
ShoreBaseStationStateDataModel shoreBaseStationStateDataModel = new ShoreBaseStationStateDataModel();
shoreBaseStationStateDataModel.Index = index++;
shoreBaseStationStateDataModel.RecordTime = Convert.ToDateTime(dataReader["RecordTime"]);
shoreBaseStationStateDataModel.Out_Vol = Convert.ToSingle(string.IsNullOrEmpty(dataReader["In_Vol"].ToString()) ? "0" : dataReader["In_Vol"]);
shoreBaseStationStateDataModel.Out_Cur = Convert.ToSingle(string.IsNullOrEmpty(dataReader["In_Cur"].ToString()) ? "0" : dataReader["In_Cur"]);
if (dataReader["VolProStatus"].ToString() == "1")
shoreBaseStationStateDataModel.VolProStatus = (ImageSource)Application.Current.FindResource("DeviceOn");
else
shoreBaseStationStateDataModel.VolProStatus = (ImageSource)Application.Current.FindResource("DeviceOff");
if (dataReader["CurProStatus"].ToString() == "1")
shoreBaseStationStateDataModel.CurProStatus = (ImageSource)Application.Current.FindResource("DeviceOn");
else
shoreBaseStationStateDataModel.CurProStatus = (ImageSource)Application.Current.FindResource("DeviceOff");
if (dataReader["RelayStatus"].ToString() == "1")
shoreBaseStationStateDataModel.RelayStatus = (ImageSource)Application.Current.FindResource("DeviceOn");
else
shoreBaseStationStateDataModel.RelayStatus = (ImageSource)Application.Current.FindResource("DeviceOff");
TotalShoreBaseStationStateDataList.Add(shoreBaseStationStateDataModel);
}
dataReader.Dispose();
RecordCount = index - 1;
if (RecordCount <= 10)
{
TotalPage = 1;
ShoreBaseStationStateDataList = new ObservableCollection<ShoreBaseStationStateDataModel>();
ShoreBaseStationStateDataList = TotalShoreBaseStationStateDataList;
}
else
{
TotalPage = (int)Math.Ceiling((double)RecordCount / 10);
ShoreBaseStationStateDataList = new ObservableCollection<ShoreBaseStationStateDataModel>();
for (int i = 0; i < 10; i++)
{
ShoreBaseStationStateDataList.Add(TotalShoreBaseStationStateDataList[i]);
}
}
ShoreBaseStationStateMsg = string.Format("共计{0}页,当前第{1}页", TotalPage, PageIndex);
sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','岸基站电控通信系统','数据刷新','刷新岸基站状态数据');";
DBHelper.ExecuteNonQuery(sql, 1);
}
#endregion
#region DownloadData
private void TimerDownloadDataMsgHidden_Tick(object sender, EventArgs e)
{
DownloadDataMsgVisibility = Visibility.Hidden;
// 停止定时器
(sender as DispatcherTimer).Stop();
}
private string downloadDataMsg;
public string DownloadDataMsg
{
get { return downloadDataMsg; }
set { downloadDataMsg = value; this.DoNotify(); }
}
private Brush downloadDataMsgForeground;
public Brush DownloadDataMsgForeground
{
get { return downloadDataMsgForeground; }
set { downloadDataMsgForeground = value; this.DoNotify(); }
}
private bool downloadDataBtnIsEnabled = true;
public bool DownloadDataBtnIsEnabled
{
get { return downloadDataBtnIsEnabled; }
set { downloadDataBtnIsEnabled = value; this.DoNotify(); }
}
private Visibility downloadDataMsgVisibility = Visibility.Visible;
public Visibility DownloadDataMsgVisibility
{
get { return downloadDataMsgVisibility; }
set { downloadDataMsgVisibility = value; this.DoNotify(); }
}
public void DownloadData(object o)
{
DownloadDataBtnIsEnabled = false;
string shoreBaseStationFolder = Tools.GetAppSetting("ShoreBaseStationFolder");
string savePath = CSVDownload.CreateFile(shoreBaseStationFolder, "ShoreBaseStationStateData_" + DateTime.Now.ToString("yyyyMMddhhMMss"), "csv");
bool result = CSVDownload.SaveShoreBaseStationDataToCSVFile(TotalShoreBaseStationStateDataList, savePath);
if (result)
{
DownloadDataMsg = "下载数据成功!";
DownloadDataMsgVisibility = Visibility.Visible;
DownloadDataMsgForeground = new SolidColorBrush(Colors.Green);
}
else
{
DownloadDataMsg = "下载数据失败!";
DownloadDataMsgVisibility = Visibility.Visible;
DownloadDataMsgForeground = new SolidColorBrush(Colors.Red);
}
timerDownloadDataMsgHidden.Start();
DownloadDataBtnIsEnabled = true;
string record = "下载岸基站状态数据," + DownloadDataMsg;
string sql = $"insert into log_record(StationID,RecordTime,Device_Name,Operation_Type,Record) values('1','{DateTime.Now}','岸基站电控通信系统','数据下载','{record}');";
DBHelper.ExecuteNonQuery(sql, 1);
}
#endregion
#region Page Switching
public void ForwordShoreBaseStationState(object o)
{
if (PageIndex == 1)
return;
try
{
PageIndex -= 1;
ShoreBaseStationStateDataList.Clear();
for (int i = 0; i < 10; i++)
{
ShoreBaseStationStateDataList.Add(TotalShoreBaseStationStateDataList[i + (PageIndex - 1) * 10]);
}
ShoreBaseStationStateMsg = string.Format("共计{0}页,当前第{1}页", TotalPage, PageIndex);
}
catch
{
TotalShoreBaseStationStateDataList.Clear();
ShoreBaseStationStateDataList.Clear();
}
}
public void NextShoreBaseStationState(object o)
{
if (PageIndex == TotalPage)
return;
try
{
PageIndex += 1;
ShoreBaseStationStateDataList.Clear();
for (int i = 0; i < (PageIndex == TotalPage ? (RecordCount - (PageIndex - 1) * 10) : 10); i++)
{
ShoreBaseStationStateDataList.Add(TotalShoreBaseStationStateDataList[i + (PageIndex - 1) * 10]);
}
ShoreBaseStationStateMsg = string.Format("共计{0}页,当前第{1}页", TotalPage, PageIndex);
}
catch
{
TotalShoreBaseStationStateDataList.Clear();
ShoreBaseStationStateDataList.Clear();
}
}
#endregion
#region Para Set
private float setVoltage;
public float SetVoltage
{
get { return setVoltage; }
set { setVoltage = value; this.DoNotify(); }
}
private float setCurrent;
public float SetCurrent
{
get { return setCurrent; }
set { setCurrent = value; this.DoNotify(); }
}
public void ParaSetting(object o)
{
HandyControl.Controls.Dialog.Show(paraSettingView);
}
/// <summary>
/// 设置额定电压和额定电流
/// </summary>
/// <param name="o"></param>
public void SubParaSetting(object o)
{
}
#endregion
#region Pro Value Set
private float proVoltage;
public float ProVoltage
{
get { return proVoltage; }
set { proVoltage = value; this.DoNotify(); }
}
private float proCurrent;
public float ProCurrent
{
get { return proCurrent; }
set { proCurrent = value; this.DoNotify(); }
}
private bool proSettingBtnIsEnabled;
public bool ProSettingBtnIsEnabled
{
get { return proSettingBtnIsEnabled; }
set { proSettingBtnIsEnabled = value; this.DoNotify(); }
}
private string proSettingMsg;
public string ProSettingMsg
{
get { return proSettingMsg; }
set { proSettingMsg = value; this.DoNotify(); }
}
private Brush proSettingMsgForeground;
public Brush ProSettingMsgForeground
{
get { return proSettingMsgForeground; }
set { proSettingMsgForeground = value; this.DoNotify(); }
}
private bool proSettingMsgVisibility;
public bool ProSettingMsgVisibility
{
get { return proSettingMsgVisibility; }
set { proSettingMsgVisibility = value; this.DoNotify(); }
}
public void ProSetting(object o)
{
HandyControl.Controls.Dialog.Show(proSettingView);
}
/// <summary>
/// 设置过压过流保护值
/// </summary>
/// <param name="o"></param>
public void SubProSetting(object o)
{
}
#endregion
#region Pow Set
private ImageSource outputState;
public ImageSource OutputState
{
get { return outputState; }
set { outputState = value; this.DoNotify(); }
}
private string outputPowerOpenMsg;
public string OutputPowerOpenMsg
{
get { return outputPowerOpenMsg; }
set { outputPowerOpenMsg = value; this.DoNotify(); }
}
private Brush outputPowerOpenMsgForeground;
public Brush OutputPowerOpenMsgForeground
{
get { return outputPowerOpenMsgForeground; }
set { outputPowerOpenMsgForeground = value; this.DoNotify(); }
}
private bool outputPowerOpenMsgVisibility;
public bool OutputPowerOpenMsgVisibility
{
get { return outputPowerOpenMsgVisibility; }
set { outputPowerOpenMsgVisibility = value; this.DoNotify(); }
}
private bool outputPowerOpenBtnIsEnabled;
public bool OutputPowerOpenBtnIsEnabled
{
get { return outputPowerOpenBtnIsEnabled; }
set { outputPowerOpenBtnIsEnabled = value; this.DoNotify(); }
}
private string outputPowerCloseMsg;
public string OutputPowerCloseMsg
{
get { return outputPowerCloseMsg; }
set { outputPowerCloseMsg = value; this.DoNotify(); }
}
private Brush outputPowerCloseMsgForeground;
public Brush OutputPowerCloseMsgForeground
{
get { return outputPowerCloseMsgForeground; }
set { outputPowerCloseMsgForeground = value; this.DoNotify(); }
}
private bool outputPowerCloseMsgVisibility;
public bool OutputPowerCloseMsgVisibility
{
get { return outputPowerCloseMsgVisibility; }
set { outputPowerCloseMsgVisibility = value; this.DoNotify(); }
}
private bool outputPowerCloseBtnIsEnabled;
public bool OutputPowerCloseBtnIsEnabled
{
get { return outputPowerCloseBtnIsEnabled; }
set { outputPowerCloseBtnIsEnabled = value; this.DoNotify(); }
}
private ImageSource outputVolProState;
public ImageSource OutputVolProState
{
get { return outputVolProState; }
set { outputVolProState = value; this.DoNotify(); }
}
private string outputVolProPowerOpenMsg;
public string OutputVolProPowerOpenMsg
{
get { return outputVolProPowerOpenMsg; }
set { outputVolProPowerOpenMsg = value; this.DoNotify(); }
}
private Brush outputVolProPowerOpenMsgForeground;
public Brush OutputVolProPowerOpenMsgForeground
{
get { return outputVolProPowerOpenMsgForeground; }
set { outputVolProPowerOpenMsgForeground = value; this.DoNotify(); }
}
private bool outputVolProPowerOpenMsgVisibility;
public bool OutputVolProPowerOpenMsgVisibility
{
get { return outputVolProPowerOpenMsgVisibility; }
set { outputVolProPowerOpenMsgVisibility = value; this.DoNotify(); }
}
private bool outputVolProPowerOpenBtnIsEnabled;
public bool OutputVolProPowerOpenBtnIsEnabled
{
get { return outputVolProPowerOpenBtnIsEnabled; }
set { outputVolProPowerOpenBtnIsEnabled = value; this.DoNotify(); }
}
private string outputVolProPowerCloseMsg;
public string OutputVolProPowerCloseMsg
{
get { return outputVolProPowerCloseMsg; }
set { outputVolProPowerCloseMsg = value; this.DoNotify(); }
}
private Brush outputVolProPowerCloseMsgForeground;
public Brush OutputVolProPowerCloseMsgForeground
{
get { return outputVolProPowerCloseMsgForeground; }
set { outputVolProPowerCloseMsgForeground = value; this.DoNotify(); }
}
private bool outputVolProPowerCloseMsgVisibility;
public bool OutputVolProPowerCloseMsgVisibility
{
get { return outputVolProPowerCloseMsgVisibility; }
set { outputVolProPowerCloseMsgVisibility = value; this.DoNotify(); }
}
private bool outputVolProPowerCloseBtnIsEnabled;
public bool OutputVolProPowerCloseBtnIsEnabled
{
get { return outputVolProPowerCloseBtnIsEnabled; }
set { outputVolProPowerCloseBtnIsEnabled = value; this.DoNotify(); }
}
private ImageSource outputCurProState;
public ImageSource OutputCurProState
{
get { return outputCurProState; }
set { outputCurProState = value; this.DoNotify(); }
}
private string outputCurProPowerOpenMsg;
public string OutputCurProPowerOpenMsg
{
get { return outputCurProPowerOpenMsg; }
set { outputCurProPowerOpenMsg = value; this.DoNotify(); }
}
private Brush outputCurProPowerOpenMsgForeground;
public Brush OutputCurProPowerOpenMsgForeground
{
get { return outputCurProPowerOpenMsgForeground; }
set { outputCurProPowerOpenMsgForeground = value; this.DoNotify(); }
}
private bool outputCurProPowerOpenMsgVisibility;
public bool OutputCurProPowerOpenMsgVisibility
{
get { return outputCurProPowerOpenMsgVisibility; }
set { outputCurProPowerOpenMsgVisibility = value; this.DoNotify(); }
}
private bool outputCurProPowerOpenBtnIsEnabled;
public bool OutputCurProPowerOpenBtnIsEnabled
{
get { return outputCurProPowerOpenBtnIsEnabled; }
set { outputCurProPowerOpenBtnIsEnabled = value; this.DoNotify(); }
}
private string outputCurProPowerCloseMsg;
public string OutputCurProPowerCloseMsg
{
get { return outputCurProPowerCloseMsg; }
set { outputCurProPowerCloseMsg = value; this.DoNotify(); }
}
private Brush outputCurProPowerCloseMsgForeground;
public Brush OutputCurProPowerCloseMsgForeground
{
get { return outputCurProPowerCloseMsgForeground; }
set { outputCurProPowerCloseMsgForeground = value; this.DoNotify(); }
}
private bool outputCurProPowerCloseMsgVisibility;
public bool OutputCurProPowerCloseMsgVisibility
{
get { return outputCurProPowerCloseMsgVisibility; }
set { outputCurProPowerCloseMsgVisibility = value; this.DoNotify(); }
}
private bool outputCurProPowerCloseBtnIsEnabled;
public bool OutputCurProPowerCloseBtnIsEnabled
{
get { return outputCurProPowerCloseBtnIsEnabled; }
set { outputCurProPowerCloseBtnIsEnabled = value; this.DoNotify(); }
}
public void PowSetting(object o)
{
HandyControl.Controls.Dialog.Show(powSettingView);
}
public void ShoreBaseStationSwitch(object o)
{
string[] msg = o.ToString().Split(',');
int switchNum = msg[1].Equals("True") ? 1 : 0;
switch (msg[0])
{
case "OutputPowerPicker":
if (msg[1].Equals("True")) //打开
{
}
else
{
}
break;
case "OutputVolProPowerPicker":
if (msg[1].Equals("True")) //打开
{
}
else
{
}
break;
case "OutputCurProPowerPicker":
if (msg[1].Equals("True")) //打开
{
}
else
{
}
break;
}
}
#endregion
}
}