From f4c9d8aed59049476cfbf7b08e59936bbd80a6c9 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 08 十二月 2020 17:27:53 +0800
Subject: [PATCH] 2020-12-08 1.增加分享设备的时候,判断当前房间分享设备总数,从而决定是否需要增加或者移除房间分享
---
HDL_ON/Common/Constant.cs | 4
HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs | 15 ++
HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs | 241 +++++++++++++++++++++++++++------------
.vs/HDL_APP_Project/xs/UserPrefs.xml | 49 ++++----
4 files changed, 207 insertions(+), 102 deletions(-)
diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml
index ef261b8..2f4a81d 100644
--- a/.vs/HDL_APP_Project/xs/UserPrefs.xml
+++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,12 +1,24 @@
锘�<Properties StartupConfiguration="{D998E133-F0DD-4760-BE3C-461632F54DA4}|Default">
<MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.00008030-00014C392121802E" />
- <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/Entity/UserInfo.cs">
+ <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs">
<Files>
<File FileName="HDL_ON/DAL/Server/HttpUtil.cs" Line="157" Column="54" />
- <File FileName="HDL_ON/UI/UI1-Login/SelectServerDialog.cs" Line="74" Column="119" />
+ <File FileName="HDL_ON/UI/UI1-Login/SelectServerDialog.cs" Line="109" Column="37" />
<File FileName="HDL_ON/DAL/Server/NewAPI.cs" Line="15" Column="29" />
- <File FileName="HDL_ON/DAL/Server/HttpServerRequest.cs" Line="102" Column="40" />
- <File FileName="HDL_ON/Entity/UserInfo.cs" Line="56" Column="39" />
+ <File FileName="HDL_ON/DAL/Server/HttpServerRequest.cs" Line="729" Column="51" />
+ <File FileName="HDL_ON/Entity/UserInfo.cs" Line="45" Column="13" />
+ <File FileName="HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs" Line="435" Column="1" />
+ <File FileName="HDL_ON/UI/MainPage.cs" Line="12" Column="19" />
+ <File FileName="HDL_ON/Common/Constant.cs" Line="199" Column="26" />
+ <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/AddMemberScanPageBLL.cs" Line="1" Column="1" />
+ <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/ChooseShareMemberTargetListPage.cs" Line="1" Column="1" />
+ <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/ChooseShareMemberTargetListPageBLL.cs" Line="1" Column="1" />
+ <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs" Line="76" Column="21" />
+ <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs" Line="259" Column="34" />
+ <File FileName="HDL_ON/DAL/Server/NewApiRes.cs" Line="1334" Column="18" />
+ <File FileName="HDL_ON/Entity/Room.cs" Line="51" Column="23" />
+ <File FileName="HDL_ON/Entity/ResponseEntity/ResidenceMemberInfo.cs" Line="41" Column="32" />
+ <File FileName="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberPermissionPage.cs" Line="219" Column="31" />
</Files>
<Pads>
<Pad Id="ProjectPad">
@@ -15,32 +27,19 @@
<Node name="HDL_ON" expanded="True">
<Node name="Common" expanded="True" />
<Node name="DAL" expanded="True">
- <Node name="Mqtt" expanded="True" />
<Node name="Server" expanded="True" />
</Node>
<Node name="Entity" expanded="True">
- <Node name="UserInfo.cs" selected="True" />
+ <Node name="ResponseEntity" expanded="True" />
</Node>
<Node name="UI" expanded="True">
- <Node name="CSS" expanded="True" />
- <Node name="UI0-Public" expanded="True">
- <Node name="Widget" expanded="True" />
- </Node>
- <Node name="UI1-Login" expanded="True" />
<Node name="UI2" expanded="True">
- <Node name="2-Classification" expanded="True" />
- <Node name="3-Intelligence" expanded="True">
- <Node name="Scene" expanded="True" />
- </Node>
<Node name="4-PersonalCenter" expanded="True">
- <Node name="AboutOn" expanded="True" />
- <Node name="AccountBindInfo" expanded="True" />
- <Node name="MemberManagement" expanded="True" />
- <Node name="ResetAccountPassword" expanded="True" />
- </Node>
- <Node name="FuntionControlView" expanded="True">
- <Node name="EnvironmentalScience" expanded="True" />
- <Node name="Music" expanded="True" />
+ <Node name="MemberManagement" expanded="True">
+ <Node name="MemberFunctionPermissionPage.cs" selected="True" />
+ </Node>
+ <Node name="RoomListManage" expanded="True" />
+ <Node name="SearchDevice" expanded="True" />
</Node>
</Node>
</Node>
@@ -66,7 +65,9 @@
<MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhone" />
<MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.822QECU5228FU" />
<MonoDevelop.Ide.DebuggingService.Breakpoints>
- <BreakpointStore />
+ <BreakpointStore>
+ <Breakpoint file="/Users/jlchen/JLChen/ProjectsCode/HDLGit/ON+/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs" relfile="HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs" line="60" column="1" />
+ </BreakpointStore>
</MonoDevelop.Ide.DebuggingService.Breakpoints>
<MultiItemStartupConfigurations />
</Properties>
\ No newline at end of file
diff --git a/HDL_ON/Common/Constant.cs b/HDL_ON/Common/Constant.cs
index 3d949c0..df7d457 100644
--- a/HDL_ON/Common/Constant.cs
+++ b/HDL_ON/Common/Constant.cs
@@ -210,6 +210,10 @@
///
/// </summary>
SCENE,
+ /// <summary>
+ ///
+ /// </summary>
+ LOGIC,
}
/// <summary>
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs
index 1e50762..172eb57 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPage.cs
@@ -35,8 +35,17 @@
Action<string> refreshFunctionCount;
+ /// <summary>
+ /// 涔嬪墠鐨勫垎浜垪琛�
+ /// </summary>
List<ShareData> funs;
+ /// <summary>
+ /// 灞炰簬褰撳墠鎴块棿鏈�缁堢殑璁惧鍒嗕韩鍒楄〃
+ /// </summary>
List<ShareData> funs_New;
+ /// <summary>
+ /// 鍒犻櫎鐨勫垎浜垪琛�
+ /// </summary>
List<ShareData> funs_Del;
public MemberFunctionPermissionPage(ResidenceMemberInfo mInfo, Room r, Action<string> action)
@@ -180,9 +189,13 @@
Tag = "ChooseIcon"
};
roomView.AddChidren(btnChoose);
- if (shareDatas.Find((obj) => obj.shareTypeId == function.deviceId) != null)
+
+ var shareData = shareDatas.Find((obj) => obj.shareTypeId == function.deviceId);
+ if (shareData != null)
{
btnChoose.IsSelected = true;
+ //鍒锋柊灞炰簬褰撳墠鎴块棿鐨勫垎浜粺璁�
+ funs_New.Add(shareData);
}
else
{
diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs
index 2fafb92..0c37300 100644
--- a/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs
+++ b/HDL_ON/UI/UI2/4-PersonalCenter/MemberManagement/MemberFunctionPermissionPageBLL.cs
@@ -26,94 +26,122 @@
{
new Thread(() =>
{
- bool result = false;
- Action act = () => { };
- Application.RunOnMainThread(() =>
+ try
{
- act = new PublicAssmebly().TipLoadingMsgDialog(Language.StringByID(StringId.SavingPleaseWait));
- });
- //foreach (var f in funs_Del)
- //{
- // LoadMethod_DelSharedData(f);
- //}
- //foreach (var f in funs_New)
- //{
- // var sd = funs.Find((obj) => obj.shareTypeId == f.shareTypeId);
- // //濡傛灉璇ュ姛鑳藉凡缁忓垎浜紝鏇存柊鍘熸湁鐨勬暟鎹�
- // if (null != sd)
- // {
- // sd.ShareDataBytes = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(f));
- // result = EditShareData(sd);
- // }
- // else//濡傛灉璇ュ姛鑳芥湭琚垎浜紝鍒欐柊澧炲垎浜�
- // {
- // result = LoadMethod_AddShareData(f);
- // }
- // if (!result)
- // {
- // Application.RunOnMainThread(() =>
- // {
- // new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.FunctionSharingFailed), true);
- // });
- // }
- //}
-
- //1.鎵归噺鍒犻櫎鍒嗕韩
- var deleteShareObj = new DeleteShareObj() {
- shareDatas = funs_Del,
- homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID,
- };
- LoadMethod_DelSharedData(deleteShareObj);
-
- //2.鎵归噺涓婁紶
- var funs_NeedAdd = new List<ShareData>();
- foreach (var f in funs_New)
- {
- var sd = funs.Find((obj) => obj.shareTypeId == f.shareTypeId);
- //濡傛灉璇ュ姛鑳藉凡缁忓垎浜紝鏇存柊鍘熸湁鐨勬暟鎹�
- if (null == sd)
+ bool result = false;
+ Action act = () => { };
+ Application.RunOnMainThread(() =>
{
- funs_NeedAdd.Add(f);
+ act = new PublicAssmebly().TipLoadingMsgDialog(Language.StringByID(StringId.SavingPleaseWait));
+ });
+
+ //1.绠$悊鎴块棿鍒嗕韩
+ if (funs_New != null && funs_New.Count > 0)
+ {
+ //鍒嗕韩璁惧澶т簬0
+ var success = ShareRoom();
+ if (success)
+ {
+ Utlis.WriteLine("娣诲姞鎴块棿鍒嗕韩鎴愬姛");
+ }
+ else
+ {
+ Utlis.WriteLine("娣诲姞鎴块棿鍒嗕韩澶辫触");
+ }
}
- }
+ else
+ {
+ var success = DeleteShareRoom();
+ if (success)
+ {
+ Utlis.WriteLine("鍒犻櫎鎴块棿鍒嗕韩鎴愬姛");
+ }
+ else
+ {
+ Utlis.WriteLine("鍒犻櫎鎴块棿鍒嗕韩澶辫触");
+ }
+ }
- List<string> childAccountIds = new List<string>();
- childAccountIds.Add(memberInfo.childAccountId);
- var addShareObj = new AddShareObj()
- {
- shareDatas = funs_NeedAdd,
- childAccountIds = childAccountIds,
- homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID,
- };
- result = LoadMethod_AddShareData(addShareObj);
+ //2.鎵归噺鍒犻櫎鍒嗕韩
+ var deleteShareObj = new DeleteShareObj()
+ {
+ shareDatas = funs_Del,
+ homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID,
+ };
+ LoadMethod_DelSharedData(deleteShareObj);
- if (!result)
- {
+ //3.鎵归噺涓婁紶
+ var funs_NeedAdd = new List<ShareData>();
+ foreach (var f in funs_New)
+ {
+ var sd = funs.Find((obj) => obj.shareTypeId == f.shareTypeId);
+ //濡傛灉璇ュ姛鑳藉凡缁忓垎浜紝涓嶇敤鍒嗕韩
+ if (null == sd)
+ {
+ funs_NeedAdd.Add(f);
+
+ }
+ }
+
+ List<string> childAccountIds = new List<string>();
+ childAccountIds.Add(memberInfo.childAccountId);
+ var addShareObj = new AddShareObj()
+ {
+ shareDatas = funs_NeedAdd,
+ childAccountIds = childAccountIds,
+ homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID,
+ };
+ result = LoadMethod_AddShareData(addShareObj);
+
+ if (!result)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.FunctionSharingFailed), true);
+ });
+ }
+
+
Application.RunOnMainThread(() =>
{
- new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.FunctionSharingFailed), true);
+ act();
});
- }
-
-
- Application.RunOnMainThread(() =>
- {
- act();
- });
- if (result)
- {
- Application.RunOnMainThread(() =>
+ if (result)
{
- new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.FunctionSharingSucceeded), true);
- memberInfo.CurResidenceShareDate = funs_New;
- });
- Thread.Sleep(1600);
- Application.RunOnMainThread(() =>
- {
+ //4.1绠$悊鏈�缁堢殑鍒嗕韩鍒楄〃
+ var funs_final = new List<ShareData>();
+ funs_final.AddRange(funs);
+ //4.2绉婚櫎鍒犻櫎鐨�
+ foreach (var share_d in funs_Del)
+ {
+ var sd = funs_final.Find((obj) => obj.shareTypeId == share_d.shareTypeId);
+ //濡傛灉璇ュ姛鑳藉凡缁忓垎浜紝涓嶇敤鍒嗕韩
+ if (null != sd)
+ {
+ funs_final.Remove(share_d);
+ }
+ }
+ //4.3娣诲姞鏂板鐨�
+ funs_final.AddRange(funs_NeedAdd);
+
+ Application.RunOnMainThread(() =>
+ {
+ new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.FunctionSharingSucceeded), true);
+ memberInfo.CurResidenceShareDate = funs_final;
+ });
+ Thread.Sleep(1600);
+ Application.RunOnMainThread(() =>
+ {
//MainPage.BasePageView.RemoveAt(MainPage.BasePageView.ChildrenCount - 1);
MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1).RemoveFromParent();
- refreshFunctionCount?.Invoke(funs_New.Count.ToString());
- });
+ refreshFunctionCount?.Invoke(funs_New.Count.ToString());
+ });
+ }
+ }
+ catch { }
+ finally
+ {
+
}
})
{ IsBackground = true }.Start();
@@ -167,6 +195,65 @@
}
}
+ /// <summary>
+ /// 鍒嗕韩鎴块棿
+ /// </summary>
+ /// <returns></returns>
+ bool ShareRoom()
+ {
+ var roomList = new List<ShareData>();
+ roomList.Add(new ShareData() {
+ shareType = ShareType.ROOM.ToString(),
+ shareTypeId = room.roomId
+ });
+ List<string> childAccountIds = new List<string>();
+ childAccountIds.Add(memberInfo.childAccountId);
+ var addShareObj = new AddShareObj()
+ {
+ childAccountIds = childAccountIds,
+ homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID,
+ shareDatas = roomList
+ };
+ var responePack = new HttpServerRequest().AddShareData(addShareObj);
+ if (responePack.Code != StateCode.SUCCESS)
+ {
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+
+ /// <summary>
+ /// 鍒犻櫎鎴块棿鍒嗕韩
+ /// </summary>
+ /// <returns></returns>
+ bool DeleteShareRoom()
+ {
+ var roomList = new List<ShareData>();
+ roomList.Add(new ShareData()
+ {
+ shareType = ShareType.ROOM.ToString(),
+ shareTypeId = room.roomId
+ });
+
+ var deleteShareObj = new DeleteShareObj()
+ {
+ shareDatas = roomList,
+ homeId = DB_ResidenceData.residenceData.residecenInfo.RegionID,
+ };
+ var responePack = new HttpServerRequest().DeleteShareData(deleteShareObj);
+ if (responePack.Code != StateCode.SUCCESS)
+ {
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+
///// <summary>
///// 鏇存柊鍏变韩鏁版嵁
///// </summary>
--
Gitblit v1.8.0