| | |
| | | |
| | | namespace HDL_ON.UI |
| | | { |
| | | /// <summary> |
| | | /// 使用权限页面 |
| | | /// </summary> |
| | | public partial class MemberPermissionPage : FrameLayout |
| | | { |
| | | MemberPermissionPage bodyView; |
| | | Button btnDelMember; |
| | | VerticalScrolViewLayout roomListView; |
| | | |
| | | ResidenceMemberInfo memberInfo; |
| | | |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | Text = memberInfo.Nickname + "(" + memberInfo.UserName + ")", |
| | | //Text = memberInfo.nickName + "(" + memberInfo.UserName + ")", |
| | | }; |
| | | headPortraitView.AddChidren(btnMemberName); |
| | | string username = HDLCommon.Current.GetUserName(memberInfo.memberName); |
| | | btnMemberName.Text = memberInfo.nickName + "(" + username + ")"; |
| | | |
| | | #region RoomList |
| | | FrameLayout contentView = new FrameLayout() |
| | | roomListView = new VerticalScrolViewLayout() |
| | | { |
| | | Y = Application.GetRealHeight(138), |
| | | Height = Application.GetRealHeight(485), |
| | | Height = Application.GetRealHeight(471), |
| | | //BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | }; |
| | | bodyView.AddChidren(roomListView); |
| | | #endregion |
| | | |
| | | btnDelMember = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(617), |
| | | //Height = MainPage.Increase ? Application.GetRealHeight(70) : Application.GetRealHeight(50), |
| | | Height = Application.GetRealHeight(50), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | TextColor = CSS_Color.WarningColor, |
| | | TextID = StringId.RemoveTheMember, |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | }; |
| | | bodyView.AddChidren(contentView); |
| | | bodyView.AddChidren(btnDelMember); |
| | | |
| | | LoadEventList(); |
| | | |
| | | GetShareDataByAccount(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载房间列表,统计分享的数据 |
| | | /// </summary> |
| | | void ShowRoomListView() |
| | | { |
| | | roomListView.RemoveAll(); |
| | | |
| | | var titleView = new FrameLayout() |
| | | { |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Height = Application.GetRealWidth(44), |
| | | }; |
| | | contentView.AddChidren(titleView); |
| | | roomListView.AddChidren(titleView); |
| | | |
| | | var btnTitle = new Button() |
| | | { |
| | |
| | | var btnLine = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = btnTitle.Bottom, |
| | | Y = titleView.Height - Application.GetRealHeight(2), |
| | | Width = Application.GetRealWidth(360), |
| | | Height = Application.GetRealHeight(1), |
| | | BackgroundColor = CSS_Color.DividingLineColor, |
| | | }; |
| | | contentView.AddChidren(btnLine); |
| | | titleView.AddChidren(btnLine); |
| | | |
| | | //--------------------------------------------- |
| | | var roomListView = new VerticalScrolViewLayout() |
| | | //未分配区域的功能 |
| | | List<Function> allFunctionList = FunctionList.List.GetDeviceFunctionList(); |
| | | //未分配区域的功能 |
| | | List<Function> unallocatedList = new List<Function>(); |
| | | foreach (var function in allFunctionList) |
| | | { |
| | | Y = btnLine.Bottom, |
| | | Height = Application.GetRealHeight(440), |
| | | }; |
| | | contentView.AddChidren(roomListView); |
| | | function.roomIds.Remove(null); |
| | | if (function.roomIds.Count > 0) |
| | | { |
| | | //allocatedList.Add(function); |
| | | } |
| | | else |
| | | { |
| | | unallocatedList.Add(function); |
| | | } |
| | | } |
| | | |
| | | //List<Function> funss = new List<Function>(); |
| | | //if (memberInfo.CurResidenceShareDate.Count > 0) |
| | | //{ |
| | | // foreach (var sd in memberInfo.CurResidenceShareDate) |
| | | // { |
| | | // funss.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<ShareData>(CommonPage.MyEncodingUTF8.GetString(sd.ShareDataBytes))); |
| | | // } |
| | | //} |
| | | foreach (var room in DB_ResidenceData.rooms) |
| | | //移除当前住宅已经不存在的功能 |
| | | for (int i = 0; i < memberInfo.CurResidenceShareDate.Count;) |
| | | { |
| | | var roomView = new FrameLayout() |
| | | var sd = memberInfo.CurResidenceShareDate[i]; |
| | | if (allFunctionList.Find((obj) => obj.deviceId == sd.shareTypeId) == null) |
| | | { |
| | | //new DAL.Server.HttpServerRequest().DeleteShareData(sd); |
| | | //待确认是否同步云端删除分享 |
| | | memberInfo.CurResidenceShareDate.Remove(sd); |
| | | } |
| | | else |
| | | { |
| | | i++; |
| | | } |
| | | } |
| | | |
| | | foreach (var room in SpatialInfo.CurrentSpatial.RoomList) |
| | | { |
| | | var roomView = new RowLayout() |
| | | { |
| | | Height = Application.GetRealWidth(50), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | LineColor = CSS_Color.MainBackgroundColor, |
| | | }; |
| | | roomListView.AddChidren(roomView); |
| | | |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | Text = room.name, |
| | | Text = room.roomName, |
| | | }; |
| | | roomView.AddChidren(btnRoomName); |
| | | |
| | |
| | | int addCount = 0; |
| | | foreach (var sd in memberInfo.CurResidenceShareDate) |
| | | { |
| | | if (room.GetRoomFunctions(false).Find((obj) => obj.sid == sd.ShareName) != null) |
| | | if (room.GetRoomFunctions(false).Find((obj) => obj.deviceId == sd.shareTypeId) != null) |
| | | { |
| | | addCount++; |
| | | } |
| | | } |
| | | //移除当前住宅已经不存在的功能 |
| | | for(int i= 0;i< memberInfo.CurResidenceShareDate.Count;) |
| | | { |
| | | var sd = memberInfo.CurResidenceShareDate[i]; |
| | | if (DB_ResidenceData.functionList.GetAllFunction().Find((obj) => obj.sid == sd.ShareName) == null) |
| | | { |
| | | new DAL.Server.HttpServerRequest().DeleteShareData(sd); |
| | | memberInfo.CurResidenceShareDate.Remove(sd); |
| | | } |
| | | else |
| | | { |
| | | i++; |
| | | } |
| | | } |
| | | ////移除当前住宅已经不存在的功能 |
| | | //for (int i = 0; i < memberInfo.CurResidenceShareDate.Count;) |
| | | //{ |
| | | // var sd = memberInfo.CurResidenceShareDate[i]; |
| | | // if (allFunctionList.Find((obj) => obj.deviceId == sd.shareTypeId) == null) |
| | | // { |
| | | // //new DAL.Server.HttpServerRequest().DeleteShareData(sd); |
| | | // memberInfo.CurResidenceShareDate.Remove(sd); |
| | | // } |
| | | // else |
| | | // { |
| | | // i++; |
| | | // } |
| | | //} |
| | | |
| | | var btnFunctionCount = new Button() |
| | | { |
| | |
| | | UnSelectedImagePath = "Public/Right.png", |
| | | }; |
| | | roomView.AddChidren(btnRight); |
| | | //分割线 |
| | | var lineView = new LineView(roomView.Height - Application.GetRealHeight(1)); |
| | | roomView.AddChidren(lineView); |
| | | //删除按钮 |
| | | var deleteBtn = new Button() |
| | | { |
| | | TextID = StringId.Del, |
| | | BackgroundColor = CSS_Color.AuxiliaryColor2, |
| | | TextColor = CSS_Color.MainBackgroundColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | }; |
| | | roomView.AddRightView(deleteBtn); |
| | | deleteBtn.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | //删除事件 |
| | | }; |
| | | |
| | | EventHandler<MouseEventArgs> eHandler = (sender, e) => |
| | | { |
| | | Action<string> refreshFunctionCount = (newCount) => { |
| | | btnFunctionCount.Text = newCount + "/" + room.GetRoomFunctions(false).Count.ToString(); |
| | | }; |
| | | var mmp = new MemberFunctionPermissionPage(memberInfo, room,refreshFunctionCount); |
| | | var mmp = new MemberFunctionPermissionPage(memberInfo, room, refreshFunctionCount); |
| | | MainPage.BasePageView.AddChidren(mmp); |
| | | mmp.LoadPage(StringId.PermissionToUse); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | |
| | | roomView.MouseUpEventHandler = eHandler; |
| | | btnRoomName.MouseUpEventHandler = eHandler; |
| | | btnRight.MouseUpEventHandler = eHandler; |
| | | btnFunctionCount.MouseUpEventHandler = eHandler; |
| | | } |
| | | |
| | | if (DB_ResidenceData.rooms.IndexOf(room) < DB_ResidenceData.rooms.Count - 2) |
| | | //2020-12-16 加载未分配区域功能 |
| | | AddNoAreaFunction(unallocatedList); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 添加未分配区域功能 |
| | | /// </summary> |
| | | /// <param name="unallocatedList"></param> |
| | | void AddNoAreaFunction(List<Function> unallocatedList) |
| | | { |
| | | var roomView = new RowLayout() |
| | | { |
| | | Height = Application.GetRealWidth(50), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | LineColor = CSS_Color.MainBackgroundColor, |
| | | }; |
| | | roomListView.AddChidren(roomView); |
| | | |
| | | var btnRoomName = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealWidth(4), |
| | | Width = Application.GetRealWidth(330), |
| | | Height = Application.GetRealWidth(24), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | TextID = StringId.NoAreaFunction |
| | | }; |
| | | roomView.AddChidren(btnRoomName); |
| | | |
| | | //计算已经加入房间的设备数量 |
| | | int addCount = 0; |
| | | foreach (var sd in memberInfo.CurResidenceShareDate) |
| | | { |
| | | if (unallocatedList.Find((obj) => obj.deviceId == sd.shareTypeId) != null) |
| | | { |
| | | var btnRoomLine = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealWidth(49), |
| | | Width = Application.GetRealWidth(343), |
| | | Height = Application.GetRealWidth(1), |
| | | BackgroundColor = CSS_Color.DividingLineColor, |
| | | }; |
| | | roomView.AddChidren(btnRoomLine); |
| | | addCount++; |
| | | } |
| | | } |
| | | ////移除当前住宅已经不存在的功能 |
| | | //for (int i = 0; i < memberInfo.CurResidenceShareDate.Count;) |
| | | //{ |
| | | // var sd = memberInfo.CurResidenceShareDate[i]; |
| | | // if (allFunctionList.Find((obj) => obj.deviceId == sd.shareTypeId) == null) |
| | | // { |
| | | // //new DAL.Server.HttpServerRequest().DeleteShareData(sd); |
| | | // memberInfo.CurResidenceShareDate.Remove(sd); |
| | | // } |
| | | // else |
| | | // { |
| | | // i++; |
| | | // } |
| | | //} |
| | | |
| | | if (DB_ResidenceData.rooms.Count > 10) |
| | | var btnFunctionCount = new Button() |
| | | { |
| | | roomListView.ScrollEnabled = true; |
| | | } |
| | | else |
| | | { |
| | | roomListView.ScrollEnabled = false; |
| | | |
| | | roomListView.AddChidren(new Button() |
| | | { |
| | | Height = Application.GetRealWidth(441), |
| | | BackgroundColor = CSS_Color.BackgroundColor, |
| | | }); |
| | | } |
| | | #endregion |
| | | |
| | | btnDelMember = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(617), |
| | | Height = MainPage.Increase ? Application.GetRealHeight(70) : Application.GetRealHeight(50), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | TextColor = CSS_Color.WarningColor, |
| | | TextID = StringId.RemoveTheMember, |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | X = Application.GetRealWidth(16), |
| | | Y = btnRoomName.Bottom, |
| | | Width = Application.GetRealWidth(330), |
| | | Height = Application.GetRealWidth(18), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, |
| | | Text = addCount + "/" + unallocatedList.Count.ToString(), |
| | | }; |
| | | bodyView.AddChidren(btnDelMember); |
| | | roomView.AddChidren(btnFunctionCount); |
| | | |
| | | LoadEventList(); |
| | | var btnRight = new Button() |
| | | { |
| | | X = Application.GetRealWidth(351), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | | UnSelectedImagePath = "Public/Right.png", |
| | | }; |
| | | roomView.AddChidren(btnRight); |
| | | ////分割线 |
| | | //var lineView = new LineView(roomView.Height - Application.GetRealHeight(1)); |
| | | //roomView.AddChidren(lineView); |
| | | //删除按钮 |
| | | var deleteBtn = new Button() |
| | | { |
| | | TextID = StringId.Del, |
| | | BackgroundColor = CSS_Color.AuxiliaryColor2, |
| | | TextColor = CSS_Color.MainBackgroundColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | }; |
| | | roomView.AddRightView(deleteBtn); |
| | | deleteBtn.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | //删除事件 |
| | | }; |
| | | |
| | | EventHandler<MouseEventArgs> eHandler = (sender, e) => |
| | | { |
| | | Action<string> refreshFunctionCount = (newCount) => { |
| | | btnFunctionCount.Text = newCount + "/" + unallocatedList.Count.ToString(); |
| | | }; |
| | | //var mmp = new MemberFunctionPermissionPage(memberInfo, room, refreshFunctionCount); |
| | | //MainPage.BasePageView.AddChidren(mmp); |
| | | //mmp.LoadPage(StringId.PermissionToUse); |
| | | //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | roomView.MouseUpEventHandler = eHandler; |
| | | btnRoomName.MouseUpEventHandler = eHandler; |
| | | btnRight.MouseUpEventHandler = eHandler; |
| | | btnFunctionCount.MouseUpEventHandler = eHandler; |
| | | |
| | | |
| | | } |
| | | } |
| | | } |