wxr
2020-03-19 b69d7735274b8d0f741da8a6bb8b8e1347477a5a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
using System;
using HDL_ON.Entity;
using Shared;
 
namespace HDL_ON.UI
{
    public class ClassificaitionPublicBLL
    {
        public ClassificaitionPublicBLL()
        {
        }
 
        /// <summary>
        /// 更新功能状态
        /// </summary>
        /// <param name="updataFunction"></param>
        public void UpdataStates(Function updataFunction, FrameLayout view, VerticalScrolViewLayout scrolView)
        {
            try
            {
                Application.RunOnMainThread(() =>
                {
                    if (view == null || scrolView == null)
                    {
                        return;
                    }
                    switch (updataFunction.functionCategory)
                    {
                        case FunctionType.Light:
                            var uLight = updataFunction as Light;
                            for (int i = 0; i < scrolView.ChildrenCount; i++)
                            {
                                if (scrolView.GetChildren(i).Tag == null || scrolView.GetChildren(i).Tag.ToString() == "")
                                {
                                    continue;
                                }
                                var viewTag = scrolView.GetChildren(i).Tag.ToString();
                                if (viewTag == updataFunction.functionCategory.ToString() + "-" + updataFunction.functionType + "-" + updataFunction.sid)
                                {
                                    if (scrolView.GetChildren(i).GetType().Name == "FunctionControlZone")
                                    {
                                        var fcView = scrolView.GetChildren(i) as FrameLayout;
                                        for (int j = 0; j < fcView.ChildrenCount; j++)
                                        {
                                            if (fcView.GetChildren(j).Tag == null)
                                                continue;
                                            var cTag = fcView.GetChildren(j).Tag.ToString();
                                            if (cTag == updataFunction.functionType + "_Switch_" + updataFunction.sid)
                                            {
                                                try
                                                {
                                                    (fcView.GetChildren(j) as Button).IsSelected = uLight.on_off == 1;
                                                }
                                                catch (Exception ex)
                                                {
                                                    MainPage.Log($"{this.GetType()} error 0 : {ex.Message}");
                                                }
                                            }
                                            else if (cTag == updataFunction.functionType + "_DimmerBar_" + updataFunction.sid)
                                            {
                                                try
                                                {
                                                    if (uLight.on_off == 1)
                                                    {
                                                        (fcView.GetChildren(j) as DiyImageSeekBar).Progress = (updataFunction as Light).brightness;
                                                        (fcView.GetChildren(j) as DiyImageSeekBar).ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1;
                                                    }
                                                    else
                                                    {
                                                        (fcView.GetChildren(j) as DiyImageSeekBar).ProgressBarColor = CSS.CSS_Color.PromptingColor2;
                                                    }
                                                }
                                                catch (Exception ex)
                                                {
                                                    MainPage.Log($"{this.GetType()} error 1 : {ex.Message}");
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                            break;
                    }
                });
            }
            catch (Exception ex)
            {
                MainPage.Log($"RoomControlZone Updata States error : {ex.Message}");
            }
        }
 
 
 
        //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;
        //                    }
        //                }
        //            }
        //        }
        //    });
        //}
    }
}