wxr
2020-11-12 a715181089be0d31cd737a5367ffd02690b9d77f
HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
@@ -14,7 +14,7 @@
        /// 更新功能状态
        /// </summary>
        /// <param name="updataFunction"></param>
        public void UpdataStates(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView)
        public void UpdataStates(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView,Room room=null)
        {
            try
            {
@@ -24,6 +24,17 @@
                    {
                        return;
                    }
                    if(!scrolView.ScrollEnabled)
                    {
                        return;
                    }
                    if (room != null)
                    {
                        if (!updataFunction.roomIdList.Contains(room.sid))
                        {
                            return;
                        }
                    }
                    for (int i = 0; i < scrolView.ChildrenCount; i++)
                    {
                        if (scrolView.GetChildren(i).Tag == null || scrolView.GetChildren(i).Tag.ToString() == "")
@@ -31,9 +42,9 @@
                            continue;
                        }
                        var viewTag = scrolView.GetChildren(i).Tag.ToString();
                        if (viewTag == updataFunction.functionCategory.ToString() + "-" + updataFunction.functionType + "-" + updataFunction.sid)
                        if (viewTag == updataFunction.sid)
                        {
                            if (scrolView.GetChildren(i).GetType().Name == "FunctionControlZone")
                            if (scrolView.GetChildren(i).Tag != null && scrolView.GetChildren(i).Tag.ToString() == updataFunction.sid)
                            {
                                var fcView = scrolView.GetChildren(i) as FrameLayout;
                                for (int j = 0; j < fcView.ChildrenCount; j++)
@@ -46,11 +57,11 @@
                                        case FunctionCategory.Light:
                                        case FunctionCategory.Thermostat:
                                            #region 按钮状态更新
                                            if (cTag == updataFunction.functionType + "_Switch_" + updataFunction.sid)
                                            if (cTag == updataFunction.sid + "_Switch")
                                            {
                                                try
                                                {
                                                    (fcView.GetChildren(j) as Button).IsSelected = updataFunction.on_off == "on";
                                                    (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.value.ToString() == "on";
                                                }
                                                catch (Exception ex)
                                                {
@@ -59,11 +70,11 @@
                                            }
                                            #endregion
                                            #region 调光状态进度更新
                                            else if (cTag == updataFunction.functionType + "_DimmerBar_" + updataFunction.sid)
                                            else if (cTag == updataFunction.sid + "_DimmerBar")
                                            {
                                                try
                                                {
                                                    if (updataFunction.on_off == "on")
                                                    if (updataFunction.trait_on_off.value.ToString() == "on")
                                                    {
                                                        (fcView.GetChildren(j) as DiyImageSeekBar).Progress = (updataFunction as Light).brightness;
                                                        (fcView.GetChildren(j) as DiyImageSeekBar).ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1;
@@ -85,7 +96,7 @@
                                            {
                                                try
                                                {
                                                    (fcView.GetChildren(j) as Button).IsSelected = updataFunction.on_off == "on";
                                                    (fcView.GetChildren(j) as Button).IsSelected = updataFunction.trait_on_off.value.ToString() == "on";
                                                    (fcView.GetChildren(j) as Button).Text = updataFunction.lastState;
                                                }
                                                catch (Exception ex)
@@ -102,7 +113,7 @@
                                            {
                                                try
                                                {
                                                    (fcView.GetChildren(j) as Button).IsSelected = uCurtain.on_off == "off";
                                                    (fcView.GetChildren(j) as Button).IsSelected = uCurtain.trait_on_off.value.ToString() == "off";
                                                }
                                                catch (Exception ex)
                                                {
@@ -113,11 +124,27 @@
                                            {
                                                try
                                                {
                                                    (fcView.GetChildren(j) as Button).IsSelected = uCurtain.on_off == "on";
                                                    (fcView.GetChildren(j) as Button).IsSelected = uCurtain.trait_on_off.value.ToString() == "on";
                                                }
                                                catch (Exception ex)
                                                {
                                                    MainPage.Log($"{this.GetType()} error 4 : {ex.Message}");
                                                }
                                            }
                                            #endregion
                                            break;
                                        case FunctionCategory.Music:
                                            #region 音乐更新
                                            var uMusic = updataFunction as Music.A31MusicModel;
                                            if (cTag == updataFunction.functionType + "_State_" + updataFunction.sid)
                                            {
                                                try
                                                {
                                                    (fcView.GetChildren(j) as Button).IsSelected = uMusic.A31PlayStatus.status == "play" ;
                                                }
                                                catch (Exception ex)
                                                {
                                                    MainPage.Log($"{this.GetType()} error 3 : {ex.Message}");
                                                }
                                            }
                                            #endregion
@@ -135,35 +162,5 @@
            }
        }
        //public static void UpdataLightStates(Light uLight)
        //{
        //    Application.RunOnMainThread(() =>
        //    {
        //        if (bodyDiv == null)
        //            return;
        //        if(uLight.sid == function.sid&& uLight.functionType == function.functionType)
        //        {
        //            for (int i = 0; i < bodyDiv.ChildrenCount; i++)
        //            {
        //                var c1 = bodyDiv.GetChildren(i);
        //                if (c1.Tag != null && c1.Tag.ToString() == "")
        //                {
        //                    if (c1.Tag.ToString() == function.functionType + "_Switch_" + function.sid)
        //                    {
        //                        var btn = c1 as Button;
        //                        btn.IsSelected = uLight.on_off == 1;
        //                    }
        //                    else if (c1.Tag.ToString() == function.functionType + "_DimmerBar_" + function.sid)
        //                    {
        //                        var bar = c1 as DiyImageSeekBar;
        //                        bar.ProgressBarColor = uLight.on_off == 1 ? CSS.CSS_Color.AuxiliaryColor1 : CSS.CSS_Color.PromptingColor2;
        //                    }
        //                }
        //            }
        //        }
        //    });
        //}
    }
  }
}