From 145b157ba183ebf877c93ed2dbb01ec737c993d3 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 08 十二月 2020 18:59:33 +0800
Subject: [PATCH] Merge branch 'WJC'
---
HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/RoomEditPageBLL.cs | 203 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 168 insertions(+), 35 deletions(-)
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/RoomEditPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/RoomEditPageBLL.cs
index 93308e5..5c2cbb0 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/RoomEditPageBLL.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/RoomListManage/RoomEditPageBLL.cs
@@ -2,6 +2,8 @@
using Shared;
using HDL_ON.Entity;
using System.Collections.Generic;
+using HDL_ON.DAL.Server;
+using System.Threading;
namespace HDL_ON.UI
{
@@ -29,7 +31,7 @@
{
if (btnOption.TextID == StringId.Save)
{
- if (string.IsNullOrEmpty(room.name))
+ if (string.IsNullOrEmpty(room.roomName))
{
new Tip()
{
@@ -39,7 +41,7 @@
}.Show(bodyView);
return;
}
- if(string.IsNullOrEmpty( room.floorName))
+ if (string.IsNullOrEmpty(room.floorName))
{
new Tip()
{
@@ -49,15 +51,15 @@
}.Show(bodyView);
return;
}
- foreach (var tempRoom in DB_ResidenceData.rooms)
+ foreach (var tempRoom in DB_ResidenceData.residenceData.Rooms)
{
- if (room.name == tempRoom.name)
+ if (room.roomName == tempRoom.roomName)
{
new PublicAssmebly().TipMsg(StringId.Tip, StringId.AddingFailed_RoomAlreadyExists);
return;
}
}
- DB_ResidenceData.rooms.Add(room);
+ SpatialInfo.CurrentSpatial.AddRoom(room);
room.SaveRoomData();
backAction();
this.RemoveFromParent();
@@ -68,13 +70,16 @@
{
foreach (var f in DB_ResidenceData.functionList.GetAllFunction())
{
- if (f.roomIds.Contains(room.sid))
+ if (f.roomIds.Contains(room.uid))
{
- f.roomIds.Remove(room.sid);
+ f.roomIds.Remove(room.uid);
}
}
- DB_ResidenceData.DelRoom(room);
- backAction();
+ SpatialInfo.CurrentSpatial.DelRoom(room);
+ // backAction();
+ // DB_ResidenceData.DelRoom(room);
+ //鍒犻櫎浜嬩欢鍥炶皟
+ this.deleteAction?.Invoke();
this.RemoveFromParent();
};
new PublicAssmebly().TipMsg(StringId.Tip, StringId.DeleteRoomTip, action);
@@ -112,7 +117,7 @@
return;
}
btnRoomName.Text = str;
- room.name = str;
+ room.roomName = str;
if (pageTitleId == StringId.EditRoomInfo)
{
room.SaveRoomData();
@@ -121,17 +126,17 @@
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
{
List<string> roomNameList = new List<string>();
- foreach (var rroom in DB_ResidenceData.rooms)
+ foreach (var rroom in DB_ResidenceData.residenceData.Rooms)
{
- roomNameList.Add(rroom.name);
+ roomNameList.Add(rroom.roomName);
}
if (pageTitleId == StringId.AddRoom)
{
- new PublicAssmebly().LoadDialog_EditParater(StringId.RoomName, room.name, callBack, StringId.RoomNameCannotBeEmpty, StringId.RoomNameAlreadyExists, roomNameList);
+ new PublicAssmebly().LoadDialog_EditParater(StringId.RoomName, room.roomName, callBack, StringId.RoomNameCannotBeEmpty, StringId.RoomNameAlreadyExists, roomNameList);
}
else
{
- new PublicAssmebly().LoadDialog_EditParater(StringId.RoomName, room.name, callBack, StringId.RoomNameCannotBeEmpty, StringId.EidtFailed_RoomAlreadyExists, roomNameList);
+ new PublicAssmebly().LoadDialog_EditParater(StringId.RoomName, room.roomName, callBack, StringId.RoomNameCannotBeEmpty, StringId.EidtFailed_RoomAlreadyExists, roomNameList);
}
};
btnEditRoomNameIcon.MouseUpEventHandler = eventHandler;
@@ -222,51 +227,179 @@
{
baseView.RemoveFromParent();
};
- btnTakePicture.MouseDownEventHandler = (sender, e) => {
+ btnTakePicture.MouseDownEventHandler = (sender, e) =>
+ {
btnTakePicture.IsSelected = true;
};
+ //鎷嶇収
btnTakePicture.MouseUpEventHandler = (sender, e) =>
{
btnTakePicture.IsSelected = false;
- var pid = Guid.NewGuid();
+
+ var imageName = Guid.NewGuid().ToString();
+ //var imageName = room.sid;
CropImage.TakePicture((imagePath) =>
{
- if (imagePath != null)
- {
- btnRoomBg.ImagePath = imagePath.ToString();
- room.backgroundImage = btnRoomBg.ImagePath;
- MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
- }
- }, pid.ToString(), 16, 9);
- if (pageTitleId == StringId.EditRoomInfo)
- {
- room.SaveRoomData();
- }
+ CropImageCallBack(imagePath);
+
+ }, imageName, 16, 9);
+
baseView.RemoveFromParent();
};
- btnAlbum.MouseDownEventHandler = (sender, e) => {
+ //閫夋嫨鐓х墖
+ btnAlbum.MouseDownEventHandler = (sender, e) =>
+ {
btnAlbum.IsSelected = true;
};
btnAlbum.MouseUpEventHandler = (sender, e) =>
{
btnAlbum.IsSelected = false;
- var pid = Guid.NewGuid();
+
+ //浠庣浉鍐岄�夋嫨鍥剧墖瑁佸壀
+ var imageName = Guid.NewGuid().ToString();
+ //var imageName = room.sid;
CropImage.SelectPicture((imagePath) =>
{
- if (imagePath != null)
+ CropImageCallBack(imagePath);
+
+ }, imageName, 16, 9);
+
+ baseView.RemoveFromParent();
+
+ };
+
+ //鎴块棿榛樿鍥惧簱
+ btnDefaultGallery.MouseUpEventHandler = (sender, e) => {
+ pictureOptionView.Parent.RemoveFromParent();
+ Action<string> action = (obj) => {
+ room.backgroundImage = obj;
+ btnRoomBg.ImagePath = room.backgroundImage;
+ if (pageTitleId == StringId.EditRoomInfo)
{
- btnRoomBg.ImagePath = imagePath.ToString();
- room.backgroundImage = btnRoomBg.ImagePath;
- MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + imagePath);
+ room.SaveRoomData();
}
- }, pid.ToString(), 16, 9);
+ };
+
+ var galleryPage = new RoomGalleryPage(room.backgroundImage, action);
+ MainPage.BasePageView.AddChidren(galleryPage);
+ galleryPage.LoadPage(true);
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+ };
+ }
+
+ /// <summary>
+ /// 瑁佸壀瀹岀収鐗囧洖璋冿紝缁熶竴澶勭悊
+ /// </summary>
+ /// <param name="imagePath">瑁佸壀鍚庣殑鐪熷疄璺緞</param>
+ /// <param name="imageName">鑷畾涔夌殑鍥剧墖鍚嶇О</param>
+ void CropImageCallBack(string selectImagePath)
+ {
+ if (string.IsNullOrEmpty(selectImagePath) == true)
+ {
+ return;
+ }
+ //涓婁紶鎴愬姛鍒板洖璋�
+ Action<string> uploadSuccessAction = (imageUrl) =>
+ {
+ //2020-12-03 闇�瑕佽鏈�鏂扮殑鍥剧墖璺緞鍚屾鍒颁簯绔�
+ room.backgroundImage = imageUrl;
if (pageTitleId == StringId.EditRoomInfo)
{
room.SaveRoomData();
+
+
}
- baseView.RemoveFromParent();
};
+ //涓婁紶鍥剧墖鍒颁簯绔�
+ UploadImage(selectImagePath, btnRoomBg, room, uploadSuccessAction);
}
+
+ /// <summary>
+ /// 涓婁紶鍥剧墖鏂规硶
+ /// </summary>
+ /// <param name="selectImagePath">瑁佸壀鍚庣殑鍥剧墖璺緞</param>
+ /// <param name="imageView"></param>
+ /// <param name="uploadSuccessAction"></param>
+ void UploadImage(string selectImagePath, ImageView imageView, Room mRoom, Action<string> uploadSuccessAction)
+ {
+ try
+ {
+ //MainPage.Log("SelectPicture 瑁佸壀鍥剧墖杩斿洖璺緞: " + selectImagePath);
+ //1.璇诲彇瑁佸壀鍚庣殑鍥剧墖锛岀劧鍚庡垹闄�
+ var imageBytes = Shared.IO.FileUtils.ReadFile(selectImagePath);
+ System.IO.File.Delete(selectImagePath);
+
+ var waitPage = new Loading();
+ bodyView.AddChidren(waitPage);
+ waitPage.Start(Language.StringByID(StringId.PleaseWait));
+ //寮�濮嬩笂浼�
+ new Thread(() =>
+ {
+ try
+ {
+ var newImageName = mRoom.roomName.Trim() + ".png";
+ var uploadImageObj = new UploadImageObj()
+ {
+ prefix = "Room" + Utlis.GetTimestamp(),
+ fileName = newImageName,
+ uid = mRoom.uid,
+ content = imageBytes,
+ };
+
+ var imageUrl = ImageUtlis.Current.UploadImage(uploadImageObj);
+ if (!string.IsNullOrEmpty(imageUrl) && imageUrl.Contains(newImageName))
+ {
+ //涓婁紶鎴愬姛
+ Application.RunOnMainThread(() =>
+ {
+ //Utlis.WriteLine("涓婁紶鎴愬姛锛�" + imageUrl);
+ //1.2濡傛灉鏄嚜瀹氫箟鍥剧墖鍒犻櫎涔嬪墠鐨�
+ if (!string.IsNullOrEmpty(imageView.ImagePath) && !imageView.ImagePath.Contains("Classification/Room/Roombg"))
+ {
+ //Utlis.WriteLine("鍒犻櫎: " + imageView.ImagePath);
+ System.IO.File.Delete(imageView.ImagePath);
+ }
+ //閲嶅懡鍚嶄繚瀛�
+ FileUtils.WriteFileByBytes(imageUrl, imageBytes);
+ imageView.ImagePath = null;
+ imageView.ImageBytes = imageBytes;
+ //涓婁紶鎴愬姛
+ Utlis.ShowTip(Language.StringByID(StringId.UploadSuccessfully));
+ uploadSuccessAction?.Invoke(imageUrl);
+ });
+ }
+ else
+ {
+ //涓婁紶澶辫触
+ Application.RunOnMainThread(() =>
+ {
+ //涓婁紶澶辫触
+ Utlis.ShowTip(Language.StringByID(StringId.UploadFailed));
+ });
+ }
+
+ }
+ catch (Exception ex)
+ {
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ if (waitPage != null)
+ {
+ waitPage.RemoveFromParent();
+ waitPage = null;
+ }
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ }
+ catch { }
+ }
+
}
}
\ No newline at end of file
--
Gitblit v1.8.0