黄学彪
2020-07-06 f23ad1b3f9f6193f35f72104d690b21dc67d5c1f
ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
@@ -12,7 +12,7 @@
        /// 选中该设备功能作为条件或者目标的视图方法
        /// </summary>
        /// <param name="common">Common.</param>
        public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str)
        public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str,int intValue)
        {
            #region  -------界面布局部分
            //不让当前界面滑动
@@ -59,10 +59,10 @@
            };
            var horizontalSeekBarVol = new DiyImageSeekBar
            {
                //Y = openView.frameLayout.Bottom,
                X = Application.GetRealWidth(80),
                Width = Application.GetRealWidth(915),
                Height = Application.GetRealHeight(160),//滑动条父控件高度
                //Y = openView.frameLayout.Bottom,//进度条父控件Y坐标
                X = Application.GetRealWidth(80),//进度条X坐标
                Width = Application.GetRealWidth(915),//进度条的长度
                Height = Application.GetRealHeight(160),//进度条父控件高度
                IsProgressTextShow = true,//显示百分比
                IsClickable = false,//进度条是否滑动
                ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected,//选中进度条颜色
@@ -99,33 +99,49 @@
            {
                if (_if[0]== "condition")
                {
                    foreach (var deviceinfo in Common.Logic.CurrentLogic.Conditions)
                    var deviceinfo = Common.Logic.CurrentLogic.Conditions[intValue];
                    if (deviceinfo["Type"] == "1")
                    {
                        if (deviceinfo["Type"] == "1")
                        if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"])
                        {
                            if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"])
                            {
                                devices = deviceinfo;
                                break;
                            devices = deviceinfo;
                            }
                        }
                    }
                    //foreach (var deviceinfo in Common.Logic.CurrentLogic.Conditions)
                    //{
                    //    if (deviceinfo["Type"] == "1")
                    //    {
                    //        if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"])
                    //        {
                    //            devices = deviceinfo;
                    //            break;
                    //        }
                    //    }
                    //}
                }
                else
                {
                    foreach (var deviceinfo in Common.Logic.CurrentLogic.Actions)
                    var deviceinfo = Common.Logic.CurrentLogic.Actions[intValue];
                    if (deviceinfo["LinkType"].ToString() == "0")
                    {
                        if (deviceinfo["LinkType"].ToString() == "0")
                        {
                            if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString())
                            {
                                TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>;
                                break;
                            }
                        if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString())
                        {
                            TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>;
                        }
                    }
                    //foreach (var deviceinfo in Common.Logic.CurrentLogic.Actions)
                    //{
                    //    if (deviceinfo["LinkType"].ToString() == "0")
                    //    {
                    //        if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString())
                    //        {
                    //            TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>;
                    //            break;
                    //        }
                    //    }
                    //}
                }
            }
            #endregion
@@ -298,7 +314,7 @@
                        Send.dictionary(deviceConditionsInfo, "AttriButeId", "1281");
                        Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0");
                        int timevalue = 0;
                        int timeValue = 0;
                        ///点击确认事件
                        openView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                        {
@@ -307,7 +323,7 @@
                            closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                            openView.selectedIconBtn.Visible = true;
                            closeView.selectedIconBtn.Visible = false;
                            if (iASZonedevice.IasDeviceType == 13)
                            if (iASZonedevice.IasDeviceType == 13||iASZonedevice.IasDeviceType == 541)
                            {
                                closeView.selectedIconBtn.Visible = true;
                            }
@@ -324,20 +340,15 @@
                            closeView.selectedIconBtn.Visible = true;
                            Send.dictionary(deviceConditionsInfo, "Range", "1");
                            Send.dictionary(deviceConditionsInfo, "AttriButeData1", "0");
                            if (iASZonedevice.IasDeviceType == 13)
                            if (iASZonedevice.IasDeviceType == 13|| iASZonedevice.IasDeviceType == 541)
                            {
                                SelectedDeviceStatus = "";
                                openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                openView.selectedIconBtn.Visible = false;
                                closeView.selectedIconBtn.Visible = true;
                                var ignoreTime = new IgnoreTime();
                                UserView.HomePage.Instance.AddChidren(ignoreTime);
                                UserView.HomePage.Instance.PageIndex += 1;
                                ignoreTime.Show(common, closeView.titleBtn.Text, edit, timevalue, _if[1]);
                                ignoreTime.Show(common, closeView.titleBtn.Text, edit, timeValue, _if[1]);
                            }
                        };
                        switch (iASZonedevice.IasDeviceType)
