HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2019-11-04 c7698e163e43cea9e7f8ee45f8e3f91c9265cca4
ZigbeeApp/Shared/Phone/Device/Logic/DeviceStateCondition.cs
@@ -23,7 +23,6 @@
        FrameLayout clickframeLayout = new FrameLayout();
        Button clickbutton = new Button();
        Button clicktextcolcrbutton = new Button();
        public void Show()
        {
@@ -44,7 +43,7 @@
                TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                TextAlignment = TextAlignment.CenterLeft,
                X = Application.GetRealWidth(160),
                Width = Application.GetRealWidth(300),
                Width = Application.GetRealWidth(600),
                Height = Application.GetRealHeight(69),
                Y = Application.GetRealHeight(92),
                TextID = MyInternationalizationString.devicestate,
@@ -145,7 +144,7 @@
            middle = new VerticalScrolViewLayout();
            middle.Y = devicetypehorizontalScrol.Bottom + Application.GetRealHeight(40);
            middle.Height = Application.GetRealHeight(1920) - devicetypehorizontalScrol.Y;
            middle.Height =Application.GetRealHeight(1920-40) - devicetypehorizontalScrol.Bottom;
            middle.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
            middle.X = Application.GetRealWidth(58);
            middle.Radius = (uint)Application.GetRealHeight(50);
@@ -170,47 +169,83 @@
                {
                    flMain.RemoveFromParent();
                };
                var foolrbjicon = new FrameLayout
                {
                    Width = Application.GetRealWidth(450),
                    Height = Application.GetRealHeight(780),
                    X = Application.GetRealWidth(1080 - 468 - 35),
                    Y = Application.GetRealHeight(184),
                    BackgroundImagePath= "Item/SelectFloor_Right.png",
                };
                flMain.AddChidren(foolrbjicon);
                var btnfoolrtext = new Button
                {
                    Width = Application.GetRealWidth(450),
                    Height = Application.GetRealHeight(150),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                    X = Application.GetRealWidth(80),
                    TextID = MyInternationalizationString.selecfoolr,
                };
                foolrbjicon.AddChidren(btnfoolrtext);
                var foolrbj = new VerticalScrolViewLayout
                {
                    Width = Application.GetRealWidth(400),
                    Height = Application.GetRealHeight(600),
                    X = Application.GetRealWidth(1080 - 400 - 60),
                    Y = Application.GetRealHeight(184 + 50),
                    BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
                    Radius = (uint)Application.GetRealHeight(30),
                    Width = Application.GetRealWidth(450),
                    Height =foolrbjicon.Height - btnfoolrtext.Height,
                    X = Application.GetRealWidth(80),
                    Y = btnfoolrtext.Bottom,
                };
                flMain.AddChidren(foolrbj);
                foolrbjicon.AddChidren(foolrbj);
                foreach (var foolr in Config.Instance.Home.FloorDics)
                {
                    var foolrRowLayout = new FrameLayout
                    var foolrRowLayout = new RowLayout
                    {
                        Height = Application.GetRealHeight(150),
                        LineColor= ZigbeeColor.Current.LogicMiddleBackgroundColor,
                    };
                    foolrbj.AddChidren(foolrRowLayout);
                    var btnfoolricon = new Button
                    {
                        Width = Application.GetRealWidth(81),
                        Height = Application.GetRealHeight(81),
                        UnSelectedImagePath = "Floor/Floor.png",
                        Gravity=Gravity.CenterVertical,
                    };
                    foolrRowLayout.AddChidren(btnfoolricon);
                    var btnfoolrname = new Button
                    {
                        Width = Application.GetRealWidth(250),
                        Height = Application.GetRealHeight(160),
                        Height = Application.GetRealHeight(150),
                        Text = foolr.Value,
                        TextAlignment = TextAlignment.Center,
                        TextColor = ZigbeeColor.Current.LogicTextBlackColor,
                        //SelectedTextColor=0xfffc744b,
                        TextAlignment = TextAlignment.CenterLeft,
                        TextColor = ZigbeeColor.Current.LogicBtnCancelColor,
                        Tag = foolr.Key,
                        X= btnfoolricon.Right+Application.GetRealWidth(12),
                    };
                    foolrRowLayout.AddChidren(btnfoolrname);
                    if (foolrname.Text == foolr.Value) {
                        btnfoolricon.UnSelectedImagePath = "Floor/FloorSelected.png";
                        btnfoolrname.TextColor = ZigbeeColor.Current.LogicTextBlackColor;
                    }
                    EventHandler<MouseEventArgs> foolrnameclick = (sender13, e13) =>
                    {
                        roomhorizontalScrol.RemoveAll();
                        devicetypehorizontalScrol.RemoveAll();
                        middle.RemoveAll();
                        foolrname.Text = btnfoolrname.Text;
                        flMain.RemoveFromParent();
                        var list = Send.GetRoomList(btnfoolrname.Tag.ToString());
                        AllRoomView(list, deviceTypeList, roomhorizontalScrol, devicetypehorizontalScrol);
                    };
                    foolrRowLayout.MouseUpEventHandler += foolrnameclick;
@@ -308,6 +343,7 @@
                        }
                        list.Add(device);
                    }
                    AllDeviceTypeView(list, devicetypehorizontalScrol);
                }
@@ -337,6 +373,7 @@
                        }
                        list.Add(device);
                    }
                    AllDeviceTypeView(list, devicetypehorizontalScrol);
