HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2020-01-06 72be4f06a683de33ddd563c8447c39f7f17e5b7d
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
using System;
using System.Collections.Generic;
using Shared.Common;
 
namespace Shared.Phone.Device.CommonForm
{
    public class SelectZone
    {
        public Action<Common.Room> ZoneAction;
 
        private UIPickerView pickView;
 
        private List<string> floorList = new List<string> { };
        private List<string> roomList = new List<string> { };
        private List<string> roomIdList = new List<string> { };
        /// <summary>
        /// curRoom
        /// </summary>
        private Common.Room curRoom;
 
        public SelectZone()
        {
        }
 
        /// <summary>
        /// Init
        /// </summary>
        public void Init()
        {
            List<string> floorIds = new List<string> { };
            List<string> floorNames = new List<string> { };
            List<List<string>> roomNames = new List<List<string>> { };
            List<List<Common.Room>> rooms = new List<List<Common.Room>> { };
            List<Common.Room> rs = new List<Common.Room> { };
            List<string> rNames = new List<string> { };
            if (Config.Instance.Home.FloorDics.Count > 0)
            {
                foreach (var floor in Config.Instance.Home.FloorDics)
                {
                    floorIds.Add(floor.Key);
                    floorNames.Add(floor.Value);
                    if (Common.Room.CurrentRoom.GetRoomsByFloorId(floor.Key).Count > 0)
                    {
                        roomNames.Add(Common.Room.CurrentRoom.GetRoomNamesByFloorId(floor.Key));
                        rooms.Add(Common.Room.CurrentRoom.GetRoomsByFloorId(floor.Key));
                    }
                }
                PickerView.ShowSecondary(floorNames, roomNames, (index1, index2) =>
                {
                    curRoom = rooms[index1][index2];
                    ZoneAction?.Invoke(curRoom);
                    //RemoveFromParent();
                }, 0, 0, Language.StringByID(R.MyInternationalizationString.BelongFloor),
               Language.StringByID(R.MyInternationalizationString.Confrim),
               Language.StringByID(R.MyInternationalizationString.Cancel));
            }
            else
            {
                for (int i = 0; i < Common.Room.Lists.Count; i++)
                {
                    var r = Common.Room.Lists[i];
                    if (r.IsLove)
                    {
                        continue;
                    }
                    rs.Add(r);
                    rNames.Add(r.Name);
                }
                PickerView.Show(rNames, (index1) =>
                {
                    curRoom = rs[index1];
                    ZoneAction?.Invoke(curRoom);
                    //RemoveFromParent();
                }, 0, Language.StringByID(R.MyInternationalizationString.AddTo),
               Language.StringByID(R.MyInternationalizationString.Confrim),
               Language.StringByID(R.MyInternationalizationString.Cancel));
            }
 
            foreach (var floor in Config.Instance.Home.FloorDics)
            {
                floorList.Add(floor.Value);
            }
            foreach (var room in Shared.Common.Room.Lists)
            {
                if(room.IsLove)
                {
                    continue;
                }
                roomList.Add(room.Name);
                roomIdList.Add(room.Id);
            }
 
        }
 
        /// <summary>
        /// Close
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="mouseEventArgs"></param>
        private void Close(object sender, MouseEventArgs mouseEventArgs)
        {
            //RemoveFromParent();
        }
 
        /// <summary>
        /// Confrim_MouseEvent
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="mouseEventArgs"></param>
        private void Confrim_MouseEvent(object sender, MouseEventArgs mouseEventArgs)
        {
            //ZoneAction?.Invoke(curRoom);
            //RemoveFromParent();
        }
    }
}