@@ -357,18 +368,18 @@
                            case 22:
                                {
                                    #region
                                    var view = completeView.Show(3);
                                    openView.titleBtn.TextID = MyInternationalizationString.logicopen;
                                    closeView.titleBtn.TextID = MyInternationalizationString.logicclose;
                                    completeView.Show(3).AddChidren(openView.Show());
                                    completeView.Show(3).AddChidren(closeView.Show());
                                    view.AddChidren(openView.Show());
                                    view.AddChidren(closeView.Show());
                                    mFunView timeoutView = new mFunView();
                                    timeoutView.frameLayout.Y = closeView.frameLayout.Bottom;
                                    timeoutView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    completeView.Show(3).AddChidren(timeoutView.Show());
                                    timeoutView.titleBtn.TextID = MyInternationalizationString.closetimeout;
                                    timeoutView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                    timeoutView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                                    takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    takebackView.selectedIconBtn.Visible = true;
                                    takebackView.titleBtn.TextID = MyInternationalizationString.closetimeout;
                                    takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                    view.AddChidren(takebackView.Show());
                                    takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                                    {
                                        SelectedDeviceStatus = "";
                                        openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
@@ -378,7 +389,7 @@
                                        var ignoreTime = new IgnoreTime();
                                        UserView.HomePage.Instance.AddChidren(ignoreTime);
                                        UserView.HomePage.Instance.PageIndex += 1;
                                        ignoreTime.Show(common, timeoutView.titleBtn.Text, edit, timevalue, _if[1]);
                                        ignoreTime.Show(common, takebackView.titleBtn.Text, edit, timeValue, _if[1]);
                                    };
@@ -424,6 +435,61 @@
                                    completeView.Show(1).AddChidren(openView.Show());
                                }
                                break;
                            case 541:
                                {
                                    int _height = 3;
                                    if (edit)
                                    {
                                        _height = 2;
                                    }
                                    var view = completeView.Show(_height);
                                    openView.titleBtn.TextID = MyInternationalizationString.someone;
                                    closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1;
                                    closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                    closeView.selectedIconBtn.Visible = true;
                                    view.AddChidren(openView.Show());
                                    view.AddChidren(closeView.Show());
                                    takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                    takebackView.selectedIconBtn.Visible = true;
                                    takebackView.titleBtn.TextID = MyInternationalizationString.ambientLight;
                                    takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png";
                                    if (edit)
                                    {
                                        if (devices["Cluster_ID"] == "1024")
                                        {
                                            flMain.RemoveFromParent();
                                            var illumination = new Illumination();
                                            UserView.HomePage.Instance.AddChidren(illumination);
                                            UserView.HomePage.Instance.PageIndex += 1;
                                            illumination.Show(common, takebackView.titleBtn.Text, int.Parse(devices["AttriButeData1"]), true);
                                        }
                                        else
                                        {
                                            closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
                                        }
                                    }
                                    else
                                    {
                                        view.AddChidren(takebackView.Show());
                                    }
                                    takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
                                    {
                                        SelectedDeviceStatus = "";
                                        openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                                        openView.selectedIconBtn.Visible = false;
                                        var illumination = new Illumination();
                                        UserView.HomePage.Instance.AddChidren(illumination);
                                        UserView.HomePage.Instance.PageIndex += 1;
                                        illumination.Show(common,takebackView.titleBtn.Text, 0, false);
                                    };
                                }
                                break;
                            default:
                                {
                                    openView.titleBtn.TextID = MyInternationalizationString.callthepolice;
@@ -439,7 +505,7 @@
                            {
                                if (devices.ContainsKey("IgnoreTime"))
                                {
                                    timevalue = int.Parse(devices["IgnoreTime"]);
                                    timeValue = int.Parse(devices["IgnoreTime"]);
                                }
                                else
                                {
@@ -462,8 +528,7 @@
                            }
                        }
                    }
@@ -1206,15 +1271,19 @@
                    }
                    break;
                case DeviceType.ColorTemperatureLight: {
                        flMain.RemoveFromParent();
                        var nightlight = new Nightlight();
                        UserView.HomePage.Instance.AddChidren(nightlight);
                        UserView.HomePage.Instance.PageIndex += 1;
                        nightlight.Show(common, false, _if[1]);
                        if (edit)
                        {
                            nightlight.Show(common, edit, _if[1], Common.Logic.CurrentLogic.Actions[intValue]);
                        }
                        else
                        {
                            nightlight.Show(common, edit, _if[1]);
                        }
                    }
                    break;
            }