@@ -715,9 +752,9 @@
                TextID = MyInternationalizationString.security,
                TextColor = ZigbeeColor.Current.LogicBtnTypeColor,
                Height = Application.GetRealHeight(140),
                Width = Application.GetRealWidth(320),
                Width = Application.GetRealWidth(420),
                TextAlignment = TextAlignment.Center,
                X = Btncancel.Right + Application.GetRealWidth(100),
                X = Btncancel.Right + Application.GetRealWidth(50),
                TextSize = 16,
                Text = common.DeviceEpointName,
            };
@@ -729,7 +766,7 @@
                Height = Application.GetRealHeight(140),
                Width = Application.GetRealWidth(200),
                TextAlignment = TextAlignment.CenterRight,
                X = Btntitle.Right + Application.GetRealWidth(100),
                X = Btntitle.Right + Application.GetRealWidth(50),
            };
            timetype.AddChidren(Btncomplete);
@@ -1370,52 +1407,19 @@
                    break;
                case DeviceType.DoorLock:
                    {
                        #region  ------
                        var doorlockifonlist = Send.ReadDoorLockIfon("ccccccfffe300347");
                        //var list = Send.ReadDoorLockIfon(common.DeviceAddr);
                        var pra = new UserCenter.MemberListInfoPra();
                        string result = await UserCenter.UserCenterLogic.GetResponseDataByRequestHttps("ZigbeeUsers/GetSubAccountByDistributedMark", false, pra);
                        var listInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserCenter.MemberInfoRes>>(result);
                        Send.UserList.Clear();
                        for (int i = 0; i < listInfo.Count; i++)
                        {
                            var membership = new Send.MembershipIfon();
                            var membershipifon = listInfo[i];
                            for (int j = 0; j < doorlockifonlist.Count; j++)
                            {
                                ///查找成员以及成员门锁触发源(1按键/3卡/15指纹)
                                if (doorlockifonlist[j].CloudAccountId == membershipifon.SubAccountDistributedMark)
                                {
                                    membership.UserIdMode.Add(doorlockifonlist[j].UserIdMode);
                                    membership.MembershipName = membershipifon.UserName;
                                    membership.MembershipId = membershipifon.SubAccountDistributedMark;
                                }
                            }
                            if (membership.UserIdMode.Count != 0)
                            {
                                ///过滤掉重复数据;
                                var str = Send.UserList.Find((c) => { return c.MembershipId == membership.MembershipId; });
                                if (str == null)
                                {
                                    Send.UserList.Add(membership);
                                }
                            }
                        }
                        #endregion
                        var memberList = new MemberList();
                        UserView.HomePage.Instance.AddChidren(memberList);
                        UserView.HomePage.Instance.PageIndex += 1;
                        MemberList.action += () => { flMain.RemoveFromParent(); };
                        MemberList.edit = false;
                        memberList.Show(common);
                    }
                    break;
                case DeviceType.TemperatureSensor:
                    {
                        string current = Language.StringByID(MyInternationalizationString.current);
                        devicefra.Y = Application.GetRealHeight(1920 - 140 - 160 * 2 - 20 - 50);
                        devicefra.Height = Application.GetRealHeight(140 + 160 * 2 + 20 + 50);
                        var temperatureSensor = common as TemperatureSensor;
@@ -1450,12 +1454,12 @@
                            {
                                dictionary(deviceConditionsInfo, "AttriButeData1", horizontalSeekBarVol.Progress.ToString());
                                Btntemperaturevalue.Text = "当前>" + horizontalSeekBarVol.Progress.ToString() + "℃";
                                Btntemperaturevalue.Text = current + ">" + horizontalSeekBarVol.Progress.ToString() + "℃";
                            }
                            else
                            {
                                Btntemperaturevalue.Text = "当前<" + horizontalSeekBarVol.Progress.ToString() + "%";
                                Btntemperaturevalue.Text = current + "<" + horizontalSeekBarVol.Progress.ToString() + "%";
                                dictionary(deviceConditionsInfo, "AttriButeData1", horizontalSeekBarVol.Progress.ToString());//温度值
                            }
                        };
@@ -1469,12 +1473,12 @@
                            dictionary(deviceConditionsInfo, "Range", "0");//0大于AttriButeData1时触发动作
                            dictionary(deviceConditionsInfo, "AttriButeData1", "0");
                            dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                            Btntemperaturevalue.Text = "当前>0℃";
                            Btntemperaturevalue.Text = current + ">0℃";
                        }
                        else
                        {
                            Btntemperaturevalue.Text = "当前<0%";
                            Btntemperaturevalue.Text = current + "<0%";
                            dictionary(deviceConditionsInfo, "Cluster_ID", "1029");
                            dictionary(deviceConditionsInfo, "AttriButeId", "0");
                            dictionary(deviceConditionsInfo, "Range", "2");//2小于AttriButeData1时触发动作
@@ -1488,12 +1492,12 @@
                            if (temperatureSensor.SensorDiv == 1)
                            {
                                Btntemperaturevalue.Text = "当前>" + devices["AttriButeData1"] + "℃";
                                Btntemperaturevalue.Text = current + ">" + devices["AttriButeData1"] + "℃";
                            }
                            else
                            {
                                Btntemperaturevalue.Text = "当前<" + devices["AttriButeData1"] + "%";
                                Btntemperaturevalue.Text = current + "<" + devices["AttriButeData1"] + "%";
                            }
                        }