From 6fa9d69da922c8049f5acfcbb9ce9fd26811024c Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期四, 16 四月 2020 17:10:57 +0800 Subject: [PATCH] 请合并代码 --- ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs | 680 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 680 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs new file mode 100755 index 0000000..5687b9e --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs @@ -0,0 +1,680 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter.Residence +{ + /// <summary> + /// 缂栬緫鎴块棿淇℃伅鐨勭晫闈� + /// </summary> + public class EditorRoomInforForm : EditorCommonForm + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 缁撴潫缂栬緫鐨勪簨浠� + /// </summary> + public Action<string> FinishEditorEvent = null; + /// <summary> + /// 鍒楄〃鎺т欢 + /// </summary> + private FrameListControl listview = null; + /// <summary> + /// 鎴块棿瀵硅薄 + /// </summary> + private Common.Room editorRoom = null; + /// <summary> + /// 鍏嬮殕瀵硅薄 + /// </summary> + private Common.Room cloneRoom = null; + /// <summary> + /// 鏀瑰彉鎴块棿鍥剧墖 + /// </summary> + private bool changedRoomPic = false; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) + /// </summary> + /// <param name="i_editorRoom">缂栬緫鐨勬埧闂村璞�</param> + public void ShowForm(Common.Room i_editorRoom = null) + { + //寮勪竴鐐瑰垵濮嬪�� + this.editorRoom = i_editorRoom; + this.cloneRoom = HdlRoomLogic.Current.CloneRoomClass(i_editorRoom); + if (i_editorRoom.HumidityDevice == string.Empty) + { + this.cloneRoom.Humidity = -1000; + } + if (i_editorRoom.TemperatrueDevice == string.Empty) + { + this.cloneRoom.Temperatrue = -1000; + } + + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uEditorRoom)); + + //鍒濆鍖栦腑閮ㄤ俊鎭� + this.InitMiddleFrame(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + private void InitMiddleFrame() + { + //娓呯┖bodyFrame + this.ClearBodyFrame(); + + var listBackControl = new VerticalFrameControl(); + listBackControl.Height = bodyFrameLayout.Height; + bodyFrameLayout.AddChidren(listBackControl); + + //鍔犱竴涓櫧鑹茶儗鏅� + var frameBack1 = new FrameLayout(); + frameBack1.Height = Application.GetRealHeight(450); + frameBack1.Y = Application.GetRealHeight(196); + frameBack1.BackgroundColor = UserCenterColor.Current.White; + frameBack1.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); + listBackControl.frameTable.AddChidren(frameBack1); + + //鍒濆鍖栦俊鎭甯� + var tableContr = new InformationEditorControl(); + this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 1175); + + //鎴块棿鍥剧墖搴曢儴闃村奖 + var btnShadow = new PicViewControl(853, 593); + btnShadow.Y = Application.GetRealHeight(58); + btnShadow.Gravity = Gravity.CenterHorizontal; + btnShadow.UnSelectedImagePath = "Room/RoomShadow.png"; + listBackControl.frameTable.AddChidren(btnShadow); + //鎴块棿鍥剧墖 + var btnPic = new ImageView(); + btnPic.Y = Application.GetRealHeight(60); + btnPic.Width = this.GetPictrueRealSize(824); + btnPic.Height = this.GetPictrueRealSize(549); + btnPic.Radius = (uint)Application.GetRealHeight(17); + btnPic.Gravity = Gravity.CenterHorizontal; + if (this.editorRoom.BackgroundImageType == 0) + { + btnPic.ImagePath = this.editorRoom.BackgroundImage; + } + else + { + btnPic.ImageBytes = Common.Global.ReadFileByHomeId(this.editorRoom.BackgroundImage); + } + listBackControl.frameTable.AddChidren(btnPic); + //鍥剧墖閬僵 + var btnZhezhao = new FrameLayout(); + btnZhezhao.Width = btnPic.Width; + btnZhezhao.Height = btnPic.Height; + btnZhezhao.Y = btnPic.Y; + btnZhezhao.Gravity = Gravity.CenterHorizontal; + btnZhezhao.BackgroundColor = UserCenterColor.Current.PictrueZhezhaoColor; + btnZhezhao.Radius = (uint)Application.GetRealHeight(17); + listBackControl.frameTable.AddChidren(btnZhezhao); + //鍒嗕韩鐨勬埧闂翠笉鑳界紪杈� + if (this.editorRoom.IsSharedRoom == false) + { + btnZhezhao.MouseUpEventHandler += (sender, e) => + { + //鎴块棿鍥剧墖閫夋嫨 + this.RoomPictrueSelect(btnPic); + }; + } + + //鍙樻洿涓�涓嬮偅涓櫧鑹茶儗鏅殑Y杞�,瀹冨埌鍥剧墖鐨勪腑闂翠綅缃� + frameBack1.Y = btnPic.Y + btnPic.Height / 2; + + //娣诲姞鍏ㄩ儴鑿滃崟 + this.AddAllMenuRow(tableContr, btnPic); + } + + #endregion + + #region 鈻� 娣诲姞鑿滃崟___________________________ + + /// <summary> + /// 娣诲姞鍏ㄩ儴鑿滃崟 + /// </summary> + private void AddAllMenuRow(InformationEditorControl tableContr, ImageView btnPic) + { + //銆愭埧闂村悕绉般�� + FrameCaptionInputControl txtRoomName = null; + if (this.editorRoom.IsLove == false) + { + txtRoomName = new FrameCaptionInputControl(Language.StringByID(R.MyInternationalizationString.uRoomName), this.cloneRoom.Name, this.listview.rowSpace / 2); + txtRoomName.txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputRoomName); + listview.AddChidren(txtRoomName); + txtRoomName.InitControl(); + //搴曠嚎 + txtRoomName.AddBottomLine(); + } + else + { + //鎴戠殑鍠滅埍涓嶈兘缂栬緫鍚嶅瓧 + var rowRoomName = new FrameCaptionViewControl(Language.StringByID(R.MyInternationalizationString.uRoomName), this.cloneRoom.Name, this.listview.rowSpace / 2); + listview.AddChidren(rowRoomName); + rowRoomName.UseClickStatu = false; + rowRoomName.InitControl(); + //搴曠嚎 + rowRoomName.AddBottomLine(); + } + + //璇PP涓烘湁妤煎眰鐨勬ā寮忔墠寮�鍚繖涓彍鍗� + if (this.editorRoom.IsLove == false && string.IsNullOrEmpty(this.cloneRoom.FloorId) == false) + { + //銆愭墍灞炴ゼ灞傘�� + var btnBelone = new FrameCaptionViewControl(Language.StringByID(R.MyInternationalizationString.uBelongeFloor), Common.Config.Instance.Home.FloorDics[this.cloneRoom.FloorId], this.listview.rowSpace / 2); + listview.AddChidren(btnBelone); + btnBelone.InitControl(); + //搴曠嚎 + btnBelone.AddBottomLine(); + //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� + if (this.editorRoom.IsSharedRoom == false) + { + //鍙崇澶� + btnBelone.AddRightArrow(); + btnBelone.ButtonClickEvent += (sender, e) => + { + //妤煎眰閫夋嫨 + this.ShowSelectFloor(btnBelone); + }; + } + } + + //銆愭俯搴︺�� + var rowTemperature = new FrameRowControl(this.listview.rowSpace / 2); + listview.AddChidren(rowTemperature); + rowTemperature.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uTemperature), 600); + //鍙崇澶� + rowTemperature.AddRightArrow(); + var btnTemper = rowTemperature.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uNothing), 300); + //搴曠嚎 + rowTemperature.AddBottomLine(); + //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� + if (this.editorRoom.IsSharedRoom == false) + { + rowTemperature.ButtonClickEvent += (sender, e) => + { + //鏄剧ず娓╁害浼犳劅鍣ㄥ垪琛� + this.ShowTemperatrueDevice(btnTemper); + }; + } + if (string.IsNullOrEmpty(cloneRoom.TemperatrueDevice) == false) + { + //鑾峰彇娓╁害 + this.GetTemperatrueValue(btnTemper, cloneRoom.TemperatrueDevice); + } + + //銆愭箍搴︺�� + var rowHumidity = new FrameRowControl(this.listview.rowSpace / 2); + listview.AddChidren(rowHumidity); + rowHumidity.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uHumidity), 600); + //鍙崇澶� + rowHumidity.AddRightArrow(); + var btnHumi = rowHumidity.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uNothing), 300); + //搴曠嚎 + rowHumidity.AddBottomLine(); + //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� + if (this.editorRoom.IsSharedRoom == false) + { + rowHumidity.ButtonClickEvent += (sender, e) => + { + //鏄剧ず婀垮害浼犳劅鍣ㄥ垪琛� + this.ShowHumidityDevice(btnHumi); + }; + } + if (string.IsNullOrEmpty(cloneRoom.HumidityDevice) == false) + { + //鑾峰彇婀垮害 + this.GetHumidityValue(btnHumi, cloneRoom.HumidityDevice); + } + + //鍒濆鍖栨甯冨畬鎴� + tableContr.FinishInitControl(); + tableContr = null; + + //鍒嗕韩鐨勬埧闂翠笉鑳戒繚瀛� + if (this.editorRoom.IsSharedRoom == true) + { + return; + } + + //淇濆瓨 + var btnFinish = new BottomClickButton(); + btnFinish.TextID = R.MyInternationalizationString.uSave; + bodyFrameLayout.AddChidren(btnFinish); + btnFinish.ButtonClickEvent += (sender, e) => + { + if (txtRoomName != null) + { + this.cloneRoom.Name = txtRoomName.Text; + } + //妫�娴嬭兘鍚︿繚瀛樻埧闂� + if (this.CheckCanSaveRoom() == false) + { + return; + } + //鏇存敼鍥剧墖 + if (this.changedRoomPic == true) + { + if (editorRoom.BackgroundImageType == 1 || editorRoom.BackgroundImageType == 2) + { + //鍒犻櫎鎺夊師鏉ョ殑鑷畾涔夊浘鐗� + if (Common.Global.IsExistsByHomeId(editorRoom.BackgroundImage) == true) + { + Common.Global.DeleteFilebyHomeId(editorRoom.BackgroundImage); + } + //澶囦唤 + HdlAutoBackupLogic.DeleteFile(editorRoom.BackgroundImage); + } + //鑷畾涔夊浘鐗� + if (cloneRoom.BackgroundImageType == 1 || cloneRoom.BackgroundImageType == 2) + { + //鐢熸垚鍥剧墖 + string picName = $"RoomIcon_{DateTime.Now.ToString("yyyyMMddHHmmss")}.png"; + string picFullName = System.IO.Path.Combine(Common.Config.Instance.FullPath, picName); + Shared.IO.FileUtils.WriteFileByBytes(picFullName, btnPic.ImageBytes); + cloneRoom.BackgroundImage = picName; + //澶囦唤 + HdlAutoBackupLogic.AddOrEditorFile(picName); + } + } + + bool changedFloor = editorRoom.FloorId != cloneRoom.FloorId; + editorRoom.FloorId = cloneRoom.FloorId; + editorRoom.Name = cloneRoom.Name; + editorRoom.HumidityDevice = cloneRoom.HumidityDevice; + if (cloneRoom.Humidity != -1000) + { + editorRoom.Humidity = cloneRoom.Humidity; + } + editorRoom.TemperatrueDevice = cloneRoom.TemperatrueDevice; + if (cloneRoom.Temperatrue != -1000) + { + editorRoom.Temperatrue = cloneRoom.Temperatrue; + } + editorRoom.BackgroundImage = cloneRoom.BackgroundImage; + editorRoom.BackgroundImageType = cloneRoom.BackgroundImageType; + editorRoom.Save(); + + FinishEditorEvent?.Invoke(this.editorRoom.Name); + if (changedFloor == false) + { + //鍒锋柊宸︽粦鐨勬埧闂村垪琛ㄧ晫闈㈢殑鎸囧畾鎴块棿鐨勪俊鎭� + MainPage.ListRoomViewFrom.Instance.RefreshRoomInfo(this.editorRoom); + } + else + { + //鍒锋柊宸︽粦鐨勬埧闂村垪琛ㄧ晫闈㈢殑鎴块棿鍒楄〃淇℃伅 + MainPage.ListRoomViewFrom.Instance.RefreshListRoom(); + } + this.CloseForm(); + }; + } + + #endregion + + #region 鈻� 妤煎眰閫夋嫨___________________________ + + /// <summary> + /// 妤煎眰閫夋嫨 + /// </summary> + /// <param name="control"></param> + private void ShowSelectFloor(FrameCaptionViewControl control) + { + var dicFloor = HdlRoomLogic.Current.GetFloorSortList(); + + var listKeys = new List<string>(); + var listName = new List<string>(); + int index = 0; + foreach (string keys in dicFloor.Keys) + { + listKeys.Add(keys); + listName.Add(dicFloor[keys]); + if (keys == cloneRoom.FloorId) + { + index = listKeys.Count - 1; + } + } + PickerView.Show(listName, (value) => + { + control.txtView.Text = listName[value]; + //涓婚敭淇敼 + cloneRoom.FloorId = listKeys[value]; + }, + index, + Language.StringByID(R.MyInternationalizationString.uBelongeFloor), + Language.StringByID(R.MyInternationalizationString.uFinish), + Language.StringByID(R.MyInternationalizationString.uCancel)); + } + + #endregion + + #region 鈻� 娓╁害浼犳劅鍣ㄧ浉鍏砡____________________ + + /// <summary> + /// 鏄剧ず娓╁害浼犳劅鍣ㄥ垪琛� + /// </summary> + /// <param name="btnTemper"></param> + private void ShowTemperatrueDevice(NormalViewControl btnTemper) + { + var listDevice = new List<ZigBee.Device.CommonDevice>(); + foreach (var device in Common.LocalDevice.Current.listAllDevice) + { + //鑾峰彇娓╁害浼犳劅鍣� + if (device is ZigBee.Device.TemperatureSensor && ((ZigBee.Device.TemperatureSensor)device).SensorDiv == 1) + { + listDevice.Add(device); + } + } + var listSelect = new List<string>() { cloneRoom.TemperatrueDevice }; + var form = new SelectDeviceForm(); + form.AddForm(listDevice, listSelect, true, true); + form.ActionSelectDevice += (list) => + { + if (list.Count == 0) + { + cloneRoom.TemperatrueDevice = string.Empty; + btnTemper.Text = Language.StringByID(R.MyInternationalizationString.uNothing); + return; + } + cloneRoom.TemperatrueDevice = Common.LocalDevice.Current.GetDeviceMainKeys(list[0]); + //鑾峰彇娓╁害鍊� + this.GetTemperatrueValue(btnTemper, cloneRoom.TemperatrueDevice); + }; + } + + /// <summary> + /// 鑾峰彇娓╁害鍊� + /// </summary> + /// <param name="btnHumi"></param> + /// <param name="deviceKey"></param> + private void GetTemperatrueValue(NormalViewControl btnTemper, string deviceKey) + { + var device = Common.LocalDevice.Current.GetDevice(deviceKey); + if (device == null) + { + return; + } + if (cloneRoom.Temperatrue == -1000) + { + //娌℃湁鑾峰彇寰楀埌杩囨俯搴� + btnTemper.Text = Language.StringByID(R.MyInternationalizationString.Getting); + } + else + { + btnTemper.Text = this.cloneRoom.Temperatrue == 0 ? "0.0鈩�" : this.cloneRoom.Temperatrue.ToString() + "鈩�"; + btnTemper.Text += " " + Language.StringByID(R.MyInternationalizationString.Getting); + } + + HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice"); + HdlGatewayReceiveLogic.Current.AddAttributeEvent("TemperatrueDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, ((report) => + { + string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report); + if (cloneRoom.TemperatrueDevice != mainKeys || btnTemper == null) + { + return; + } + + foreach (var data in report.DeviceStatusReport.AttriBute) + { + if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + { + HdlThreadLogic.Current.RunMain(() => + { + if (data.AttriButeData == 0) + { + //0鈩� + btnTemper.Text = "0.0鈩�"; + this.cloneRoom.Temperatrue = 0; + } + else if (data.AttriButeData > 32767) + { + //璐熸暟(鐗规畩澶勭悊) + string strValue = (data.AttriButeData - 65536).ToString(); + //灏忔暟鐐归渶瑕佷竴浣� + strValue = strValue.Substring(0, strValue.Length - 1); + //璁板綍娓╁害 + this.cloneRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�"; + } + else + { + //灏忔暟鐐归渶瑕佷竴浣� + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + //璁板綍娓╁害 + this.cloneRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�"; + } + }); + } + } + })); + //鍙戦�佽幏鍙栨俯搴︾殑鍛戒护 + ((ZigBee.Device.TemperatureSensor)device).ReadTemperatureOrHumidity(); + } + + #endregion + + #region 鈻� 婀垮害浼犳劅鍣ㄧ浉鍏砡____________________ + + /// <summary> + /// 鏄剧ず婀垮害浼犳劅鍣ㄥ垪琛� + /// </summary> + /// <param name="btnHumi"></param> + private void ShowHumidityDevice(NormalViewControl btnHumi) + { + var listDevice = new List<ZigBee.Device.CommonDevice>(); + foreach (var device in Common.LocalDevice.Current.listAllDevice) + { + //鑾峰彇婀垮害浼犳劅鍣� + if (device is ZigBee.Device.TemperatureSensor && ((ZigBee.Device.TemperatureSensor)device).SensorDiv == 2) + { + listDevice.Add(device); + } + } + var listSelect = new List<string>() { cloneRoom.HumidityDevice }; + var form = new SelectDeviceForm(); + form.AddForm(listDevice, listSelect, true, true); + form.ActionSelectDevice += (list) => + { + if (list.Count == 0) + { + cloneRoom.HumidityDevice = string.Empty; + btnHumi.Text = Language.StringByID(R.MyInternationalizationString.uNothing); + return; + } + cloneRoom.HumidityDevice = Common.LocalDevice.Current.GetDeviceMainKeys(list[0]); + //鑾峰彇婀垮害鍊� + this.GetHumidityValue(btnHumi, cloneRoom.HumidityDevice); + }; + } + + /// <summary> + /// 鑾峰彇婀垮害鍊� + /// </summary> + /// <param name="btnHumi"></param> + /// <param name="deviceKey"></param> + private void GetHumidityValue(NormalViewControl btnHumi, string deviceKey) + { + var device = Common.LocalDevice.Current.GetDevice(deviceKey); + if (device == null) + { + return; + } + if (cloneRoom.Humidity == -1000) + { + //娌℃湁鑾峰彇寰楀埌杩囨箍搴� + btnHumi.Text = Language.StringByID(R.MyInternationalizationString.Getting); + } + else + { + btnHumi.Text = this.cloneRoom.Humidity == 0 ? "0.0%" : this.cloneRoom.Humidity.ToString() + "%"; + btnHumi.Text += " " + Language.StringByID(R.MyInternationalizationString.Getting); + } + + HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice"); + HdlGatewayReceiveLogic.Current.AddAttributeEvent("HumidityDevice", ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) => + { + string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(report); + if (cloneRoom.HumidityDevice != mainKeys || btnHumi == null) + { + return; + } + foreach (var data in report.DeviceStatusReport.AttriBute) + { + if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + { + HdlThreadLogic.Current.RunMain(() => + { + if (data.AttriButeData == 0) + { + //0 + btnHumi.Text = "0.0%"; + this.cloneRoom.Humidity = 0; + } + else + { + //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + //璁板綍婀垮害 + this.cloneRoom.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + btnHumi.Text = this.cloneRoom.Humidity.ToString() + "%"; + } + }); + } + } + }); + //鍙戦�佽幏鍙栨箍搴︾殑鍛戒护 + ((ZigBee.Device.TemperatureSensor)device).ReadTemperatureOrHumidity(); + } + + #endregion + + #region 鈻� 鎴块棿鍥剧墖閫夋嫨_______________________ + + /// <summary> + /// 鎴块棿鍥剧墖閫夋嫨 + /// </summary> + /// <param name="imageContr"></param> + private void RoomPictrueSelect(ImageView imageContr) + { + var menuContr = new BottomMenuSelectForm(); + menuContr.AddForm(3); + //榛樿鍥惧簱 + menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.LocalPicture), () => + { + var form = new SelectLocalRoomImageForm(); + form.AddForm(); + form.FinishSelectEvent = (imgPath) => + { + if (string.IsNullOrEmpty(imgPath) == true) + { + return; + } + this.changedRoomPic = true; + this.cloneRoom.BackgroundImageType = 0; + this.cloneRoom.BackgroundImage = imgPath; + imgPath = IO.FileUtils.GetImageFilePath(imgPath); + imageContr.ImageBytes = IO.FileUtils.ReadFile(imgPath); + }; + }); + //鎷嶇収 + menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.Photograph), () => + { + //閫氳繃鐩告満鎷嶇収瑁佸壀 + CropImage.TakePicture((imagePath) => + { + if (string.IsNullOrEmpty(imagePath) == true) + { + return; + } + this.changedRoomPic = true; + this.cloneRoom.BackgroundImageType = 1; + imageContr.ImageBytes = Shared.IO.FileUtils.ReadFile(imagePath); + System.IO.File.Delete(imagePath); + }, "HdlPic", 2, 1); + }); + //鎴戠殑鐩稿唽 + menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.MyAblums), () => + { + //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀 + CropImage.SelectPicture((imagePath) => + { + if (string.IsNullOrEmpty(imagePath) == true) + { + return; + } + this.changedRoomPic = true; + this.cloneRoom.BackgroundImageType = 2; + imageContr.ImageBytes = Shared.IO.FileUtils.ReadFile(imagePath); + System.IO.File.Delete(imagePath); + + }, "HdlPic", 2, 1); + }); + } + + #endregion + + #region 鈻� 鐣岄潰鍏抽棴___________________________ + + /// <summary> + /// 鐣岄潰鍏抽棴 + /// </summary> + public override void CloseFormBefore() + { + this.FinishEditorEvent = null; + + HdlGatewayReceiveLogic.Current.RemoveEvent("TemperatrueDevice"); + HdlGatewayReceiveLogic.Current.RemoveEvent("HumidityDevice"); + + base.CloseFormBefore(); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 妫�娴嬭兘鍚︿繚瀛樻埧闂� + /// </summary> + /// <returns></returns> + private bool CheckCanSaveRoom() + { + if (this.cloneRoom.Name == string.Empty) + { + //璇疯緭鍏ユ埧闂村悕绉� + this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uPleaseInputRoomName)); + return false; + } + if (string.IsNullOrEmpty(this.cloneRoom.FloorId) == true) + { + if (HdlRoomLogic.Current.GetAllListRooms().Find((obj) => obj.Name == this.cloneRoom.Name && obj.Id != this.cloneRoom.Id) != null) + { + this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.HadSameRoom)); + return false; + } + } + else + { + var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(this.cloneRoom.FloorId); + if (listRoom.Find((obj) => obj.Name == this.cloneRoom.Name && obj.Id != this.cloneRoom.Id) != null) + { + this.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.HadSameRoom)); + return false; + } + } + + return true; + } + + #endregion + } +} -- Gitblit v1.8.0