From dfcb2a1844fd55b57bae23e290b30ec6380e8508 Mon Sep 17 00:00:00 2001 From: chenqiyang <1406175257@qq.com> Date: 星期五, 26 八月 2022 15:04:22 +0800 Subject: [PATCH] 更新全视通dll --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs | 527 ++++++++++++++++++++++++---------------------------------- 1 files changed, 218 insertions(+), 309 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs old mode 100755 new mode 100644 index 4bd0902..ac2cda2 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs @@ -1,309 +1,218 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; - -namespace Shared.Phone.UserCenter -{ - /// <summary> - /// 鎵�灞炲尯鍩熺殑鎺т欢 - /// </summary> - public class BelongAreaControl : FrameRowControl - { - #region 鈻� 鍙橀噺澹版槑___________________________ - - /// <summary> - /// 閫夋嫨鎴块棿鐨勪簨浠�(鎴块棿涓婚敭) - /// </summary> - public Action<string> SelectRoomEvent = null; - /// <summary> - /// 褰撳墠閫夋嫨鐨勬埧闂寸殑涓婚敭(妤煎眰涓婚敭鍙互鏃犺) - /// </summary> - public string RoomKey = string.Empty; - /// <summary> - /// 褰撳墠閫夋嫨鐨勬ゼ灞備富閿�(娌″繀瑕佸叕寮�鍑哄幓) - /// </summary> - private string FloorKey = string.Empty; - /// <summary> - /// 妤煎眰鍒楄〃鍚嶅瓧 - /// </summary> - private List<string> listFloorName = new List<string>(); - /// <summary> - /// 妤煎眰鍒楄〃涓婚敭 - /// </summary> - private List<string> listFloorKeys = new List<string>(); - /// <summary> - /// 鎴块棿鍚嶅瓧 - /// </summary> - private List<List<string>> listRoomName = new List<List<string>>(); - /// <summary> - /// 鎴块棿涓婚敭 - /// </summary> - private List<List<string>> listRoomKeys = new List<List<string>>(); - - #endregion - - #region 鈻� 鍒濆鍖朹____________________________ - - /// <summary> - /// 鎵�灞炲尯鍩熺殑鎺т欢 - /// </summary> - /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(銆愬垪琛ㄦ帶浠剁殑rowSpace/2銆戝嵆鍙�,涓嶆噦榛樿涓�0鍗冲彲)</param> - public BelongAreaControl(int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis) - { - //鍒濆鍖栨暟鎹� - this.InitData(); - } - - /// <summary> - /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸鍦烘櫙) - /// </summary> - /// <param name="i_caption">鏍囬鏂囨湰</param> - /// <param name="i_roomId">鎴块棿ID</param> - public void InitControl(string i_caption, string i_roomId) - { - var room = HdlRoomLogic.Current.GetRoomById(i_roomId); - this.DoInitControl(i_caption, room); - } - - /// <summary> - /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸缃戝叧) - /// </summary> - /// <param name="i_caption">鏍囬鏂囨湰</param> - /// <param name="i_gateway">缃戝叧瀵硅薄</param> - public void InitControl(string i_caption, ZigBee.Device.ZbGateway i_gateway) - { - var room = HdlGatewayLogic.Current.GetRoomByGateway(i_gateway); - this.DoInitControl(i_caption, room); - } - - /// <summary> - /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸鍥炶矾) - /// </summary> - /// <param name="i_caption">鏍囬鏂囨湰</param> - /// <param name="i_device">璁惧瀵硅薄</param> - public void InitControl(string i_caption, ZigBee.Device.CommonDevice i_device) - { - var room = HdlRoomLogic.Current.GetRoomByDevice(i_device); - this.DoInitControl(i_caption, room); - } - - /// <summary> - /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸鏁翠釜璁惧) - /// </summary> - /// <param name="i_caption">鏍囬鏂囨湰</param> - /// <param name="i_listDevice">璁惧瀵硅薄</param> - public void InitControl(string i_caption, List<ZigBee.Device.CommonDevice> i_listDevice) - { - var room = Common.LocalDevice.Current.GeteRealDeviceRoom(i_listDevice[0]); - this.DoInitControl(i_caption, room); - } - - /// <summary> - /// 鍒濆鍖栨帶浠� - /// </summary> - /// <param name="i_caption"></param> - /// <param name="i_Room"></param> - private void DoInitControl(string i_caption, Common.Room i_Room) - { - if (i_Room == null) - { - //鏈垎閰嶅尯鍩� - this.InitControl(i_caption, Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom), false); - } - else - { - string roomName = i_Room.Name; - this.RoomKey = i_Room.Id; - this.FloorKey = i_Room.FloorId; - if (Common.Config.Instance.Home.FloorDics.ContainsKey(i_Room.FloorId) == true) - { - //妤煎眰+鎴块棿 - roomName = Common.Config.Instance.Home.FloorDics[i_Room.FloorId] + " " + roomName; - } - this.InitControl(i_caption, roomName, i_Room.IsSharedRoom); - } - } - - /// <summary> - /// 鍒濆鍖栨帶浠� - /// </summary> - /// <param name="i_caption">鏍囬鏂囨湰</param> - /// <param name="i_RoomName">鎴块棿鍚嶅瓧</param> - /// <param name="IsSharedRoom">鎴块棿鏄惁鏄垎浜殑</param> - private void InitControl(string i_caption, string i_RoomName, bool IsSharedRoom) - { - //鏍囬 - var btnCaption = new NormalViewControl(270, 58, true); - btnCaption.X = ControlCommonResourse.XXLeft; - btnCaption.Gravity = Gravity.CenterVertical; - btnCaption.Text = i_caption + "锛�"; - this.AddChidren(btnCaption, ChidrenBindMode.BindEventOnly); - - //鏄剧ず妗� - var txtView = new NormalViewControl(700, true); - txtView.X = Application.GetRealWidth(294); - txtView.Gravity = Gravity.CenterVertical; - txtView.TextColor = UserCenterColor.Current.TextGrayColor1; - txtView.Text = i_RoomName; - this.AddChidren(txtView, ChidrenBindMode.BindEventOnly); - - if (chidrenYaxis != 0) - { - btnCaption.Y += chidrenYaxis; - txtView.Y += chidrenYaxis; - } - - if (IsSharedRoom == true) - { - //濡傛灉杩欎釜璁惧浣嶄簬鍒嗕韩鐨勬埧闂� - this.UseClickStatu = false; - return; - } - if (this.listFloorKeys.Count == 0 && listRoomKeys.Count == 0) - { - //鎴栬�呮牴鏈氨娌℃湁鍒涘缓鎴块棿锛屽垯涓嶅厑璁告洿鏀� - this.UseClickStatu = false; - return; - } - //鍙崇澶� - this.AddRightArrow(); - - this.ButtonClickEvent += (sender, e) => - { - //鍖哄煙閫夋嫨 - this.ShowSelectRoom(txtView, i_caption); - }; - } - - /// <summary> - /// 鍒濆鍖栨暟鎹� - /// </summary> - private void InitData() - { - var dicFloor = HdlRoomLogic.Current.GetFloorSortList(); - if (dicFloor.Count == 0) - { - //绗竴浣嶉粯璁ゆ坊鍔犳湭鍒嗛厤 - var listKeys = new List<string>() { "" }; - var listName = new List<string>() { Language.StringByID(R.MyInternationalizationString.uUndistributed) }; - //鎴块棿鍚嶅瓧鍜屼富閿敹闆� - var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(string.Empty, false); - foreach (var myRoom in listRoom) - { - listName.Add(myRoom.Name); - listKeys.Add(myRoom.Id); - } - listRoomName.Add(listName); - listRoomKeys.Add(listKeys); - } - else - { - //绗竴浣嶉粯璁ゆ坊鍔犳湭鍒嗛厤(鏈垎閰嶆斁鍦ㄦゼ灞傞偅涓彍鍗�) - var listKeys = new List<string>() { "" }; - var listName = new List<string>() { "" }; - listRoomName.Add(listName); - listRoomKeys.Add(listKeys); - this.listFloorKeys.Add(""); - this.listFloorName.Add(Language.StringByID(R.MyInternationalizationString.uUndistributed)); - - foreach (string fKeys in dicFloor.Keys) - { - var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(fKeys, false); - if (listRoom.Count > 0) - { - //妤煎眰鍚嶅瓧鍜屼富閿敹闆� - this.listFloorKeys.Add(fKeys); - this.listFloorName.Add(dicFloor[fKeys]); - //鎴块棿鍚嶅瓧鍜屼富閿敹闆� - listName = new List<string>(); - listKeys = new List<string>(); - foreach (var myRoom in listRoom) - { - listName.Add(myRoom.Name); - listKeys.Add(myRoom.Id); - } - listRoomName.Add(listName); - listRoomKeys.Add(listKeys); - } - } - } - } - - #endregion - - #region 鈻� 鍖哄煙閫夋嫨___________________________ - - /// <summary> - /// 鍖哄煙閫夋嫨 - /// </summary> - /// <param name="txtView"></param> - /// <param name="i_caption"></param> - private void ShowSelectRoom(NormalViewControl txtView, string i_caption) - { - int index1 = this.listFloorKeys.IndexOf(FloorKey); - if (index1 == -1) { index1 = 0; } - int index2 = this.listRoomKeys[index1].IndexOf(RoomKey); - if (index2 == -1) { index2 = 0; } - - if (this.listFloorKeys.Count == 0) - { - //鏃犳ゼ灞傛ā寮� - PickerView.Show(this.listRoomName[0], (value) => - { - RoomKey = this.listRoomKeys[0][value]; - if (RoomKey != string.Empty) - { - //鎴块棿 - txtView.Text = this.listRoomName[0][value]; - } - else - { - txtView.Text = Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom); - } - this.SelectRoomEvent?.Invoke(RoomKey); - - }, index2, i_caption, - Language.StringByID(R.MyInternationalizationString.uFinish), - Language.StringByID(R.MyInternationalizationString.uCancel)); - } - else - { - //鏈夋ゼ灞傛ā寮� - PickerView.ShowSecondary(this.listFloorName, this.listRoomName, (value1, value2) => - { - FloorKey = this.listFloorKeys[value1]; - RoomKey = this.listRoomKeys[value1][value2]; - if (RoomKey != string.Empty) - { - //妤煎眰+鎴块棿 - txtView.Text = this.listFloorName[value1] + " " + this.listRoomName[value1][value2]; - } - else - { - txtView.Text = Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom); - } - this.SelectRoomEvent?.Invoke(RoomKey); - - }, index1, index2, i_caption, - Language.StringByID(R.MyInternationalizationString.uFinish), - Language.StringByID(R.MyInternationalizationString.uCancel)); - } - } - - #endregion - - #region 鈻� 鎺т欢鎽ф瘉___________________________ - - /// <summary> - /// 鎺т欢鎽ф瘉 - /// </summary> - public override void RemoveFromParent() - { - this.SelectRoomEvent = null; - - base.RemoveFromParent(); - } - - #endregion - } -} +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter +{ + /// <summary> + /// 鎵�灞炲尯鍩熺殑鎺т欢 + /// </summary> + public class BelongAreaControl : FrameRowControl + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 閫夋嫨鎴块棿鐨勪簨浠�(鎴块棿涓婚敭) + /// </summary> + public Action<string> SelectRoomEvent = null; + /// <summary> + /// 褰撳墠閫夋嫨鐨勬埧闂寸殑涓婚敭(妤煎眰涓婚敭鍙互鏃犺) + /// </summary> + public string RoomKey = string.Empty; + /// <summary> + /// 鏄剧ず鏂囨湰 + /// </summary> + private NormalViewControl btnTextView = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鎵�灞炲尯鍩熺殑鎺т欢 + /// </summary> + /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(銆愬垪琛ㄦ帶浠剁殑rowSpace/2銆戝嵆鍙�,涓嶆噦榛樿涓�0鍗冲彲)</param> + public BelongAreaControl(int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis) + { + } + + /// <summary> + /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸鍦烘櫙) + /// </summary> + /// <param name="i_caption">鏍囬鏂囨湰</param> + /// <param name="i_roomId">鎴块棿ID</param> + public void InitControl(string i_caption, string i_roomId) + { + var room = HdlRoomLogic.Current.GetRoomById(i_roomId); + this.DoInitControl(i_caption, room); + } + + /// <summary> + /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸缃戝叧) + /// </summary> + /// <param name="i_caption">鏍囬鏂囨湰</param> + /// <param name="i_gateway">缃戝叧瀵硅薄</param> + public void InitControl(string i_caption, ZigBee.Device.ZbGateway i_gateway) + { + var room = HdlRoomLogic.Current.GetRoomByGateway(i_gateway); + this.DoInitControl(i_caption, room); + } + + /// <summary> + /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸鍥炶矾) + /// </summary> + /// <param name="i_caption">鏍囬鏂囨湰</param> + /// <param name="i_device">璁惧瀵硅薄</param> + public void InitControl(string i_caption, ZigBee.Device.CommonDevice i_device) + { + var room = HdlRoomLogic.Current.GetRoomByDevice(i_device); + this.DoInitControl(i_caption, room); + } + + /// <summary> + /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸鏁翠釜璁惧) + /// </summary> + /// <param name="i_caption">鏍囬鏂囨湰</param> + /// <param name="i_listDevice">璁惧瀵硅薄</param> + public void InitControl(string i_caption, List<ZigBee.Device.CommonDevice> i_listDevice) + { + var room = HdlRoomLogic.Current.GeteRealDeviceRoom(i_listDevice[0]); + this.DoInitControl(i_caption, room); + } + + /// <summary> + /// 鍒濆鍖栨帶浠� + /// </summary> + /// <param name="i_caption"></param> + /// <param name="i_Room"></param> + private void DoInitControl(string i_caption, Common.Room i_Room) + { + if (i_Room == null) + { + //鏈垎閰嶅尯鍩� + this.InitControl(i_caption, Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom), false); + } + else + { + string roomName = i_Room.Name; + this.RoomKey = i_Room.Id; + if (Common.Config.Instance.Home.FloorDics.ContainsKey(i_Room.FloorId) == true) + { + //妤煎眰+鎴块棿 + roomName = Common.Config.Instance.Home.FloorDics[i_Room.FloorId] + " " + roomName; + } + this.InitControl(i_caption, roomName, i_Room.IsSharedRoom); + } + } + + /// <summary> + /// 鍒濆鍖栨帶浠� + /// </summary> + /// <param name="i_caption">鏍囬鏂囨湰</param> + /// <param name="i_RoomName">鎴块棿鍚嶅瓧</param> + /// <param name="IsSharedRoom">鎴块棿鏄惁鏄垎浜殑</param> + private void InitControl(string i_caption, string i_RoomName, bool IsSharedRoom) + { + //鏍囬 + var btnCaption = new NormalViewControl(270, 58, true); + btnCaption.X = ControlCommonResourse.XXLeft; + btnCaption.Gravity = Gravity.CenterVertical; + btnCaption.Text = i_caption + "锛�"; + this.AddChidren(btnCaption, ChidrenBindMode.BindEvent); + + //鏄剧ず妗� + this.btnTextView = new NormalViewControl(700, true); + btnTextView.X = Application.GetRealWidth(294); + btnTextView.Gravity = Gravity.CenterVertical; + btnTextView.TextColor = UserCenterColor.Current.TextGrayColor1; + btnTextView.Text = i_RoomName; + this.AddChidren(btnTextView, ChidrenBindMode.BindEvent); + + if (chidrenYaxis != 0) + { + btnCaption.Y += chidrenYaxis; + btnTextView.Y += chidrenYaxis; + } + + if (IsSharedRoom == true) + { + //濡傛灉杩欎釜璁惧浣嶄簬鍒嗕韩鐨勬埧闂� + this.UseClickStatu = false; + return; + } + + //鍙崇澶� + this.AddRightArrow(); + + //濡傛灉褰撳墠鏄睍绀烘ā鏉�,鍒欓渶瑕佸鐞� + if (Common.Config.Instance.Home.IsShowTemplate == false) + { + this.ButtonClickEvent += (sender, e) => + { + //鍖哄煙閫夋嫨 + this.ShowSelectRoom(btnTextView, i_caption); + }; + } + } + + #endregion + + #region 鈻� 鍖哄煙閫夋嫨___________________________ + + /// <summary> + /// 鍖哄煙閫夋嫨 + /// </summary> + /// <param name="txtView"></param> + /// <param name="i_caption"></param> + private void ShowSelectRoom(NormalViewControl txtView, string i_caption) + { + //鏄剧ず搴曢儴寮圭獥鐨勬埧闂村垪琛� + var result = HdlControlLogic.Current.ShowBottomListRoomView(this.RoomKey, i_caption, (selectId, selectName) => + { + this.RoomKey = selectId; + txtView.Text = selectName; + //璋冪敤鍥炶皟鍑芥暟 + this.SelectRoomEvent?.Invoke(RoomKey); + //涓婁紶绌洪棿鍖哄煙淇℃伅 + HdlRoomLogic.Current.SetRoomInfoToGateway(); + }); + if (result == false) + { + //鎴栬�呮牴鏈氨娌℃湁鍒涘缓鎴块棿锛屽垯涓嶅厑璁告洿鏀� + this.UseClickStatu = false; + } + } + + #endregion + + #region 鈻� 鍒锋柊鎺т欢___________________________ + + /// <summary> + /// 閲嶆柊鍒锋柊鎺т欢 + /// </summary> + /// <param name="i_RoomId">鎸囧畾浠ュ摢涓埧闂碔D鍒锋柊鎺т欢</param> + public void RefreshControl(string i_RoomId) + { + this.RoomKey = i_RoomId; + + var room = HdlRoomLogic.Current.GetRoomById(i_RoomId); + this.btnTextView.Text = HdlRoomLogic.Current.GetRoomName(room); + } + + #endregion + + #region 鈻� 鎺т欢鎽ф瘉___________________________ + + /// <summary> + /// 鎺т欢鎽ф瘉 + /// </summary> + public override void RemoveFromParent() + { + this.SelectRoomEvent = null; + + base.RemoveFromParent(); + } + + #endregion + } +} -- Gitblit v1.8.0