From 16604a593202f2f87adf71abd57d036fe7da3b52 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 18 十一月 2019 10:39:42 +0800
Subject: [PATCH] 同步了全部的代码
---
ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs | 139 +++++++++++++++++++++++++++++++++++++++-------
1 files changed, 118 insertions(+), 21 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs
index 1b22eb0..33a4e14 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs
@@ -12,6 +12,10 @@
#region 鈻� 鍙橀噺澹版槑___________________________
/// <summary>
+ /// 缁撴潫缂栬緫鍚嶇О鐨勪簨浠�
+ /// </summary>
+ public Action<string> FinishEditorEvent = null;
+ /// <summary>
/// 鍒楄〃鎺т欢
/// </summary>
private VerticalListControl listview = null;
@@ -51,18 +55,26 @@
//娓呯┖bodyFrame
this.ClearBodyFrame();
- var btnPic = new PicViewControl(887, 444);
+ var btnPic = new ImageView();
btnPic.Y = Application.GetRealHeight(60);
+ btnPic.Width = Application.GetMinRealAverage(887);
+ btnPic.Height = Application.GetMinRealAverage(444);
btnPic.Gravity = Gravity.CenterHorizontal;
- btnPic.UnSelectedImagePath = this.cloneRoom.BackgroundImage;
+ btnPic.Radius = 17;
+ btnPic.ImagePath = this.editorRoom.BackgroundImage;
bodyFrameLayout.AddChidren(btnPic);
+ btnPic.MouseUpEventHandler += (sender, e) =>
+ {
+ //鎴块棿鍥剧墖閫夋嫨
+ this.RoomPictrueSelect(btnPic);
+ };
//鍒濆鍖栨甯�
var tableContr = new InformationEditorControl();
this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 562, 1175);
//娣诲姞鍏ㄩ儴鑿滃崟
- this.AddAllMenuRow(tableContr);
+ this.AddAllMenuRow(tableContr, btnPic);
}
#endregion
@@ -72,7 +84,7 @@
/// <summary>
/// 娣诲姞鍏ㄩ儴鑿滃崟
/// </summary>
- private void AddAllMenuRow(InformationEditorControl tableContr)
+ private void AddAllMenuRow(InformationEditorControl tableContr, ImageView btnPic)
{
//銆愭埧闂村悕绉般��
var txtRoomName = new FrameCaptionInputControl(Language.StringByID(R.MyInternationalizationString.uRoomName), this.cloneRoom.Name, this.listview.rowSpace / 2);
@@ -82,19 +94,23 @@
//搴曠嚎
txtRoomName.AddBottomLine();
- //銆愭墍灞炴ゼ灞傘��
- 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.AddRightArrow();
- //搴曠嚎
- btnBelone.AddBottomLine();
- btnBelone.ButtonClickEvent += (sender, e) =>
+ //璇PP涓烘湁妤煎眰鐨勬ā寮忔墠寮�鍚繖涓彍鍗�
+ if (string.IsNullOrEmpty(this.cloneRoom.FloorId) == false)
{
- //妤煎眰閫夋嫨
- this.ShowSelectFloor(btnBelone);
- };
+ //銆愭墍灞炴ゼ灞傘��
+ 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.AddRightArrow();
+ //搴曠嚎
+ btnBelone.AddBottomLine();
+ btnBelone.ButtonClickEvent += (sender, e) =>
+ {
+ //妤煎眰閫夋嫨
+ this.ShowSelectFloor(btnBelone);
+ };
+ }
//銆愭俯搴︺��
var rowTemperature = new FrameRowControl(this.listview.rowSpace / 2);
@@ -151,7 +167,19 @@
{
return;
}
+ if (editorRoom.BackgroundImageType == 1 || editorRoom.BackgroundImageType == 2)
+ {
+ //鐢熸垚鍥剧墖
+ string picName = $"Room_{DateTime.Now.ToString("yyyyMMddHHmmss")}";
+ string picFullName = System.IO.Path.Combine(Common.Config.Instance.FullPath, picName);
+ Shared.IO.FileUtils.WriteFileByBytes(picFullName, btnPic.ImageBytes);
+ editorRoom.BackgroundImage = picFullName;
+ //澶囦唤
+ HdlAutoBackupLogic.AddOrEditorFile(picName);
+ }
editorRoom.Save();
+
+ FinishEditorEvent?.Invoke(this.cloneRoom.Name);
this.CloseForm();
};
}
@@ -371,6 +399,69 @@
#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 localPic = new Phone.Device.Room.AddRoomSelectPicByLocal();
+ Shared.Phone.UserView.HomePage.Instance.AddChidren(localPic);
+ Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+ localPic.Show();
+ localPic.action = (imgPath) =>
+ {
+ if (string.IsNullOrEmpty(imgPath) == true)
+ {
+ return;
+ }
+ this.cloneRoom.BackgroundImageType = 0;
+ this.cloneRoom.BackgroundImage = imgPath;
+ imageContr.ImagePath = imgPath;
+ };
+ });
+ //鎷嶇収
+ menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.Photograph), () =>
+ {
+ //閫氳繃鐩告満鎷嶇収瑁佸壀
+ CropImage.TakePicture((imagePath) =>
+ {
+ if (string.IsNullOrEmpty(imagePath) == true)
+ {
+ return;
+ }
+ 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.cloneRoom.BackgroundImageType = 2;
+ imageContr.ImageBytes = Shared.IO.FileUtils.ReadFile(imagePath);
+ System.IO.File.Delete(imagePath);
+
+ }, "HdlPic", 2, 1);
+ });
+ }
+
+ #endregion
+
#region 鈻� 鐣岄潰鍏抽棴___________________________
/// <summary>
@@ -378,6 +469,8 @@
/// </summary>
public override void CloseForm()
{
+ this.FinishEditorEvent = null;
+
HdlDeviceAttributeLogic.Current.RemoveEvent("TemperatrueDevice");
HdlDeviceAttributeLogic.Current.RemoveEvent("HumidityDevice");
@@ -417,13 +510,17 @@
return false;
}
}
-
- if (cloneRoom.BackgroundImageType == 1 || cloneRoom.BackgroundImageType == 2)
+ if (editorRoom.BackgroundImageType == 1 || editorRoom.BackgroundImageType == 2)
{
- this.cloneRoom.MoveBackGroundIamageFileToDirectory(cloneRoom.BackgroundImage, cloneRoom.BackgroundImage);
- this.cloneRoom.BackgroundImage = $"{Common.Config.Instance.Guid}/{Common.Config.Instance.HomeId}/{cloneRoom.BackgroundImage}";
+ //鍒犻櫎鎺夊師鏉ョ殑鑷畾涔夊浘鐗�
+ if (System.IO.File.Exists(editorRoom.BackgroundImage) == true)
+ {
+ System.IO.File.Delete(editorRoom.BackgroundImage);
+ }
+ //澶囦唤
+ string[] MyArry = editorRoom.BackgroundImage.Split(new string[] { "/", @"\" }, StringSplitOptions.RemoveEmptyEntries);
+ HdlAutoBackupLogic.DeleteFile(MyArry[MyArry.Length - 1]);
}
-
editorRoom.FloorId = cloneRoom.FloorId;
editorRoom.Name = cloneRoom.Name;
editorRoom.HumidityDevice = cloneRoom.HumidityDevice;
--
Gitblit v1.8.0