HDL Home App 第二版本 旧平台金堂用 正在使用
xm
2019-12-03 74a9ba8e9a2df9c39f9c2eb212a5ac889a055cd4
ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/BindTargetsPage.cs
@@ -1072,137 +1072,144 @@
                CommonPage.Loading.Start("");
                var delResult = new DelDeviceBindResponseAllData();
                delResult = await currentKey.DelDeviceBindAsync(delDevice);
                if (delResult != null)
                {
                    if (delResult.removeBindResultResponseData != null)
                    {
                        if (delResult.removeBindResultResponseData.Result == 0)
                        {
                            currentKey.bindList.Remove(bindDevice);
                            RefreshList();
                            return 0;
                        }
                        else
                        {
                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
                        }
                    }
                    else if (delResult.delDeviceBindResponseData != null)
                    {
                        foreach (var remTarget in delResult.delDeviceBindResponseData.RemoveBindList)
                        {
                            if (remTarget.Result == 0)
                            {
                                currentKey.bindList.Remove(bindDevice);
                                RefreshList();
                                //如果是场景,用户删除清空当前到房间列表
                                currentKey.RoomId = "";
                                currentKey.ReSave();
                                return 0;
                            }
                            else
                            {
                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
                            }
                        }
                    }
                }
                else
                {
                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
                }
                //if (delResult.delDeviceBindResponseData?.RemoveBindList != null)
                //if (delResult != null)
                //{
                //    foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList)
                //    if (delResult.removeBindResultResponseData != null)
                //    {
                //        switch (re.Result)
                //        if (delResult.removeBindResultResponseData.Result == 0)
                //        {
                //            case 0:
                //            currentKey.bindList.Remove(bindDevice);
                //            RefreshList();
                //            return 0;
                //        }
                //        else
                //        {
                //            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
                //        }
                //    }
                //    else if (delResult.delDeviceBindResponseData != null)
                //    {
                //        foreach (var remTarget in delResult.delDeviceBindResponseData.RemoveBindList)
                //        {
                //            if (remTarget.Result == 0)
                //            {
                //                currentKey.bindList.Remove(bindDevice);
                //                RefreshList();
                //                //如果是场景,用户删除清空当前到房间列表
                //                currentKey.RoomId = "";
                //                currentKey.ReSave();
                //                return 0;
                //                break;
                //            case 1:
                //                currentKey.bindList.Clear();
                //                try
                //                {
                //                    CommonPage.Loading.Start("");
                //                    var getBindList = await currentKey.GetDeviceBindAsync();
                //                    var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { };
                //                    var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { };
                //                    if (getBindList != null)
                //                    {
                //                        if (getBindList.getAllBindResponseData != null)
                //                        {
                //                            foreach (var b in getBindList.getAllBindResponseData.BindList)
                //                            {
                //                                if (b.BindCluster == currentClusterID)
                //                                {
                //                                    if (b.BindCluster == 6)
                //                                    {
                //                                        if (b.BindType == 2)
                //                                        {
                //                                            bindSceneListTemp.Add(b);
                //                                        }
                //                                        else
                //                                        {
                //                                            bindDeviceListTemp.Add(b);
                //                                        }
                //                                    }
                //                                    else
                //                                    {
                //                                        currentKey.bindList.Add(b);
                //                                    }
                //                                }
                //                            }
                //                        }
                //                    }
                //                    if (currentKey.panelMode == 1)
                //                    {
                //                        currentKey.bindList = bindSceneListTemp;
                //                    }
                //                    else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102)
                //                    {
                //                        currentKey.bindList = bindDeviceListTemp;
                //                    }
                //                }
                //                catch { }
                //                finally
                //                {
                //                    RefreshList();
                //                    CommonPage.Loading.Hide();
                //                }
                //                break;
                //            case 4:
                //                if (delResult.removeBindResultResponseData != null)
                //                {
                //                    if (delResult.removeBindResultResponseData.Result == 0)
                //                    {
                //                        currentKey.bindList.Remove(bindDevice);
                //                        RefreshList();
                //                        return 0;
                //                    }
                //                    else
                //                    {
                //                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
                //                    }
                //                }
                //                break;
                //            default:
                //                break;
                //            }
                //            else
                //            {
                //                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
                //            }
                //        }
                //    }
                //}
                //else
                //{
                //    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
                //    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
                //}
                if (delResult != null && delResult.removeBindResultResponseData != null)
                {
                    if (delResult.delDeviceBindResponseData?.RemoveBindList != null)
                    {
                        foreach (var re in delResult.delDeviceBindResponseData.RemoveBindList)
                        {
                            switch (re.Result)
                            {
                                case 0:
                                    currentKey.bindList.Remove(bindDevice);
                                    RefreshList();
                                    //如果是场景,用户删除清空当前到房间列表
                                    currentKey.RoomId = "";
                                    currentKey.ReSave();
                                    return 0;
                                    break;
                                case 1:
                                    currentKey.bindList.Clear();
                                    try
                                    {
                                        CommonPage.Loading.Start("");
                                        var getBindList = await currentKey.GetDeviceBindAsync();
                                        var bindDeviceListTemp = new System.Collections.Generic.List<BindListResponseObj> { };
                                        var bindSceneListTemp = new System.Collections.Generic.List<BindListResponseObj> { };
                                        if (getBindList != null)
                                        {
                                            if (getBindList.getAllBindResponseData != null)
                                            {
                                                foreach (var b in getBindList.getAllBindResponseData.BindList)
                                                {
                                                    if (b.BindCluster == currentClusterID)
                                                    {
                                                        if (b.BindCluster == 6)
                                                        {
                                                            if (b.BindType == 2)
                                                            {
                                                                bindSceneListTemp.Add(b);
                                                            }
                                                            else
                                                            {
                                                                bindDeviceListTemp.Add(b);
                                                            }
                                                        }
                                                        else
                                                        {
                                                            currentKey.bindList.Add(b);
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                        if (currentKey.panelMode == 1)
                                        {
                                            currentKey.bindList = bindSceneListTemp;
                                        }
                                        else if (currentKey.panelMode == 100 || currentKey.panelMode == 101 || currentKey.panelMode == 102)
                                        {
                                            currentKey.bindList = bindDeviceListTemp;
                                        }
                                    }
                                    catch { }
                                    finally
                                    {
                                        RefreshList();
                                        CommonPage.Loading.Hide();
                                    }
                                    break;
                                case 2:
                                    if (delResult.removeBindResultResponseData != null)
                                    {
                                        if (delResult.removeBindResultResponseData.Result == 0)
                                        {
                                            currentKey.bindList.Remove(bindDevice);
                                            RefreshList();
                                            return 0;
                                        }
                                        else
                                        {
                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
                                        }
                                    }
                                    break;
                                default:
                                    break;
                            }
                        }
                    }
                    else
                    {
                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.RemoveFailed), Direction = AMPopTipDirection.Up, CloseTime = 2 }.Show(btnDel);
                    }
                }
                else
                {
                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 2 }.Show(CommonPage.Instance);
                }
            }
            catch { }
            finally