wxr
2022-08-17 d6578b10542226650e263815dea75e598a7090f9
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/Iot_BrandFunctionListPage.cs
@@ -12,6 +12,7 @@
        FrameLayout contentView;
        FrameLayout optionView;
        IntegratedBrand_Iot brand_Iot;
@@ -61,11 +62,15 @@
                TextColor = CSS_Color.FirstLevelTitleColor,
                Padding = new Padding(12,  Application.GetRealWidth(16), 12, Application.GetRealWidth(16)),
                TextSize = CSS_FontSize.TextFontSize,
                Text = "默认将第三方品牌的设备全部关联到On Pro上,您也可以通过下方的开关按键,进行选择性关联。",
                Text = "*您可以将第三方品牌的设备关联到On Pro您当前的住宅上。",
                IsMoreLines = true,
                TextAlignment = TextAlignment.CenterLeft,
            };
            bodyView.AddChidren(btnTipText);
            if (Language.CurrentLanguage != "Chinese")
            {
                btnTipText.Text = "*You can associate third-party branded devices with on Pro's current home.";
            }
            contentView = new FrameLayout()
            {
@@ -82,6 +87,11 @@
            {
                try
                {
                    var pack0 = http.Search3tyIotDevice(brand_Iot.companyId);
                    if(pack0 != null)
                    {
                    }
                    var pack = http.Get3tyIotDeviceFunctionList(brand_Iot.companyId);
                    if (pack != null)
                    {
@@ -104,6 +114,54 @@
                    });
                }
            }) { IsBackground = true }.Start();
            optionView = new FrameLayout()
            {
                Y = Application.GetRealHeight(667 - 80),
                Height = Application.GetRealHeight(90),
                Radius = (uint)Application.GetRealWidth(22),
                Visible = false,
            };
            bodyView.AddChidren(optionView);
            var btnComfirm = new Button()
            {
                Gravity = Gravity.CenterHorizontal,
                Y = Application.GetRealHeight(14),
                Width = Application.GetRealWidth(164),
                Height = Application.GetRealHeight(44),
                TextAlignment = TextAlignment.Center,
                BackgroundColor = CSS_Color.MainColor,
                TextColor = CSS_Color.MainBackgroundColor,
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextID = StringId.Confirm,
                Radius = (uint)Application.GetRealHeight(22)
            };
            optionView.AddChidren(btnComfirm);
            btnComfirm.MouseUpEventHandler = (sender, e) => {
                var pack = http.Set3tyIotFunctionToHouse(optionList, DB_ResidenceData.Instance.CurrentRegion.id, brand_Iot.companyId);
                if (pack != null)
                {
                    if (pack.Code == StateCode.SUCCESS)
                    {
                        btnComfirm.Visible = false;
                    }
                }
                //var pack = http.Set3tyIotFunctionToHouse(function.deviceId, "0", brand_Iot.companyId);
                //if (pack != null)
                //{
                //    if (pack.Code == StateCode.SUCCESS)
                //    {
                //        btnName.IsSelected = btnIcon.IsSelected = btnCheckIcon.IsSelected = false;
                //    }
                //}
            };
        }
@@ -163,11 +221,11 @@
                    var btnbg = new Button()
                    {
                        UnSelectedImagePath = "Collection/Functionbg.png",
                        SelectedImagePath = "Collection/FunctionOnbg.png",
                        SelectedImagePath = "Collection/Functionbg.png",
                        Tag = function.sid
                    };
                    functionView.AddChidren(btnbg);
                    LoadDeviceFunctionDiv(functionView, function,btnbg);
                    LoadDeviceFunctionDiv(functionView, function);
                    index++;
                
@@ -188,6 +246,10 @@
                        Text = "没有任何设备"
                    };
                    view.AddChidren(btnNoCollectionTip);
                    if (Language.CurrentLanguage != "Chinese")
                    {
                        btnNoCollectionTip.Text = "No equipment";
                    }
                }
            }
            catch (Exception ex)
@@ -196,16 +258,34 @@
            deviceFunctionView.AddChidren(new Button { Height = Application.GetRealHeight(30) });
            #endregion
            deviceFunctionView.AddChidren(new Button {
                Height = Application.GetRealHeight(90),
            });
        }
        /// <summary>
        /// 加载功能控制卡片
        /// </summary>
        void LoadDeviceFunctionDiv(FrameLayout view, Function function,Button btnBg)
        void LoadDeviceFunctionDiv(FrameLayout view, Function function)
        {
            try
            {
                var btnCheckIcon = new Button()
                {
                    X = Application.GetRealWidth(22),
                    Y = Application.GetRealHeight(16),
                    Width = Application.GetRealWidth(21),
                    Height = Application.GetRealWidth(21),
                    UnSelectedImagePath = "Public/IotCheckIcon.png",
                    SelectedImagePath = "Public/IotCheckOnIcon.png",
                };
                view.AddChidren(btnCheckIcon);
                Button btnIcon;
                btnIcon = new Button()
                {
@@ -237,39 +317,32 @@
                Button btnClick = new Button();
                view.AddChidren(btnClick);
                btnClick.MouseUpEventHandler = (sender, e) => {
                    function.collect = !function.collect;
                    if (function.collect)
                    btnCheckIcon.IsSelected = function.collect = !function.collect;
                    if (optionList.Contains(function.deviceId))
                    {
                        var pack = http.Set3tyIotFunctionToHouse(function.deviceId, DB_ResidenceData.Instance.CurrentRegion.id,brand_Iot.companyId);
                        if (pack != null)
                        {
                            if(pack.Code == StateCode.SUCCESS)
                            {
                                btnName.IsSelected = btnIcon.IsSelected = btnBg.IsSelected = true;
                            }
                        }
                        optionList.Remove(function.deviceId);
                    }
                    else
                    {
                        btnName.IsSelected = btnIcon.IsSelected = btnBg.IsSelected = false;
                        var pack = http.Set3tyIotFunctionToHouse(function.deviceId, "0", brand_Iot.companyId);
                        if (pack != null)
                        {
                            if (pack.Code == StateCode.SUCCESS)
                            {
                                btnName.IsSelected = btnIcon.IsSelected = btnBg.IsSelected = false;
                            }
                        }
                        optionList.Add(function.deviceId);
                    }
                    optionView.Visible = true;
                };
                if (function.homeId == DB_ResidenceData.Instance.CurrentRegion.id )
                {
                    btnCheckIcon.IsSelected = true;
                    optionList.Add(function.deviceId);
                }
            }
            catch (Exception ex)
            {
                MainPage.Log("homepage LoadControlView error : " + ex.Message);
            }
        }
        /// <summary>
        /// 记录需要操作的列表
        /// </summary>
        private List<string> optionList = new List<string>();
        void NotListTipView()
@@ -312,7 +385,7 @@
                BorderWidth = 0,
                Text = "查看设备支持范围"
            };
            contentView.AddChidren(btnAdd);
            //contentView.AddChidren(btnAdd);
            btnAdd.MouseUpEventHandler = (sender, e) =>
            {
                //var page = new AddThirdPartyBrandListpage(brandList);