黄学彪
2020-09-22 ade5917841b0fdcb1df7353ef7c56b1a1bdc9282
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
using System;
using System.Collections.Generic;
using Shared.Common;
 
namespace Shared.Phone.Device.CommonForm
{
    public class SelectZone
    {
        public Action<Common.Room> ZoneAction;
        /// <summary>
        /// curRoom
        /// </summary>
        private Common.Room curRoom;
        /// <summary>
        /// 标题
        /// </summary>
        public string title = Language.StringByID(R.MyInternationalizationString.BelongZone);
        /// <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)
                {
                    if (UserCenter.HdlRoomLogic.Current.GetRoomsByFloorId(floor.Key).Count > 0)
                    {
                        floorIds.Add(floor.Key);
                        floorNames.Add(floor.Value);
 
                        roomNames.Add(UserCenter.HdlRoomLogic.Current.GetRoomNamesByFloorId(floor.Key));
                        rooms.Add(UserCenter.HdlRoomLogic.Current.GetRoomsByFloorId(floor.Key));
                    }
                }
                PickerView.ShowSecondary(floorNames, roomNames, (index1, index2) =>
                {
                    curRoom = rooms[index1][index2];
                    ZoneAction?.Invoke(curRoom);
                }, 0, 0, title,
               Language.StringByID(R.MyInternationalizationString.Confrim),
               Language.StringByID(R.MyInternationalizationString.Cancel));
            }
            else
            {
                var listAllRoom = UserCenter.HdlRoomLogic.Current.GetAllListRooms();
                for (int i = 0; i < listAllRoom.Count; i++)
                {
                    var r = listAllRoom[i];
                    if (r.IsLove)
                    {
                        continue;
                    }
                    rs.Add(r);
                    rNames.Add(r.Name);
                }
                PickerView.Show(rNames, (index1) =>
                {
                    curRoom = rs[index1];
                    ZoneAction?.Invoke(curRoom);
                }, 0, title,
               Language.StringByID(R.MyInternationalizationString.Confrim),
               Language.StringByID(R.MyInternationalizationString.Cancel));
            }
        }
    }
}