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();
|
}
|
}
|
}
|