using System;
|
using Shared;
|
using Shared.Common;
|
using Shared.R;
|
|
namespace Shared.Phone.Logic.DoorLockLogic
|
{
|
public class DoorLockLogicList : FrameLayout
|
{
|
|
public async void Show()
|
{
|
|
#region 最上面的布局代码
|
var topRowLayout = new RowLayout
|
{
|
BackgroundColor = ZigbeeColor.Current.LogicTopBackgroundColor,
|
Height = Application.GetRealHeight(184),
|
LineColor = ZigbeeColor.Current.LogicRowLayoutTopLineColor,
|
};
|
this.AddChidren(topRowLayout);
|
|
var titleName = new Button
|
{
|
TextSize = 16,
|
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth(176),
|
Width = Application.GetRealWidth(400),
|
Height = Application.GetRealHeight(69),
|
Y = Application.GetRealHeight(92),
|
TextID = MyInternationalizationString.selection,
|
};
|
topRowLayout.AddChidren(titleName);
|
|
var clickBtn = new Button
|
{
|
Width = Application.GetRealWidth(81 + 51),
|
Height = Application.GetRealHeight(58 + 40),
|
Y = Application.GetRealHeight(98 - 40),
|
};
|
topRowLayout.AddChidren(clickBtn);
|
clickBtn.MouseDownEventHandler += (sender, e) =>
|
{
|
RemoveFromParent();
|
};
|
|
var back = new Button
|
{
|
Width = Application.GetRealWidth(30),
|
Height = Application.GetRealHeight(51),
|
X = Application.GetRealWidth(81),
|
Y = Application.GetRealHeight(98),
|
//Gravity = Gravity.CenterVertical;
|
UnSelectedImagePath = "ZigeeLogic/back.png",
|
};
|
topRowLayout.AddChidren(back);
|
back.MouseDownEventHandler += (sender, e) =>
|
{
|
RemoveFromParent();
|
};
|
|
var addiocn = new Button
|
{
|
Width = Application.GetRealWidth(72),
|
Height = Application.GetRealHeight(72),
|
X = Application.GetRealWidth(1080-108-58),
|
UnSelectedImagePath = "ZigeeLogic/lockadd.png",
|
Y = Application.GetRealHeight(184-72-20),
|
};
|
topRowLayout.AddChidren(addiocn);
|
addiocn.MouseUpEventHandler += (sender, e) =>
|
{
|
//new一个新逻辑对象;
|
Common.Logic.CurrentLogic = new Common.Logic();
|
Common.Logic.CurrentLogic.IsEnable = 1;//默认为开
|
Common.Logic.CurrentLogic.LogicType = 1;
|
//Config.Instance.Guid用来识别账号身份;
|
var accounts = new System.Collections.Generic.Dictionary<string, string>();
|
accounts.Add("Account",Config.Instance.Guid);
|
Common.Logic.CurrentLogic.Accounts.Add(accounts);
|
Common.Logic.CurrentLogic.LogicName = Language.StringByID(MyInternationalizationString.automation1);
|
var lockLogicCommunalPage = new LockLogicCommunalPage();
|
UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage);
|
UserView.HomePage.Instance.PageIndex += 1;
|
lockLogicCommunalPage.Show(() => { });
|
};
|
#endregion
|
|
var middle = new VerticalScrolViewLayout
|
{
|
Y = topRowLayout.Bottom,
|
Height = Application.GetRealHeight(1920 - 184),
|
BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
|
};
|
this.AddChidren(middle);
|
|
CommonPage.Loading.Start();
|
if (Common.Logic.LockLogicList.Count == 0)
|
{
|
var Idlist = await Device.Logic.Send.GetLogicId();
|
if (Idlist.Count != 0)
|
{
|
var listlogic = await Device.Logic.Send.ReadList(Idlist.Count);
|
for (int i = 0; i < Idlist.Count; i++)
|
{
|
var LogicId = Idlist[i];
|
//foreach可能集合已被修改,枚举操作可能不会执行,可能出现崩溃(建议for)。
|
for (int j = 0; j < listlogic.Count; j++)
|
{
|
var logic = listlogic[j];
|
if (logic.LogicId == LogicId)
|
{
|
Common.Logic.LockLogicList.Add(logic);
|
}
|
}
|
}
|
}
|
}
|
//自动化
|
for (int i = 0; i < Common.Logic.LockLogicList.Count; i++)
|
{
|
var logic = Common.Logic.LockLogicList[i];
|
var logicRowlayout = new RowLayout
|
{
|
Width = Application.GetRealWidth(1080),
|
Height = Application.GetRealHeight(190),
|
LineColor = ZigbeeColor.Current.LogicBackgroundColor,
|
BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
|
|
};
|
middle.AddChidren(logicRowlayout);
|
|
var logicnameBtn = new Button
|
{
|
Height = Application.GetRealHeight(190),
|
Width = Application.GetRealWidth(600),
|
Text = logic.LogicName,
|
X = Application.GetRealWidth(58),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
|
Gravity = Gravity.CenterVertical,
|
};
|
logicRowlayout.AddChidren(logicnameBtn);
|
|
|
var logicswitchBtn = new Button
|
{
|
Width = Application.GetMinRealAverage(104),
|
Height = Application.GetMinRealAverage(63),
|
UnSelectedImagePath = "ZigeeLogic/logicclose.png",
|
SelectedImagePath = "ZigeeLogic/logicopen.png",
|
X = logicRowlayout.Width - Application.GetRealWidth(104 + 58),
|
Gravity = Gravity.CenterVertical,
|
};
|
logicRowlayout.AddChidren(logicswitchBtn);
|
|
}
|
CommonPage.Loading.Hide();
|
}
|
}
|
}
|