| | |
| | | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using Shared; |
| | | using Shared.SimpleControl; |
| | | |
| | |
| | | string text_entry_userName_tip = "请输入组名。"; |
| | | string text_entry_projectName_tip = "请输入工程名。"; |
| | | string text_entry_password_tip = "请输入密码。"; |
| | | string text_link = "连接一端口"; |
| | | string text_link = "连接"; |
| | | string text_back = "后退"; |
| | | string text_reading = "读取中"; |
| | | /// <summary> |
| | |
| | | string txt_linkSeverFailed = "连接服务器失败"; |
| | | string txt_DataError = "数据异常"; |
| | | string txt_QueryFailed = "查询失败"; |
| | | string txt_NoData = "无数据"; |
| | | string txt_Search = "搜索"; |
| | | #endregion |
| | | |
| | |
| | | text_Upgraded = "Upgraded"; |
| | | text_Upgrading = "Upgrading"; |
| | | text_UpgradeFailed = "Upgrade failed"; |
| | | text_UnknownVersion = "Unknown version"; |
| | | text_UnknownVersion = "Other version"; |
| | | text_readFailure = "Read failure"; |
| | | text_back = "Back"; |
| | | text_link = "Link"; |
| | |
| | | txt_DataError = "Data exception"; |
| | | txt_QueryFailed = "Query failed"; |
| | | txt_Search = "search"; |
| | | txt_NoData = "No data"; |
| | | } |
| | | } |
| | | |
| | |
| | | userNameView.AddChidren (tvUserName); |
| | | |
| | | var btnLine = new Button () { |
| | | Height = Application.GetRealHeight (1), |
| | | Height = Application.GetRealHeight (2), |
| | | BackgroundColor = SkinStyle.Current.LineColor, |
| | | }; |
| | | infoView.AddChidren (btnLine); |
| | |
| | | |
| | | CommonPage.IsRemote = true; |
| | | var sendBytes = new byte [29]; |
| | | var b1 = System.Text.Encoding.UTF8.GetBytes (userName); |
| | | var b1 = CommonPage.MyEncodingGB2312.GetBytes (userName); |
| | | byte [] ggn = new byte [20]; |
| | | Array.Copy (b1, 0, ggn, 0, 20 < b1.Length ? 20 : b1.Length); |
| | | Array.Copy (ggn, 0, sendBytes, 9, 20); |
| | | |
| | | string newIp = "118.31.3.103"; |
| | | if(Language.CurrentLanguage!= "Chinese") { |
| | | newIp = "157.175.231.123"; |
| | | } |
| | | |
| | | |
| | | new System.Threading.Thread (() => { |
| | |
| | | MainPage.Loading.Start (); |
| | | }); |
| | | try { |
| | | //读取旧服务器上的工程列表 |
| | | var sss = Control.ControlBytesSendHasReturn (Command.GetRemoteOnePortListInfo, 0xFB, 0xFB, sendBytes); |
| | | var oldGatewayList = new List<GatewayBase> (); |
| | | if (sss != null) { |
| | | try { |
| | | if (sss [1] == 248) { |
| | | |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Start (); |
| | | rightButton1.Text = txt_connectionSucceeded; |
| | |
| | | }); |
| | | |
| | | var count = sss [2] * 256 + sss [3]; |
| | | |
| | | for (int i = 1; i <= count; i++) { |
| | | byte [] arayImp = new byte [23]; |
| | | if (b1.Length <= 20) |
| | |
| | | var oneProtData = Control.ControlBytesSendHasReturn (Command.GetRemoteOnePortInfo, 0xFB, 0xFB, arayImp); |
| | | if (oneProtData != null) { |
| | | try { |
| | | var groupName = System.Text.Encoding.UTF8.GetString (oneProtData, 1, 20).Trim ('\0');//============= |
| | | var projectName22 = System.Text.Encoding.UTF8.GetString (oneProtData, 23, 20).Trim ('\0');//============= |
| | | var userName22 = System.Text.Encoding.UTF8.GetString (oneProtData, 43, 8).Trim ('\0');//============= |
| | | Application.RunOnMainThread (() => { |
| | | var groupName = CommonPage.MyEncodingGB2312.GetString (oneProtData, 1, 20).Trim ('\0'); |
| | | var projectName22 = CommonPage.MyEncodingGB2312.GetString (oneProtData, 23, 20).Trim ('\0'); |
| | | var userName22 = CommonPage.MyEncodingGB2312.GetString (oneProtData, 43, 8).Trim ('\0'); |
| | | var isOnline = oneProtData [57] == 1; |
| | | |
| | | RowLayout wirelessView = new RowLayout () { |
| | | Height = Application.GetRealHeight (93), |
| | | BackgroundColor = SkinStyle.Current.ViewColor, |
| | | }; |
| | | listView.AddChidren (wirelessView); |
| | | showGatewayRow (userName22,projectName22, wirelessView); |
| | | }); |
| | | GatewayBase gatewayBase = new GatewayBase () { |
| | | Remote_GroupName = groupName, |
| | | Remote_ProjectName = projectName22, |
| | | Remote_UserName = userName22, |
| | | isOnline = isOnline, |
| | | }; |
| | | oldGatewayList.Add (gatewayBase); |
| | | |
| | | |
| | | }catch (Exception ex) { |
| | | |
| | | } |
| | |
| | | |
| | | } |
| | | } |
| | | } else { |
| | | |
| | | |
| | | |
| | | |
| | | //读取新服务器上的工程列表 |
| | | var sss2 = Control.ControlBytesSendHasReturn (Command.GetRemoteOnePortListInfo, 0xFB, 0xFB, sendBytes, newIp); |
| | | var newGatewayList = new List<GatewayBase> (); |
| | | try { |
| | | if (sss [1] == 248) { |
| | | var countNew = sss [2] * 256 + sss [3]; |
| | | |
| | | for (int i = 1; i <= countNew; i++) { |
| | | byte [] arayImp = new byte [23]; |
| | | if (b1.Length <= 20) |
| | | Array.Copy (b1, 0, arayImp, 1, b1.Length); |
| | | else |
| | | Array.Copy (b1, 0, arayImp, 1, 20); |
| | | arayImp [21] = (byte)(i / 256); |
| | | arayImp [22] = (byte)(i % 256); |
| | | var oneProtData = Control.ControlBytesSendHasReturn (Command.GetRemoteOnePortInfo, 0xFB, 0xFB, arayImp, newIp); |
| | | if (oneProtData != null) { |
| | | try { |
| | | var groupName = CommonPage.MyEncodingGB2312.GetString (oneProtData, 1, 20).Trim ('\0'); |
| | | var projectName22 = CommonPage.MyEncodingGB2312.GetString (oneProtData, 23, 20).Trim ('\0'); |
| | | var userName22 = CommonPage.MyEncodingGB2312.GetString (oneProtData, 43, 8).Trim ('\0'); |
| | | |
| | | var oldGateway = oldGatewayList.Find ((obj) => obj.Remote_GroupName == groupName && |
| | | obj.Remote_ProjectName == projectName22 && obj.Remote_UserName == userName22); |
| | | if (oldGateway != null) { |
| | | oldGateway.isMoveToNewServer = true; |
| | | } |
| | | } catch (Exception ex) { |
| | | |
| | | } |
| | | } else { |
| | | |
| | | } |
| | | } |
| | | } else if (sss [1] == 245) { |
| | | Application.RunOnMainThread (() => { |
| | | rightButton1.Text = txt_NoData; |
| | | rightButton1.TextColor = 0x99FF0000; |
| | | }); |
| | | } else { |
| | | Application.RunOnMainThread (() => { |
| | | rightButton1.Text = txt_QueryFailed; |
| | | rightButton1.TextColor = 0x99FF0000; |
| | | }); |
| | | } |
| | | } catch (Exception ex) { |
| | | Application.RunOnMainThread (() => { |
| | | rightButton1.Text = txt_DataError; |
| | | rightButton1.TextColor = 0x99FF0000; |
| | | }); |
| | | } finally { |
| | | |
| | | } |
| | | |
| | | |
| | | Application.RunOnMainThread (() => { |
| | | foreach (var one in oldGatewayList) { |
| | | RowLayout wirelessView = new RowLayout () { |
| | | Height = Application.GetRealHeight (93), |
| | | BackgroundColor = SkinStyle.Current.ViewColor, |
| | | }; |
| | | listView.AddChidren (wirelessView); |
| | | showGatewayRow (one,wirelessView); |
| | | } |
| | | }); |
| | | |
| | | } else if(sss[1] == 245) { |
| | | Application.RunOnMainThread (() => { |
| | | rightButton1.Text = txt_NoData; |
| | | rightButton1.TextColor = 0x99FF0000; |
| | | }); |
| | | } |
| | | else { |
| | | Application.RunOnMainThread (() => { |
| | | rightButton1.Text = txt_QueryFailed; |
| | | rightButton1.TextColor = 0x99FF0000; |
| | |
| | | /// <summary> |
| | | /// 显示 |
| | | /// </summary> |
| | | void showGatewayRow (string userName,string projectName, RowLayout wirelessView) |
| | | void showGatewayRow (GatewayBase gatewayBase, RowLayout wirelessView) |
| | | { |
| | | |
| | | Button pointButton1 = new Button () { |
| | | Width = Application.GetRealHeight (13), |
| | | Height = Application.GetRealHeight (13), |
| | | Width = Application.GetRealHeight (20), |
| | | Height = Application.GetRealHeight (20), |
| | | X = Application.GetRealWidth (60), |
| | | UnSelectedImagePath = "Item/Point.png", |
| | | SelectedImagePath = "Item/PointSelected.png", |
| | | Radius = (uint)Application.GetRealHeight (7), |
| | | Gravity = Gravity.CenterVertical, |
| | | BackgroundColor = gatewayBase.isOnline ? 0xFF00FF00: 0xFF000000 |
| | | }; |
| | | wirelessView.AddChidren (pointButton1); |
| | | |
| | | |
| | | Button nameButton1 = new Button () { |
| | | Width = Application.GetRealWidth (342), |
| | | Height = LayoutParams.MatchParent, |
| | | Text = projectName, |
| | | Text = gatewayBase.Remote_ProjectName, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | X = pointButton1.Right + Application.GetRealWidth (20), |
| | | TextColor = SkinStyle.Current.TextColor1, |
| | |
| | | |
| | | Button rightButton1 = new Button () { |
| | | X = Application.GetRealWidth (480), |
| | | Width = Application.GetRealWidth (100), |
| | | Width = Application.GetRealWidth (150), |
| | | Height = Application.GetRealHeight (40), |
| | | Gravity = Gravity.CenterVertical, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = SkinStyle.Current.TextColor1, |
| | | IsMoreLines = true, |
| | | TextSize = 12, |
| | | Text = text_link, |
| | | }; |
| | | wirelessView.AddChidren (rightButton1); |
| | | |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => { |
| | | LinkOnePort (userName,projectName); |
| | | }; |
| | | nameButton1.MouseUpEventHandler = eventHandler; |
| | | rightButton1.MouseUpEventHandler = eventHandler; |
| | | wirelessView.MouseUpEventHandler = eventHandler; |
| | | if (gatewayBase.isMoveToNewServer && !gatewayBase.isOnline) { |
| | | wirelessView.AddChidren (rightButton1); |
| | | rightButton1.Text = text_Upgraded; |
| | | } else { |
| | | if (gatewayBase.isOnline) |
| | | wirelessView.AddChidren (rightButton1); |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => { |
| | | LinkOnePort (gatewayBase.Remote_UserName, gatewayBase.Remote_ProjectName); |
| | | }; |
| | | nameButton1.MouseUpEventHandler = eventHandler; |
| | | rightButton1.MouseUpEventHandler = eventHandler; |
| | | wirelessView.MouseUpEventHandler = eventHandler; |
| | | } |
| | | } |
| | | |
| | | void LinkOnePort (string userName, string projectName) { |