20230724_MBJC_upperpc/ViewModels/MainViewModel.cs
2024-02-27 17:21:02 +08:00

560 lines
32 KiB
C#

using _20230724_MBJC_upperpc.Common;
using _20230724_MBJC_upperpc.DataAccess;
using _20230724_MBJC_upperpc.Models;
using _20230724_MBJC_upperpc.Views;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Runtime.Intrinsics.X86;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace _20230724_MBJC_upperpc.ViewModels
{
public class MainViewModel : NotifyBase
{
#region
/// <summary>
/// 主界面标签切换事件
/// </summary>
public CommandBase NavChangedCommand { get; set; }
string Title_Name = ""; //设置当前显示的标题 1 浮标 2 接驳盒 3 系统控制 4 日志记录
string CurrentPage = "";//当前页面 特质8个点位页面的信息
#endregion
private FrameworkElement _pageContent;
public FrameworkElement PageContent
{
get { return _pageContent; }
set { _pageContent = value; this.DoNotify(); }
}
#region
private BeaconViewModel beacon1 = new BeaconViewModel();
public BeaconViewModel Beacon1
{
get { return beacon1; }
set { beacon1 = value; this.DoNotify(); }
}
private BeaconViewModel beacon2 = new BeaconViewModel();
public BeaconViewModel Beacon2
{
get { return beacon2; }
set { beacon2 = value; this.DoNotify(); }
}
private BeaconViewModel beacon3 = new BeaconViewModel();
public BeaconViewModel Beacon3
{
get { return beacon3; }
set { beacon3 = value; this.DoNotify(); }
}
private BeaconViewModel beacon4 = new BeaconViewModel();
public BeaconViewModel Beacon4
{
get { return beacon4; }
set { beacon4 = value; this.DoNotify(); }
}
private BeaconViewModel beacon5 = new BeaconViewModel();
public BeaconViewModel Beacon5
{
get { return beacon5; }
set { beacon5 = value; this.DoNotify(); }
}
private BeaconViewModel beacon6 = new BeaconViewModel();
public BeaconViewModel Beacon6
{
get { return beacon6; }
set { beacon6 = value; this.DoNotify(); }
}
private BeaconViewModel beacon7 = new BeaconViewModel() { Model_Visibility = 2 };
public BeaconViewModel Beacon7
{
get { return beacon7; }
set { beacon7 = value; this.DoNotify(); }
}
private BeaconViewModel beacon8 = new BeaconViewModel() { Model_Visibility = 2 };
public BeaconViewModel Beacon8
{
get { return beacon8; }
set { beacon8 = value; this.DoNotify(); }
}
#endregion
private ClientModel client = new ClientModel();
/// <summary>
/// 连接基阵上位机软件的客户端
/// </summary>
public ClientModel Client
{
get { return client; }
set { client = value; this.DoNotify(); }
}
/// <summary>
/// 连接基阵上位机软件客户端的ip和端口号
/// </summary>
public SocketInfo socketInfo = new SocketInfo()
{
IP = tools.GetAppSetting("BasicIP"),
Port = int.Parse(tools.GetAppSetting("BasicPort")),
};
//基阵客户端连接和断开的操作
public CommandBase ConnectCommand { get; set; }
public MainViewModel()
{
//进行与基阵上位机软件连接
Client.DoConnect(socketInfo);
this.NavChangedCommand = new CommandBase();
this.NavChangedCommand.DoExcute = new Action<object>(DoNavChanged);
this.NavChangedCommand.DoCanExcute = new Func<object, bool>((o) => true);
this.ConnectCommand = new CommandBase();
this.ConnectCommand.DoExcute = new Action<object>(DoConnect);
this.ConnectCommand.DoCanExcute = new Func<object, bool>((o) => { return true; });
DoNavChanged("FirstPageView");
#region
string sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon1")));
MySqlDataReader reader = DBHelper.ExecuteReader(sql, 1);
while (reader.Read())
{
Beacon1.Beacon.ID = Convert.ToInt32(reader["StationID"]);
Beacon1.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
Beacon1.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
Beacon1.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
Beacon1.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
Beacon1.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
Beacon1.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
Beacon1.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
Beacon1.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
Beacon1.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
Beacon1.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
Beacon1.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
Beacon1.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
Beacon1.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
Beacon1.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
Beacon1.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
Beacon1.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
Beacon1.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
Beacon1.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
Beacon1.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
Beacon1.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
Beacon1.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
Beacon1.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
Beacon1.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
Beacon1.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
}
reader.Dispose();
Beacon1.DoFresh();
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon2")));
reader = DBHelper.ExecuteReader(sql, 1);
while (reader.Read())
{
Beacon2.Beacon.ID = Convert.ToInt32(reader["StationID"]);
Beacon2.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
Beacon2.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
Beacon2.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
Beacon2.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
Beacon2.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
Beacon2.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
Beacon2.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
Beacon2.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
Beacon2.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
Beacon2.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
Beacon2.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
Beacon2.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
Beacon2.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
Beacon2.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
Beacon2.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
Beacon2.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
Beacon2.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
Beacon2.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
Beacon2.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
Beacon2.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
Beacon2.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
Beacon2.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
Beacon2.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
Beacon2.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
}
reader.Dispose();
Beacon2.DoFresh();
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon3")));
reader = DBHelper.ExecuteReader(sql, 1);
while (reader.Read())
{
Beacon3.Beacon.ID = Convert.ToInt32(reader["StationID"]);
Beacon3.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
Beacon3.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
Beacon3.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
Beacon3.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
Beacon3.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
Beacon3.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
Beacon3.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
Beacon3.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
Beacon3.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
Beacon3.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
Beacon3.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
Beacon3.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
Beacon3.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
Beacon3.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
Beacon3.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
Beacon3.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
Beacon3.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
Beacon3.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
Beacon3.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
Beacon3.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
Beacon3.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
Beacon3.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
Beacon3.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
Beacon3.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
}
reader.Dispose();
Beacon3.DoFresh();
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon4")));
reader = DBHelper.ExecuteReader(sql, 1);
while (reader.Read())
{
Beacon4.Beacon.ID = Convert.ToInt32(reader["StationID"]);
Beacon4.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
Beacon4.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
Beacon4.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
Beacon4.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
Beacon4.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
Beacon4.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
Beacon4.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
Beacon4.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
Beacon4.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
Beacon4.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
Beacon4.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
Beacon4.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
Beacon4.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
Beacon4.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
Beacon4.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
Beacon4.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
Beacon4.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
Beacon4.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
Beacon4.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
Beacon4.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
Beacon4.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
Beacon4.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
Beacon4.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
Beacon4.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
}
reader.Dispose();
Beacon4.DoFresh();
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon5")));
reader = DBHelper.ExecuteReader(sql, 1);
while (reader.Read())
{
Beacon5.Beacon.ID = Convert.ToInt32(reader["StationID"]);
Beacon5.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
Beacon5.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
Beacon5.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
Beacon5.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
Beacon5.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
Beacon5.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
Beacon5.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
Beacon5.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
Beacon5.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
Beacon5.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
Beacon5.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
Beacon5.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
Beacon5.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
Beacon5.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
Beacon5.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
Beacon5.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
Beacon5.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
Beacon5.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
Beacon5.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
Beacon5.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
Beacon5.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
Beacon5.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
Beacon5.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
Beacon5.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
}
reader.Dispose();
Beacon5.DoFresh();
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon6")));
reader = DBHelper.ExecuteReader(sql, 1);
while (reader.Read())
{
Beacon6.Beacon.ID = Convert.ToInt32(reader["StationID"]);
Beacon6.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
Beacon6.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
Beacon6.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
Beacon6.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
Beacon6.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
Beacon6.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
Beacon6.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
Beacon6.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
Beacon6.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
Beacon6.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
Beacon6.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
Beacon6.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
Beacon6.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
Beacon6.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
Beacon6.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
Beacon6.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
Beacon6.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
Beacon6.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
Beacon6.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
Beacon6.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
Beacon6.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
Beacon6.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
Beacon6.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
Beacon6.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
}
reader.Dispose();
Beacon6.DoFresh();
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon7")));
reader = DBHelper.ExecuteReader(sql, 1);
while (reader.Read())
{
Beacon7.Beacon.ID = Convert.ToInt32(reader["StationID"]);
Beacon7.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
Beacon7.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
Beacon7.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
Beacon7.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
Beacon7.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
Beacon7.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
Beacon7.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
Beacon7.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
Beacon7.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
Beacon7.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
Beacon7.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
Beacon7.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
Beacon7.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
Beacon7.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
Beacon7.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
Beacon7.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
Beacon7.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
Beacon7.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
Beacon7.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
Beacon7.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
Beacon7.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
Beacon7.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
Beacon7.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
Beacon7.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
}
reader.Dispose();
Beacon7.DoFresh();
sql = string.Format("select * from beaconmodel where StationID = {0} ORDER by id desc limit 1", int.Parse(tools.GetAppSetting("Beacon8")));
reader = DBHelper.ExecuteReader(sql, 1);
while (reader.Read())
{
Beacon8.Beacon.ID = Convert.ToInt32(reader["StationID"]);
Beacon8.Beacon.Datetime = Convert.ToDateTime(reader["Datetime"]);
Beacon8.Beacon.Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]);
Beacon8.Beacon.Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]);
Beacon8.Beacon.Position_Distance = Convert.ToSingle(reader["Position_Distance"]);
Beacon8.Beacon.Propagationtime = Convert.ToSingle(reader["Propagationtime"]);
Beacon8.Beacon.BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]);
Beacon8.Beacon.BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]);
Beacon8.Beacon.BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]);
Beacon8.Beacon.BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]);
Beacon8.Beacon.BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]);
Beacon8.Beacon.BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]);
Beacon8.Beacon.BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]);
Beacon8.Beacon.BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]);
Beacon8.Beacon.BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]);
Beacon8.Beacon.BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]);
Beacon8.Beacon.BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]);
Beacon8.Beacon.BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]);
Beacon8.Beacon.Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]);
Beacon8.Beacon.Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]);
Beacon8.Beacon.Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]);
Beacon8.Beacon.Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]);
Beacon8.Beacon.Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]);
Beacon8.Beacon.Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]);
Beacon8.Beacon.Temp = Convert.ToSingle(reader["Temp"]);
}
reader.Dispose();
Beacon8.DoFresh();
#endregion
}
public void DoNavChanged(object obj)
{
//如果重复点击 就禁止切换
if ((string)obj == "FirstPageView" || (string)obj == "BuoyPlatformView")
{
if (Title_Name == (string)obj)
return;
Title_Name = (string)obj;
}
else if (((string)obj).StartsWith("Point") || ((string)obj).StartsWith("Benchmark"))
{
if (Title_Name == "AnchorPointView" && CurrentPage == (string)obj)
return;
Title_Name = "AnchorPointView";
CurrentPage = (string)obj;
}
else
{
return;
}
//切换页面之前清理一下内存
tools.ClearMemory(this);
////首先提示加载界面
//Type type = Type.GetType("_20230724_MBJC_upperpc.Views.ProgressView");
//ConstructorInfo cti = type.GetConstructor(System.Type.EmptyTypes);
//FrameworkElement page = (FrameworkElement)cti.Invoke(null);
//this.PageContent = page;
Type type = Type.GetType("_20230724_MBJC_upperpc.Views." + Title_Name);
ConstructorInfo cti = type.GetConstructor(System.Type.EmptyTypes);
FrameworkElement page = (FrameworkElement)cti.Invoke(null);
switch (obj.ToString())
{
case "Point1":
page.DataContext = Beacon1;
break;
case "Point2":
page.DataContext = Beacon2;
break;
case "Point3":
page.DataContext = Beacon3;
break;
case "Point4":
page.DataContext = Beacon4;
break;
case "Point5":
page.DataContext = Beacon5;
break;
case "Point6":
page.DataContext = Beacon6;
break;
case "Benchmark1":
page.DataContext = Beacon7;
break;
case "Benchmark2":
page.DataContext = Beacon8;
break;
default: break;
}
this.PageContent = page;
}
public void DoConnect(object o)
{
if ((bool)o)
{
Client = new ClientModel();
Client.DoConnect(socketInfo);
}
else
{
Client.DisConnect();
}
}
/// <summary>
/// 查找历史数据
/// </summary>
/// <param name="StartTime"></param>
/// <param name="EndTime"></param>
/// <param name="StationID"></param>
public void SearchHisData(DateTime StartTime, DateTime EndTime, int StationID)
{
string sql = string.Format("SELECT * FROM beaconmodel WHERE RecordTime >= '{0}' AND Datetime <= '{1}' AND StationID = {2}", StartTime, EndTime, StationID);
using (MySqlDataReader reader = DBHelper.ExecuteReader(sql, 1))
{
while (reader.Read())
{
BeaconModel beacon = new BeaconModel()
{
ID = Convert.ToInt32(reader["StationID"]),
Datetime = Convert.ToDateTime(reader["Datetime"]),
Ralative_Heading_Angle = Convert.ToSingle(reader["Ralative_Heading_Angle"]),
Ralative_Pitch_Angle = Convert.ToSingle(reader["Ralative_Pitch_Angle"]),
Position_Distance = Convert.ToSingle(reader["Position_Distance"]),
Propagationtime = Convert.ToSingle(reader["Propagationtime"]),
BasicSite_JD = Convert.ToSingle(reader["BasicSite_JD"]),
BasicSite_WD = Convert.ToSingle(reader["BasicSite_WD"]),
BasicSite_Depth = Convert.ToSingle(reader["BasicSite_Depth"]),
BasicSite_Heading_Angle = Convert.ToSingle(reader["BasicSite_Heading_Angle"]),
BasicSite_Pitch_Angle = Convert.ToSingle(reader["BasicSite_Pitch_Angle"]),
BasicSite_Roll_Angle = Convert.ToSingle(reader["BasicSite_Roll_Angle"]),
BasicSite_Heading_Speed = Convert.ToSingle(reader["BasicSite_Heading_Speed"]),
BasicSite_Pitch_Speed = Convert.ToSingle(reader["BasicSite_Pitch_Speed"]),
BasicSite_Roll_Speed = Convert.ToSingle(reader["BasicSite_Roll_Speed"]),
BasicSite_Forword_A = Convert.ToSingle(reader["BasicSite_Forword_A"]),
BasicSite_Right_A = Convert.ToSingle(reader["BasicSite_Right_A"]),
BasicSite_Sky_A = Convert.ToSingle(reader["BasicSite_Sky_A"]),
Beacon_JD = Convert.ToSingle(reader["Beacon_JD"]),
Beacon_WD = Convert.ToSingle(reader["Beacon_WD"]),
Beacon_Depth = Convert.ToSingle(reader["Beacon_Depth"]),
Beacon_Roll_Angle = Convert.ToSingle(reader["Beacon_Roll_Angle"]),
Beacon_Pitch_Angle = Convert.ToSingle(reader["Beacon_Pitch_Angle"]),
Beacon_Heading_Angle = Convert.ToSingle(reader["Beacon_Heading_Angle"]),
Temp = Convert.ToSingle(reader["Temp"])
};
if (StationID == int.Parse(tools.GetAppSetting("Beacon1")))
{
Beacon1.BeaconList.Add(beacon);
}
else if (StationID == int.Parse(tools.GetAppSetting("Beacon2")))
{
Beacon2.BeaconList.Add(beacon);
}
else if (StationID == int.Parse(tools.GetAppSetting("Beacon3")))
{
Beacon3.BeaconList.Add(beacon);
}
else if (StationID == int.Parse(tools.GetAppSetting("Beacon4")))
{
Beacon4.BeaconList.Add(beacon);
}
else if (StationID == int.Parse(tools.GetAppSetting("Beacon5")))
{
Beacon5.BeaconList.Add(beacon);
}
else if (StationID == int.Parse(tools.GetAppSetting("Beacon6")))
{
Beacon6.BeaconList.Add(beacon);
}
else if (StationID == int.Parse(tools.GetAppSetting("Beacon7")))
{
Beacon7.BeaconList.Add(beacon);
}
else if (StationID == int.Parse(tools.GetAppSetting("Beacon8")))
{
Beacon8.BeaconList.Add(beacon);
}
}
}
}
}
}