using System;
using System.Collections.Generic;
namespace Shared.SimpleControl.Phone
{
///
/// 后台中间界面
///
public class SystemMiddle : FrameLayout
{
///
/// 记录当前选择的网关是哪个,在搜索设备的时候做记录
///
public static string curGatewayMAC = "";
public static string curGatewayIP = "";
///
/// 中间界面
///
public VerticalScrolViewLayout VerticalScrolViewMiddle = new VerticalScrolViewLayout () {
Height = Application.GetRealHeight (846+90- UserMiddle.userMenuItemHeight),
BackgroundColor = SkinStyle.Current.ViewColor
};
///
/// 底部
///
Button AddSystemEquipmentButton = new Button () {
Height = Application.GetRealHeight (90),
TextID = R.MyInternationalizationString.AddSystemEquipment,
TextAlignment = TextAlignment.Center,
TextColor = SkinStyle.Current.TextColor1,
BackgroundColor = SkinStyle.Current.MainColor
};
///
/// 初始化当前视图
///
public void Init ()
{
RemoveAll ();
VerticalScrolViewMiddle.BackgroundColor = SkinStyle.Current.ViewColor;
AddChidren (VerticalScrolViewMiddle);
ShowGateWayView ();
}
///
/// 底部的按键,搜索网关
///
void InitBottomButton ()
{
var bottomView = new FrameLayout () {
Y = Application.GetRealHeight (846 + 90 - UserMiddle.userMenuItemHeight),
Height = Application.GetRealHeight (UserMiddle.userMenuItemHeight + 3),
BackgroundColor = SkinStyle.Current.MainColor,
};
AddChidren (bottomView);
bottomView.AddChidren (AddSystemEquipmentButton);
AddSystemEquipmentButton.MouseUpEventHandler += (sender, e) => {
MainPage.Loading.Start ();
AddSystemEquipmentButton.Enable = false;
new System.Threading.Thread (() => {
try {
#region 搜索设备
CommonPage.LocalPhoneFindDevice = true;
CommonPage.RandomHigh = (byte)new Random ().Next (255);
CommonPage.RandomLow = (byte)new Random ().Next (255);
CommonPage.GateWayList.Clear ();
CommonPage.FindGateway = true;
//如果两次都没有数据反馈,就不读取
int readCount = 2;
while (0 < readCount) {
readCount--;
System.IO.MemoryStream ms = new System.IO.MemoryStream ();
ms.WriteByte (CommonPage.RandomHigh);
ms.WriteByte (CommonPage.RandomLow);
List list = CommonPage.GateWayList;
int tempCount = list.Count;
string s = ";";
for (int i = 0; i < list.Count; i++) {
Common common = list [i];
if (s.Contains (";" + common.SubnetID.ToString () + ":" + common.DeviceID.ToString ()))
continue;
s += common.SubnetID.ToString () + ":" + common.DeviceID.ToString () + ";";
ms.WriteByte (common.SubnetID);
ms.WriteByte (common.DeviceID);
}
Console.WriteLine ("搜索网关,搜索地址是:" + CommonPage.EndPoint.ToString () + " " + CommonPage.GateWayList.Count);
Control control = new Control ();
control.Send (new Target () {
IPEndPoint = CommonPage.EndPoint,
Command = Command.ReadGateway,
SubnetID = 0xFF,
DeviceID = 0xFF,
AddData = ms.ToArray ()
}, SendCount.Zero, false);
control.Send (new Target () {
IPEndPoint = new System.Net.IPEndPoint (new Net.NetWiFi ().BroadcastIpAddress, 6000),
Command = Command.ReadGateway,
SubnetID = 0xFF,
DeviceID = 0xFF,
AddData = ms.ToArray ()
}, SendCount.Zero, false);
System.Threading.Thread.Sleep (800);
//如果数量不相等,就重置次数
if (tempCount != CommonPage.GateWayList.Count) {
readCount = 2;
}
}
CommonPage.FindGateway = false;
if (CommonPage.GateWayList.Count > 0) {
bool inLAN = false;
if (CommonPage.GateWayList.Find ((obj) => UserConfig.Instance.GatewayMAC == obj.MAC.Replace (".", "")) != null) {
inLAN = true;
}
if (inLAN) {
foreach (var gateway in CommonPage.GateWayList) {
IO.FileUtils.SaveEquipmentMessage (gateway);
}
} else if (MainPage.LoginUser.AccountString == "464027401@qq.com") {
foreach (var gateway in CommonPage.GateWayList) {
IO.FileUtils.SaveEquipmentMessage (gateway);
}
} else {
Application.RunOnMainThread (() => {
new Alert (Language.StringByID (R.MyInternationalizationString.Tip),
Language.StringByID (R.MyInternationalizationString.TipHasNotInListMAC),
Language.StringByID (R.MyInternationalizationString.confirm)).Show ();
});
}
}
CommonPage.LocalPhoneFindDevice = false;
#endregion
Application.RunOnMainThread (() => {
ShowGateWayView ();
});
} catch (Exception ex) {
Console.WriteLine (ex.ToString ());
} finally {
System.Threading.Thread.Sleep (5000);
Application.RunOnMainThread (() => {
MainPage.Loading.Hide ();
AddSystemEquipmentButton.Enable = true;
});
}
}) { IsBackground = true }.Start ();
};
}
///
/// 显示出已经查找到的网关设备
///
public void ShowGateWayView ()
{
VerticalScrolViewMiddle.RemoveAll ();
AddChidren (AddSystemEquipmentButton);
VerticalScrolViewMiddle.Height = Application.GetRealHeight (846);
InitBottomButton ();
bool firstInitWireless = true;
bool firstInitMusic = true;
bool firstInitOnePortBus = true;
bool firstInitOfflintOnePortBus = true;
bool firstInitRCU = true;
try {
List filesList = IO.FileUtils.ReadFiles ().FindAll ((obj) => obj.Split ('_').Length == 4 && obj.Split ('_') [0] == "Equipment");
foreach (var f in filesList) {
string [] str = f.Split ('_');
if (str.Length == 4 && str [0] == "Equipment") {
var one = System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (f));
var commGateway = Newtonsoft.Json.JsonConvert.DeserializeObject (one);
if (commGateway == null) {
continue;
}
// buspro上传的数据
if (commGateway.obj1 == 1 && (str [1].ToString () == DeviceType.OnePortWirelessFR.ToString () || str [1].ToString () == DeviceType.SuperWireless.ToString () || str [1].ToString () == DeviceType.OnePortBus.ToString ())) {
if (firstInitOfflintOnePortBus) {
FrameLayout OnePortWirelessFRFrameLayout = new FrameLayout () {
Height = Application.GetRealHeight (98),
Width = LayoutParams.MatchParent,
BackgroundColor = SkinStyle.Current.TitileView,
};
VerticalScrolViewMiddle.AddChidren (OnePortWirelessFRFrameLayout);//如果有无线网关才把顶栏加上
firstInitOfflintOnePortBus = false;
Button btnIcon = new Button () {
X = Application.GetRealWidth (15),
Height = Application.GetRealHeight (66),
Width = Application.GetRealWidth (66),
UnSelectedImagePath = "Item/Wireless.png",
SelectedImagePath = "Item/WirelessSelected.png",
Gravity = Gravity.CenterVertical,
};
OnePortWirelessFRFrameLayout.AddChidren (btnIcon);
Button btnGatewayName = new Button () {
X = btnIcon.Right,
Height = Application.GetRealHeight (41),
Width = Application.GetRealWidth (400),
TextID = R.MyInternationalizationString.OfflineDevice,
Gravity = Gravity.CenterVertical,
TextAlignment = TextAlignment.CenterLeft,
TextColor = SkinStyle.Current.TextColor1,
};
OnePortWirelessFRFrameLayout.AddChidren (btnGatewayName);
}
RowLayout wirelessView = new RowLayout () {
Height = Application.GetRealHeight (93),
BackgroundColor = SkinStyle.Current.ViewColor,
};
VerticalScrolViewMiddle.AddChidren (wirelessView);
//2020-03-14 取消跳转一键配置页面
//AddWirelessGateway (commGateway, (sender, e) => {
// GotoSystemMqttGatewaySetting (commGateway);
//}, wirelessView);
//AddWirelessGateway (commGateway, null, wirelessView);
} else if (str [1].ToString () == DeviceType.OnePortWirelessFR.ToString () || str [1].ToString () == DeviceType.SuperWireless.ToString ()) {
var onePortWirelessFR = Newtonsoft.Json.JsonConvert.DeserializeObject (one);
if (onePortWirelessFR == null) {
continue;
}
if (firstInitWireless) {
FrameLayout OnePortWirelessFRFrameLayout = new FrameLayout () {
Height = Application.GetRealHeight (98),
Width = LayoutParams.MatchParent,
BackgroundColor = SkinStyle.Current.MainColor,
};
VerticalScrolViewMiddle.AddChidren (OnePortWirelessFRFrameLayout);
firstInitWireless = false;
Button btnIcon = new Button () {
X = Application.GetRealWidth (15),
Height = Application.GetRealHeight (66),
Width = Application.GetRealWidth (66),
UnSelectedImagePath = "Item/Wireless.png",
SelectedImagePath = "Item/WirelessSelected.png",
Gravity = Gravity.CenterVertical,
};
OnePortWirelessFRFrameLayout.AddChidren (btnIcon);
Button btnGatewayName = new Button () {
X = btnIcon.Right,
Height = Application.GetRealHeight (41),
Width = Application.GetRealWidth (400),
TextID = R.MyInternationalizationString.WirelessGateWay,
Gravity = Gravity.CenterVertical,
TextAlignment = TextAlignment.CenterLeft,
TextColor = SkinStyle.Current.TextColor1,
};
OnePortWirelessFRFrameLayout.AddChidren (btnGatewayName);
}
RowLayout wirelessView = new RowLayout () {
Height = Application.GetRealHeight (93),
BackgroundColor = SkinStyle.Current.ViewColor,
};
VerticalScrolViewMiddle.AddChidren (wirelessView);
AddWirelessGateway (onePortWirelessFR, (sender, e) => {
//new SystemWirelessGateway ().ShowWirelessGateway (onePortWirelessFR);
var sysOneBus = new SystemWirelessGateway ();
SystemHomePage.sysMiddleGatewayPageView.AddChidren (sysOneBus);
sysOneBus.ShowWirelessGateway (onePortWirelessFR);
SystemHomePage.sysMiddleGatewayPageView.PageIndex = SystemHomePage.sysMiddleGatewayPageView.ChildrenCount - 1;
}, wirelessView);
} else if (str [1].ToString () == DeviceType.OnePortBus.ToString ()) {
var onePortBus = Newtonsoft.Json.JsonConvert.DeserializeObject (one);
if (onePortBus == null) {
continue;
}
if (firstInitOnePortBus) {
FrameLayout OnePortBusFrameLayout = new FrameLayout () {
Height = Application.GetRealHeight (98),
BackgroundColor = SkinStyle.Current.MainColor,
};
VerticalScrolViewMiddle.AddChidren (OnePortBusFrameLayout);
firstInitOnePortBus = false;
Button button1 = new Button () {
X = Application.GetRealWidth (15),
Height = Application.GetRealHeight (66),
Width = Application.GetRealWidth (66),
UnSelectedImagePath = "Item/OnePort.png",
SelectedImagePath = "Item/OnePortSelected.png",
Gravity = Gravity.CenterVertical,
};
OnePortBusFrameLayout.AddChidren (button1);
Button textButton1 = new Button () {
X = button1.Right,
Height = Application.GetRealHeight (41),
Width = Application.GetRealWidth (400),
TextID = R.MyInternationalizationString.CableGateWay,
Gravity = Gravity.CenterVertical,
TextAlignment = TextAlignment.CenterLeft,
TextColor = SkinStyle.Current.TextColor1,
};
OnePortBusFrameLayout.AddChidren (textButton1);
}
RowLayout wirelessView = new RowLayout () {
Height = Application.GetRealHeight (93),
BackgroundColor = SkinStyle.Current.ViewColor,
};
VerticalScrolViewMiddle.AddChidren (wirelessView);
AddWirelessGateway (onePortBus, (sender, e) => {
var sysOneBus = new SystemOnePortBus ();
SystemHomePage.sysMiddleGatewayPageView.AddChidren (sysOneBus);
sysOneBus.ShowOnePortBus (onePortBus);
SystemHomePage.sysMiddleGatewayPageView.PageIndex = SystemHomePage.sysMiddleGatewayPageView.ChildrenCount - 1;
}, wirelessView);
} else if (str [1].ToString () == DeviceType.RCU.ToString ()) {
var RCU_Devcie = Newtonsoft.Json.JsonConvert.DeserializeObject (one);
if (RCU_Devcie == null) {
continue;
}
if (!RCU_Devcie.LinkNetworkLine) {
continue;
}
if (firstInitRCU) {
FrameLayout OnePortBusFrameLayout = new FrameLayout () {
Height = Application.GetRealHeight (98),
BackgroundColor = SkinStyle.Current.MainColor,
};
VerticalScrolViewMiddle.AddChidren (OnePortBusFrameLayout);
firstInitRCU = false;
Button button1 = new Button () {
X = Application.GetRealWidth (15),
Height = Application.GetRealHeight (66),
Width = Application.GetRealWidth (66),
UnSelectedImagePath = "Item/OnePort.png",
SelectedImagePath = "Item/OnePortSelected.png",
Gravity = Gravity.CenterVertical,
};
OnePortBusFrameLayout.AddChidren (button1);
Button textButton1 = new Button () {
X = button1.Right,
Height = Application.GetRealHeight (41),
Width = Application.GetRealWidth (400),
Text = "RCU",
Gravity = Gravity.CenterVertical,
TextAlignment = TextAlignment.CenterLeft,
TextColor = SkinStyle.Current.TextColor1,
};
OnePortBusFrameLayout.AddChidren (textButton1);
}
RowLayout wirelessView = new RowLayout () {
Height = Application.GetRealHeight (93),
BackgroundColor = SkinStyle.Current.ViewColor,
};
VerticalScrolViewMiddle.AddChidren (wirelessView);
AddWirelessGateway (RCU_Devcie, (sender, e) => {
//new SystemRCU ().ShowRCU (RCU_Devcie);
var sysOneBus = new SystemRCU ();
SystemHomePage.sysMiddleGatewayPageView.AddChidren (sysOneBus);
sysOneBus.ShowRCU (RCU_Devcie);
SystemHomePage.sysMiddleGatewayPageView.PageIndex = SystemHomePage.sysMiddleGatewayPageView.ChildrenCount - 1;
}, wirelessView);
} else if (str [1].ToString () == DeviceType.MusicModel.ToString () || str [1].ToString () == DeviceType.MusicA31.ToString ()) {
var musicModel = Newtonsoft.Json.JsonConvert.DeserializeObject (one);
if (musicModel == null) {
continue;
}
if (firstInitMusic) {
FrameLayout MusicTitleView = new FrameLayout () {
Height = Application.GetRealHeight (98),
Width = LayoutParams.MatchParent,
BackgroundColor = SkinStyle.Current.MainColor,
};
VerticalScrolViewMiddle.AddChidren (MusicTitleView);//如果有无线网关才把顶栏加上
firstInitMusic = false;
Button btnIcon = new Button () {
X = Application.GetRealWidth (15),
Height = Application.GetRealHeight (66),
Width = Application.GetRealWidth (66),
UnSelectedImagePath = "Item/Music.png",
SelectedImagePath = "Item/Music.png",
Gravity = Gravity.CenterVertical,
};
MusicTitleView.AddChidren (btnIcon);
Button btnGatewayName = new Button () {
X = btnIcon.Right,
Height = Application.GetRealHeight (41),
Width = Application.GetRealWidth (400),
TextID = R.MyInternationalizationString.MusicModel,
Gravity = Gravity.CenterVertical,
TextAlignment = TextAlignment.CenterLeft,
TextColor = SkinStyle.Current.TextColor1,
};
MusicTitleView.AddChidren (btnGatewayName);
}
RowLayout rlMusicModel = new RowLayout () {
Height = Application.GetRealHeight (98),
Width = LayoutParams.MatchParent,
BackgroundColor = SkinStyle.Current.ViewColor,
};
VerticalScrolViewMiddle.AddChidren (rlMusicModel);
AddWirelessGateway (musicModel, (sender, e) => {
//new SystemRCU ().ShowRCU (RCU_Devcie);
var sysMusic = new SystemMusicModel ();
SystemHomePage.sysMiddleGatewayPageView.AddChidren (sysMusic);
sysMusic.ShowMusicModel (musicModel);
SystemHomePage.sysMiddleGatewayPageView.PageIndex = SystemHomePage.sysMiddleGatewayPageView.ChildrenCount - 1;
}, rlMusicModel);
}
}
Application.RunOnMainThread (() => {
MainPage.Loading.Hide ();
});
}
//InitBottomButton ();
} catch (Exception ex) {
Console.WriteLine (ex.ToString ());
}
}
///
/// 显示网关
///
void AddWirelessGateway (Common common, EventHandler eHandler, RowLayout wirelessView)
{
int subnetID = common.SubnetID;
string remark = common.Name;
Button btnDelFile = new Button () {
TextID = R.MyInternationalizationString.Del,
BackgroundColor = SkinStyle.Current.DelColor,
};
btnDelFile.MouseUpEventHandler += (sender, e) => {
Alert alert = new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipDeleteEquipmentMessage)
, Language.StringByID (R.MyInternationalizationString.Cancel), Language.StringByID (R.MyInternationalizationString.Confrim));
alert.Show ();
alert.ResultEventHandler += ( sender1, e1) => {
if (e1) {
var delFile = IO.FileUtils.ReadFiles ().FindAll ((w) => {
return (w.Split ('_') [0] == "Equipment") && (w.Split ('_') [2] == subnetID.ToString ());
});
for (int k = 0; k < delFile.Count; k++) {
IO.FileUtils.DeleteFile (delFile [k]);
}
ShowGateWayView ();
}
};
};
wirelessView.AddRightView (btnDelFile);
Button pointButton1 = new Button () {
Width = Application.GetRealHeight (13),
Height = Application.GetRealHeight (13),
X = Application.GetRealWidth (80),
UnSelectedImagePath = "Item/Point.png",
SelectedImagePath = "Item/PointSelected.png",
Gravity = Gravity.CenterVertical,
};
wirelessView.AddChidren (pointButton1);
Button nameButton1 = new Button () {
Width = Application.GetRealWidth (342),
Height = LayoutParams.MatchParent,
Text = remark,
TextAlignment = TextAlignment.CenterLeft,
X = pointButton1.Right + Application.GetRealWidth (20),
TextColor = SkinStyle.Current.TextColor1
};
wirelessView.AddChidren (nameButton1);
Button rightButton1 = new Button () {
X = Application.GetRealWidth (550),
Width = Application.GetRealWidth (28),
Height = Application.GetRealHeight (40),
Gravity = Gravity.CenterVertical,
UnSelectedImagePath = "Item/Right.png",
SelectedImagePath = "Item/RightSelected.png",
};
wirelessView.AddChidren (rightButton1);
rightButton1.MouseUpEventHandler += eHandler;
wirelessView.MouseUpEventHandler += eHandler;
nameButton1.MouseUpEventHandler += eHandler;
}
///
/// 跳转Mqtt网关配置页面
///
///
void GotoSystemMqttGatewaySetting (Common common) {
//if (common.Type == DeviceType.OnePortMqttFR || common.Type == DeviceType.OnePortBusMqtt) {
SystemMqttGatewaySetting mSystemMqttGatewaySetting = new SystemMqttGatewaySetting ();
UserMiddle.SettingPageView.AddChidren (mSystemMqttGatewaySetting);
mSystemMqttGatewaySetting.ShowView (common);
UserMiddle.SettingPageView.PageIndex = UserMiddle.SettingPageView.ChildrenCount - 1;
//} else {
//}
}
}
public class SysMiddle : FrameLayout
{
///
/// 中间界面
///
public VerticalScrolViewLayout VerticalScrolViewMiddle = new VerticalScrolViewLayout () {
Height = Application.GetRealHeight (846),
BackgroundColor = SkinStyle.Current.ViewColor
};
public static List hideListCommon = new List ();
public void Init ()
{
RemoveAll ();
VerticalScrolViewMiddle.BackgroundColor = SkinStyle.Current.ViewColor;
AddChidren (VerticalScrolViewMiddle);
ShowEquipmentBase ();
}
///
/// 显示设备列表信息.
///
void ShowEquipmentBase ()
{
VerticalScrolViewMiddle.RemoveAll ();
VerticalScrolViewMiddle.Height = Application.GetRealHeight (846 + 90);
hideListCommon = new List ();
List localFileList = IO.FileUtils.ReadFiles ();
List offlineDeviceList = new List ();
var gateWayListZ = localFileList.FindAll ((obj) => {
return obj.Split ('_').Length == 4 && obj.StartsWith ("Equipment_") ;
});
var gateWayList = gateWayListZ.FindAll ((obj) => {
return obj.Split ('_') [1].ToString () == DeviceType.OnePortBus.ToString () ||
obj.Split ('_') [1].ToString () == DeviceType.RCU.ToString () ||
obj.Split ('_') [1].ToString () == DeviceType.OnePortWirelessFR.ToString ();
});
foreach (var offline in localFileList) {
if (offline.Split ('_').Length == 5 && offline.Split ('_') [0] == "Equipment") {
var ss = IO.FileUtils.ReadFile (offline);
Common commonOffline = Newtonsoft.Json.JsonConvert.DeserializeObject (CommonPage.MyEncodingUTF8.GetString (IO.FileUtils.ReadFile (offline)));
if (commonOffline == null)
continue;
if (commonOffline.obj1 == 1) {
offlineDeviceList.Add (offline);
}
}
}
foreach (var gatewayFileName in gateWayList) {
if (offlineDeviceList.Contains (gatewayFileName))
continue;
var tempStrings = gatewayFileName.Split ('_');
if (tempStrings [1].ToString () == DeviceType.OnePortBus.ToString () ||
tempStrings [1].ToString () == DeviceType.RCU.ToString () ||
tempStrings [1].ToString () == DeviceType.OnePortWirelessFR.ToString ()) {
var one = System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (gatewayFileName));
if (one.Length == 0) {
IO.FileUtils.DeleteFile (gatewayFileName);
continue;
}
#region titel
FrameLayout OnePortBusFrameLayout = new FrameLayout () {
Height = Application.GetRealHeight (98),
BackgroundColor = SkinStyle.Current.MainColor
};
VerticalScrolViewMiddle.AddChidren (OnePortBusFrameLayout);
Button btnLineTop = new Button () {
Height = 1,
BackgroundColor = 0xFF2f2f2f,
};
VerticalScrolViewMiddle.AddChidren (btnLineTop);
FrameLayout busEquipmentBody = new FrameLayout () {
Height = 0,
Tag = 0,
};
VerticalScrolViewMiddle.AddChidren (busEquipmentBody);
Button button1 = new Button () {
X = Application.GetRealWidth (20),
Height = Application.GetRealHeight (66),
Width = Application.GetRealWidth (66),
UnSelectedImagePath = "Item/OnePort.png",
SelectedImagePath = "Item/OnePortSelected.png",
Gravity = Gravity.CenterVertical,
};
OnePortBusFrameLayout.AddChidren (button1);
Button textButton1 = new Button () {
X = Application.GetRealWidth (20) + button1.Right,
Height = Application.GetRealHeight (41),
Width = Application.GetRealWidth (400),
Gravity = Gravity.CenterVertical,
TextAlignment = TextAlignment.CenterLeft,
TextColor = SkinStyle.Current.TextColor1,
};
OnePortBusFrameLayout.AddChidren (textButton1);
Button downSelectedButton1 = new Button () {
X = Application.GetRealWidth (550),
Height = Application.GetRealHeight (46),
Width = Application.GetRealWidth (47),
UnSelectedImagePath = "Item/Down.png",
SelectedImagePath = "Item/DownSelected.png",
Gravity = Gravity.CenterVertical,
IsSelected = true,
};
OnePortBusFrameLayout.AddChidren (downSelectedButton1);
EventHandler eHandler = (sender, e) => {
downSelectedButton1.IsSelected = !downSelectedButton1.IsSelected;
if (downSelectedButton1.IsSelected) {
busEquipmentBody.Height = Convert.ToInt32 (busEquipmentBody.Tag);
} else {
busEquipmentBody.Height = 0;
}
};
downSelectedButton1.MouseUpEventHandler += eHandler;
button1.MouseUpEventHandler += eHandler;
textButton1.MouseUpEventHandler += eHandler;
#endregion
if (tempStrings [1].ToString () == DeviceType.OnePortWirelessFR.ToString ()) {
var onePortWirelessFR = Newtonsoft.Json.JsonConvert.DeserializeObject (one);
textButton1.Text = onePortWirelessFR.Name;
button1.SelectedImagePath = "Item/WirelessSelected.png";
button1.UnSelectedImagePath = "Item/Wireless.png";
} else if (tempStrings [1].ToString () == DeviceType.OnePortBus.ToString ()) {
var onePortBus = Newtonsoft.Json.JsonConvert.DeserializeObject (one);
textButton1.Text = onePortBus.Name;
button1.SelectedImagePath = "Item/OnePortSelected.png";
button1.UnSelectedImagePath = "Item/OnePort.png";
} else if (tempStrings [1].ToString () == DeviceType.RCU.ToString ()) {
var rcu = Newtonsoft.Json.JsonConvert.DeserializeObject (one);
textButton1.Text = rcu.Name;
button1.SelectedImagePath = "Item/OnePortSelected.png";
button1.UnSelectedImagePath = "Item/OnePort.png";
}
button1.IsSelected = false;
int equipmentHeight = 0;
int count = 0;
foreach (var deviceFile in localFileList) {
if (tempStrings [1].ToString () != DeviceType.RCU.ToString ()) {
if (deviceFile == gatewayFileName
|| deviceFile.Split ('_') [0] != "Equipment"
|| deviceFile.Split ('_').Length != 4) {
continue;
}
} else {
if (deviceFile.Split ('_') [0] != "Equipment" || deviceFile.Split ('_').Length != 4) {
continue;
}
}
if (offlineDeviceList.Contains (deviceFile))
continue;
if (deviceFile.Split ('_') [2] != tempStrings [2]) {
continue;
}
string localFileType = deviceFile.Split ('_') [1];
byte [] equipmentUsefullBytes = IO.FileUtils.ReadFile (deviceFile);
string equipmentString;
Common common = null;
equipmentString = CommonPage.MyEncodingUTF8.GetString (equipmentUsefullBytes);
common = Newtonsoft.Json.JsonConvert.DeserializeObject (equipmentString);
if (common == null) {
continue;
}
if (common.isMixBox) {
hideListCommon.Add (common);
} else {
RowLayout frameLayout = new RowLayout () {
Height = Application.GetRealHeight (93),
};
frameLayout.Y = count++ * frameLayout.Height;
busEquipmentBody.AddChidren (frameLayout);
Button btnDelFile = new Button () {
TextID = R.MyInternationalizationString.Del,
BackgroundColor = SkinStyle.Current.DelColor
};
btnDelFile.MouseUpEventHandler += (sender, e) => {
Alert alert = new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipDeleteEquipmentMessage)
, Language.StringByID (R.MyInternationalizationString.Cancel), Language.StringByID (R.MyInternationalizationString.Confrim));
alert.Show ();
alert.ResultEventHandler += (sender1, e1) => {
if (e1) {
//"_" + deviceFile.Split ('_') [1] +
string delFlag = "_" + deviceFile.Split ('_') [2] + "_" + deviceFile.Split ('_') [3];
var delFile = IO.FileUtils.ReadFiles ().FindAll ((w) => {
return w.Contains (delFlag);
});
for (int i = 0; i < delFile.Count; i++) {
IO.FileUtils.DeleteFile (delFile [i]);
}
ShowEquipmentBase ();
}
};
};
frameLayout.AddRightView (btnDelFile);
busEquipmentBody.Height += Application.GetRealHeight (93);
equipmentHeight += Application.GetRealHeight (93);
busEquipmentBody.Tag = equipmentHeight;
Button pointButton = new Button () {
Width = Application.GetRealHeight (13),
Height = Application.GetRealHeight (13),
X = Application.GetRealWidth (80),
UnSelectedImagePath = "Item/Point.png",
SelectedImagePath = "Item/PointSelected.png",
Gravity = Gravity.CenterVertical,
};
frameLayout.AddChidren (pointButton);
Button btnName = new Button () {
Width = Application.GetRealWidth (642),
Height = LayoutParams.MatchParent,
Text = common.Name,
TextAlignment = TextAlignment.CenterLeft,
X = pointButton.Right + Application.GetRealWidth (20),
TextColor = SkinStyle.Current.TextColor1
};
frameLayout.AddChidren (btnName);
if (common.Type != DeviceType.DeviceCommon) {
Button btnRight = new Button () {
X = Application.GetRealWidth (550),
Width = Application.GetRealWidth (28),
Height = Application.GetRealHeight (40),
Gravity = Gravity.CenterVertical,
UnSelectedImagePath = "Item/Right.png",
SelectedImagePath = "Item/RightSelected.png",
};
frameLayout.AddChidren (btnRight);
EventHandler mouseEvent = (sender, e) => {
//new SystemEquipmentBase ().EquipmentBaseViewShow (common);
var systemEquipmentBase = new SystemEquipmentBase ();
SystemHomePage.sysMiddleDevicePageView.AddChidren (systemEquipmentBase);
systemEquipmentBase.EquipmentBaseViewShow (common);
SystemHomePage.sysMiddleDevicePageView.PageIndex = SystemHomePage.sysMiddleDevicePageView.ChildrenCount - 1;
};
btnRight.MouseUpEventHandler += mouseEvent;
btnName.MouseUpEventHandler += mouseEvent;
frameLayout.MouseUpEventHandler += mouseEvent;
}
}
}
}
}
if (offlineDeviceList.Count != 0) {
#region titel
FrameLayout OnePortBusFrameLayout = new FrameLayout () {
Height = Application.GetRealHeight (98),
BackgroundColor = SkinStyle.Current.MainColor
};
VerticalScrolViewMiddle.AddChidren (OnePortBusFrameLayout);
Button btnLineTop = new Button () {
Height = 1,
BackgroundColor = 0xFF2f2f2f,
};
VerticalScrolViewMiddle.AddChidren (btnLineTop);
FrameLayout busEquipmentBody = new FrameLayout () {
Height = 0,
Tag = 0,
};
VerticalScrolViewMiddle.AddChidren (busEquipmentBody);
Button button1 = new Button () {
X = Application.GetRealWidth (20),
Height = Application.GetRealHeight (66),
Width = Application.GetRealWidth (66),
UnSelectedImagePath = "Item/OnePort.png",
SelectedImagePath = "Item/OnePortSelected.png",
Gravity = Gravity.CenterVertical,
};
OnePortBusFrameLayout.AddChidren (button1);
Button textButton1 = new Button () {
X = Application.GetRealWidth (20) + button1.Right,
Height = Application.GetRealHeight (41),
Width = Application.GetRealWidth (400),
Gravity = Gravity.CenterVertical,
TextAlignment = TextAlignment.CenterLeft,
TextID = R.MyInternationalizationString.OfflineDevice,
TextColor = SkinStyle.Current.TextColor1
};
OnePortBusFrameLayout.AddChidren (textButton1);
Button downSelectedButton1 = new Button () {
X = Application.GetRealWidth (550),
Height = Application.GetRealHeight (46),
Width = Application.GetRealWidth (47),
UnSelectedImagePath = "Item/Down.png",
SelectedImagePath = "Item/DownSelected.png",
Gravity = Gravity.CenterVertical,
IsSelected = true,
};
OnePortBusFrameLayout.AddChidren (downSelectedButton1);
EventHandler eHandler = (sender, e) => {
downSelectedButton1.IsSelected = !downSelectedButton1.IsSelected;
if (downSelectedButton1.IsSelected) {
busEquipmentBody.Height = Convert.ToInt32 (busEquipmentBody.Tag);
} else {
busEquipmentBody.Height = 0;
}
};
downSelectedButton1.MouseUpEventHandler += eHandler;
button1.MouseUpEventHandler += eHandler;
textButton1.MouseUpEventHandler += eHandler;
#endregion
int count = 0;
int equipmentHeight = 0;
foreach (var offlineDevice in offlineDeviceList) {
string localFileType = offlineDevice.Split ('_') [1];
byte [] equipmentUsefullBytes = IO.FileUtils.ReadFile (offlineDevice);
string equipmentString;
Common common = null;
//设备界面要显示的设备,必须在这里添加显示
equipmentString = CommonPage.MyEncodingUTF8.GetString (equipmentUsefullBytes);
common = Newtonsoft.Json.JsonConvert.DeserializeObject (equipmentString);
if (common == null) {
continue;
}
if (common.isMixBox) {
hideListCommon.Add (common);
} else {
RowLayout frameLayout = new RowLayout () {
Height = Application.GetRealHeight (93),
};
frameLayout.Y = count++ * frameLayout.Height;
busEquipmentBody.AddChidren (frameLayout);
Button btnDelFile = new Button () {
TextID = R.MyInternationalizationString.Del,
BackgroundColor = SkinStyle.Current.DelColor
};
btnDelFile.MouseUpEventHandler += (sender, e) => {
Alert alert = new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipDeleteEquipmentMessage)
, Language.StringByID (R.MyInternationalizationString.Cancel), Language.StringByID (R.MyInternationalizationString.Confrim));
alert.Show ();
alert.ResultEventHandler += ( sender1, e1) => {
if (e1) {
IO.FileUtils.DeleteFile (offlineDevice);
ShowEquipmentBase ();
}
};
};
frameLayout.AddRightView (btnDelFile);
busEquipmentBody.Height += Application.GetRealHeight (93);
equipmentHeight += Application.GetRealHeight (93);
busEquipmentBody.Tag = equipmentHeight;
Button pointButton = new Button () {
Width = Application.GetRealHeight (13),
Height = Application.GetRealHeight (13),
X = Application.GetRealWidth (80),
UnSelectedImagePath = "Item/Point.png",
SelectedImagePath = "Item/PointSelected.png",
Gravity = Gravity.CenterVertical,
};
frameLayout.AddChidren (pointButton);
Button btnName = new Button () {
Width = Application.GetRealWidth (642),
Height = LayoutParams.MatchParent,
Text = common.Name,
TextAlignment = TextAlignment.CenterLeft,
X = pointButton.Right + Application.GetRealWidth (20),
TextColor = SkinStyle.Current.TextColor1
};
frameLayout.AddChidren (btnName);
}
}
}
}
}
}