xm
2020-07-14 d87400af518ebc9274f4447f06476959c3aa5102
ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/MutilfunctionPanelMethod.cs
old mode 100755 new mode 100644
@@ -15,7 +15,7 @@
    /// </summary>
    public class MutilfunctionPanelMethod
    {
        #region  变量申明
        #region  变量申明
        /// <summary>
        /// 开关的个数 [每次进入到多功能绑定界面,都要被重新取值]
        /// </summary>
@@ -53,15 +53,21 @@
                var bList = bindTargetsFromMutilfunctionPanelList[key];
                foreach (var bDev in bList)
                {
                    if (curBindType == 0)
                    {
                        if (bDev.KeyEpoint >= 32 && bDev.KeyEpoint <= 51)
                        {
                            tempList.Add(bDev);
                        }
                    }
                    var device = LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
                    if (device == null)
                    {
                        continue;
                    }
                    switch (curBindType)
                    {
                        case 0:
                            if (bDev.KeyEpoint >= 32 && bDev.KeyEpoint <= 51)
                            {
                                tempList.Add(bDev);
                            }
                            break;
                        case 1:
                            if (bDev.KeyEpoint >= 52 && bDev.KeyEpoint <= 61)
                            {
@@ -128,7 +134,6 @@
                                    //空调绑定类型
                                    if (device.Type == DeviceType.Thermostat && bDev.BindCluster == 513)
                                    {
                                        //Thermostat是空调
                                        tempList.Add(bDev);
                                    }
                                }
@@ -222,15 +227,21 @@
                var bList = bindTargetsFromMutilfunctionPanelList[key];
                foreach (var bDev in bList)
                {
                    if (curBindType == 0)
                    {
                        if (bDev.KeyEpoint >= 32 && bDev.KeyEpoint <= 51)
                        {
                            tempList.Remove(bDev.KeyEpoint);
                        }
                    }
                    var device = LocalDevice.Current.GetDevice(bDev.BindMacAddr, bDev.BindEpoint);
                    if (device == null)
                    {
                        continue;
                    }
                    switch (curBindType)
                    {
                        case 0:
                            if (bDev.KeyEpoint >= 32 && bDev.KeyEpoint <= 51)
                            {
                                tempList.Remove(bDev.KeyEpoint);
                            }
                            break;
                        case 1:
                        case 2:
                            if (bDev.KeyEpoint >= 52 && bDev.KeyEpoint <= 61)
@@ -296,7 +307,6 @@
                                    //空调绑定类型
                                    if (device.Type == DeviceType.Thermostat && bDev.BindCluster == 513)
                                    {
                                        //Thermostat是空调
                                        tempList.Remove(bDev.KeyEpoint);
                                    }
                                }
@@ -393,10 +403,10 @@
                                                roomIncludeMatchDevice.Add(device);
                                            }
                                        }
                                        if (device.Type == DeviceType.DimmableLight)
                                        {
                                            roomIncludeMatchDevice.Add(device);
                                        }
                                        //if (device.Type == DeviceType.DimmableLight)
                                        //{
                                        //    roomIncludeMatchDevice.Add(device);
                                        //}
                                        break;
                                    case 4:
                                        if (device.Type == DeviceType.WindowCoveringDevice)
@@ -407,7 +417,10 @@
                                    case 5:
                                        if (device.Type == DeviceType.Thermostat)
                                        {
                                            //Thermostat是空调
                                            if (BindInfo.checkRealAcDevice(device) == false)
                                            {
                                                continue;
                                            }
                                            roomIncludeMatchDevice.Add(device);
                                        }
                                        break;
@@ -527,7 +540,7 @@
        /// <param name="currentPanelSupportBindDeviceList"></param>
        /// <param name="supportRoomList"></param>
        /// <param name="curDeviceBindType">当前设备绑定类型 1:开关  2:插座  3:灯光  4:遮阳 5:空调 6:新风</param>
        /// <param name="curBindTypeList">当前类型的绑定表</param>
        /// <param name="curBindTypeList">当前类型的绑定表</param>
        /// <returns></returns>
        public static List<CommonDevice> GetAllRoomSupportDeviceList(List<CommonDevice> currentPanelSupportBindDeviceList, List<Room> supportRoomList, List<BindListAllInfo> curBindTypeList, int curDeviceBindType)
        {
@@ -579,10 +592,10 @@
                                {
                                    currentPanelBindSupportDeviceListTemp.Add(device);
                                }
                                if (device.Type == DeviceType.DimmableLight)
                                {
                                    currentPanelBindSupportDeviceListTemp.Add(device);
                                }
                                //if (device.Type == DeviceType.DimmableLight)
                                //{
                                //    currentPanelBindSupportDeviceListTemp.Add(device);
                                //}
                                break;
                            case 4:
                                if (device.Type == DeviceType.WindowCoveringDevice)
@@ -593,7 +606,10 @@
                            case 5:
                                if (device.Type == DeviceType.Thermostat)
                                {
                                    //Thermostat是空调
                                    if (BindInfo.checkRealAcDevice(device) == false)
                                    {
                                        continue;
                                    }
                                    currentPanelBindSupportDeviceListTemp.Add(device);
                                }
                                break;
@@ -620,7 +636,7 @@
        /// </summary>
        /// <param name="currentPanelSupportBindSceneList"></param>
        /// <param name="supportRoomList"></param>
        /// <param name="curBindTypeList">当前类型的绑定表</param>
        /// <param name="curBindTypeList">当前类型的绑定表</param>
        /// <param name="curDeviceBindType">当前设备绑定类型 0:场景</param>
        /// <returns></returns>
        public static List<SceneUI> GetAllRoomSupportSceneList(List<SceneUI> currentPanelSupportBindSceneList, List<Room> supportRoomList, List<BindListAllInfo> curBindTypeList, int curDeviceBindType = 0)
@@ -715,10 +731,6 @@
                                    undistruibuteDevList.Add(device);
                                }
                            }
                            if (device.Type == DeviceType.DimmableLight)
                            {
                                undistruibuteDevList.Add(device);
                            }
                            break;
                        case 4:
                            if (device.Type == DeviceType.WindowCoveringDevice)
@@ -729,7 +741,10 @@
                        case 5:
                            if (device.Type == DeviceType.Thermostat)
                            {
                                //Thermostat是空调
                                if (BindInfo.checkRealAcDevice(device) == false)
                                {
                                    continue;
                                }
                                undistruibuteDevList.Add(device);
                            }
                            break;
@@ -826,21 +841,12 @@
                                    curRoomDeviceListTemp.Add(device);
                                }
                            }
                            if (device.Type == DeviceType.DimmableLight)
                            {
                                if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.ButtonPanel_SimpleMultifunction)
                                {
                                    //Thermostat是空调
                                    curRoomDeviceListTemp.Add(device);
                                }
                            }
                            break;
                        case 4:
                            if (device.Type == DeviceType.WindowCoveringDevice)
                            {
                                if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.ButtonPanel_SimpleMultifunction)
                                {
                                    //Thermostat是空调
                                    curRoomDeviceListTemp.Add(device);
                                }
                            }
@@ -848,11 +854,11 @@
                        case 5:
                            if (device.Type == DeviceType.Thermostat)
                            {
                                if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.ButtonPanel_SimpleMultifunction)
                                if (BindInfo.checkRealAcDevice(device) == false)
                                {
                                    //Thermostat是空调
                                    curRoomDeviceListTemp.Add(device);
                                    continue;
                                }
                                curRoomDeviceListTemp.Add(device);
                            }
                            break;
                        case 6: