using System;
|
using Shared;
|
using Shared.R;
|
using Shared.Common;
|
using System.Collections.Generic;
|
|
namespace Shared.Phone.Device.Logic
|
{
|
public class SecurityMode : FrameLayout
|
{
|
public SecurityMode()
|
{
|
Tag = "Logic";
|
}
|
/// <summary>
|
/// 标记是否编辑
|
/// </summary>
|
public bool IsDeviceEditor;
|
Dictionary<string, object> actionsInfo = new Dictionary<string, object>();
|
|
public 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(600),
|
Height = Application.GetRealHeight(69),
|
Y = Application.GetRealHeight(92),
|
TextID = MyInternationalizationString.securitymode,
|
};
|
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();
|
};
|
#endregion
|
|
var middle = new FrameLayout();
|
middle.Y = topRowLayout.Bottom;
|
middle.Height = Application.GetRealHeight(1920 - 184);
|
middle.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
|
this.AddChidren(middle);
|
|
var btnsave = new Button
|
{
|
Y= middle.Height-Application.GetRealHeight(260),
|
X = Application.GetRealWidth(85),
|
Height = Application.GetRealHeight(130),
|
Width = Application.GetRealWidth(910),
|
Radius = (uint)Application.GetRealHeight(60),
|
BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor,
|
TextID = MyInternationalizationString.Save,
|
TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor,
|
|
};
|
middle.AddChidren(btnsave);
|
|
|
|
|
#region ----(在家/离家)布防 撤防 胁迫撤防----
|
#region 在家布防
|
|
|
var athomeFrameLayout = new FrameLayout
|
{
|
Height = Application.GetRealHeight(160),
|
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
|
};
|
middle.AddChidren(athomeFrameLayout);
|
|
var athomeiconBtn = new Button
|
{
|
Width = Application.GetRealWidth(81),
|
Height = Application.GetRealHeight(81),
|
X = Application.GetRealWidth(58),
|
Y = Application.GetRealHeight(55),
|
UnSelectedImagePath = "ZigeeLogic/athome.png",
|
|
};
|
athomeFrameLayout.AddChidren(athomeiconBtn);
|
|
var athomedefenceRowLayout = new RowLayout
|
{
|
Y = Application.GetRealHeight(30),
|
Width = Application.GetRealWidth(850),
|
Height = Application.GetRealHeight(130),
|
X = Application.GetRealWidth(176),
|
LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
|
};
|
athomeFrameLayout.AddChidren(athomedefenceRowLayout);
|
|
var btnathomedefence = new Button
|
{
|
Text = Language.StringByID(MyInternationalizationString.logicathomegarrison),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
|
};
|
athomedefenceRowLayout.AddChidren(btnathomedefence);
|
var athomedefenceSelected = new SelectedButton(789);
|
athomedefenceRowLayout.AddChidren(athomedefenceSelected);
|
#endregion
|
|
#region 离家布防
|
|
var leavehomeFrameLayout = new FrameLayout
|
{
|
Height = Application.GetRealHeight(160),
|
Y = athomeFrameLayout.Bottom,
|
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
|
};
|
middle.AddChidren(leavehomeFrameLayout);
|
|
|
var leavehomeiconBtn = new Button
|
{
|
Width = Application.GetRealWidth(81),
|
Height = Application.GetRealHeight(81),
|
X = Application.GetRealWidth(58),
|
Y = Application.GetRealHeight(55),
|
UnSelectedImagePath = "ZigeeLogic/leavehome.png",
|
|
};
|
leavehomeFrameLayout.AddChidren(leavehomeiconBtn);
|
|
|
var leavehomedefenceRowLayout = new RowLayout
|
{
|
Y = Application.GetRealHeight(30),
|
Width = Application.GetRealWidth(850),
|
Height = Application.GetRealHeight(130),
|
X = Application.GetRealWidth(176),
|
LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
|
};
|
leavehomeFrameLayout.AddChidren(leavehomedefenceRowLayout);
|
|
var leavehomebtndefence = new Button
|
{
|
Text = Language.StringByID(MyInternationalizationString.logicremovehomegarrison),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
|
|
};
|
leavehomedefenceRowLayout.AddChidren(leavehomebtndefence);
|
var leavehomedefenceSelected = new SelectedButton(789);
|
leavehomedefenceRowLayout.AddChidren(leavehomedefenceSelected);
|
|
#endregion
|
|
#region 撤防
|
|
|
var withdrawalFrameLayout = new FrameLayout
|
{
|
Height = Application.GetRealHeight(160),
|
Y = leavehomeFrameLayout.Bottom,
|
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
|
};
|
middle.AddChidren(withdrawalFrameLayout);
|
|
|
var withdrawaliconBtn = new Button
|
{
|
Width = Application.GetRealWidth(81),
|
Height = Application.GetRealHeight(81),
|
X = Application.GetRealWidth(58),
|
Y = Application.GetRealHeight(55),
|
UnSelectedImagePath = "ZigeeLogic/withdrawal.png",
|
|
};
|
withdrawalFrameLayout.AddChidren(withdrawaliconBtn);
|
|
|
|
var withdrawalRowLayout = new RowLayout
|
{
|
Y = Application.GetRealHeight(30),
|
Width = Application.GetRealWidth(850),
|
Height = Application.GetRealHeight(130),
|
X = Application.GetRealWidth(176),
|
LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
|
};
|
withdrawalFrameLayout.AddChidren(withdrawalRowLayout);
|
|
var btnwithdrawal = new Button
|
{
|
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
|
TextID = MyInternationalizationString.withdrawal,
|
|
};
|
withdrawalRowLayout.AddChidren(btnwithdrawal);
|
var withdrawalSelected = new SelectedButton(789);
|
withdrawalRowLayout.AddChidren(withdrawalSelected);
|
|
#endregion
|
|
#region 胁迫撤防
|
var urgentwithdFrameLayout = new FrameLayout
|
{
|
Height = Application.GetRealHeight(160),
|
Y = withdrawalFrameLayout.Bottom,
|
BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor,
|
};
|
middle.AddChidren(urgentwithdFrameLayout);
|
|
|
var urgentwithdiconBtn = new Button
|
{
|
Width = Application.GetRealWidth(81),
|
Height = Application.GetRealHeight(81),
|
X = Application.GetRealWidth(58),
|
Y = Application.GetRealHeight(55),
|
UnSelectedImagePath = "ZigeeLogic/withdrawal.png",
|
|
};
|
urgentwithdFrameLayout.AddChidren(urgentwithdiconBtn);
|
|
var urgentwithdrawalRowLayout = new RowLayout
|
{
|
Y = Application.GetRealHeight(30),
|
Width = Application.GetRealWidth(850),
|
Height = Application.GetRealHeight(130),
|
X = Application.GetRealWidth(176),
|
LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor,
|
};
|
urgentwithdFrameLayout.AddChidren(urgentwithdrawalRowLayout);
|
|
var btnurgentwithdrawal = new Button
|
{
|
TextID = MyInternationalizationString.urgentwithdrawal,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = ZigbeeColor.Current.LogicTextBlackColor,
|
};
|
urgentwithdrawalRowLayout.AddChidren(btnurgentwithdrawal);
|
|
var urgentwithdrawalSelected = new SelectedButton(789);
|
urgentwithdrawalRowLayout.AddChidren(urgentwithdrawalSelected);
|
#endregion
|
|
#endregion
|
|
///在家布防点击事件
|
EventHandler<MouseEventArgs> athomeclick = (sedner14, e14) =>
|
{
|
athomedefenceSelected.Visible = true;
|
leavehomedefenceSelected.Visible = false;
|
withdrawalSelected.Visible = false;
|
urgentwithdrawalSelected.Visible = false;
|
};
|
athomedefenceRowLayout.MouseUpEventHandler += athomeclick;
|
btnathomedefence.MouseUpEventHandler += athomeclick;
|
athomedefenceSelected.MouseUpEventHandler += athomeclick;
|
athomeFrameLayout.MouseUpEventHandler += athomeclick;
|
athomeiconBtn.MouseUpEventHandler += athomeclick;
|
|
///离家布防点击事件
|
EventHandler<MouseEventArgs> leavehomeclick = (sedner14, e14) =>
|
{
|
athomedefenceSelected.Visible = false;
|
leavehomedefenceSelected.Visible = true;
|
withdrawalSelected.Visible = false;
|
urgentwithdrawalSelected.Visible = false;
|
};
|
leavehomedefenceRowLayout.MouseUpEventHandler += leavehomeclick;
|
leavehomebtndefence.MouseUpEventHandler += leavehomeclick;
|
leavehomedefenceSelected.MouseUpEventHandler += leavehomeclick;
|
leavehomeFrameLayout.MouseUpEventHandler += leavehomeclick;
|
leavehomeiconBtn.MouseUpEventHandler += leavehomeclick;
|
|
///撤防点击事件
|
EventHandler<MouseEventArgs> disableclick = (seder, e) =>
|
{
|
athomedefenceSelected.Visible = false;
|
leavehomedefenceSelected.Visible = false;
|
withdrawalSelected.Visible = true;
|
urgentwithdrawalSelected.Visible = false;
|
|
};
|
withdrawalRowLayout.MouseUpEventHandler += disableclick;
|
btnwithdrawal.MouseUpEventHandler += disableclick;
|
withdrawalSelected.MouseUpEventHandler += disableclick;
|
withdrawalFrameLayout.MouseUpEventHandler += disableclick;
|
withdrawaliconBtn.MouseUpEventHandler += disableclick;
|
|
///胁迫撤防点击事件
|
EventHandler<MouseEventArgs> urgentwithdrawalclick = (seder, e) =>
|
{
|
athomedefenceSelected.Visible = false;
|
leavehomedefenceSelected.Visible = false;
|
withdrawalSelected.Visible = false;
|
urgentwithdrawalSelected.Visible = true;
|
};
|
urgentwithdrawalRowLayout.MouseUpEventHandler += urgentwithdrawalclick;
|
btnurgentwithdrawal.MouseUpEventHandler += urgentwithdrawalclick;
|
urgentwithdrawalSelected.MouseUpEventHandler+= urgentwithdrawalclick;
|
urgentwithdFrameLayout.MouseUpEventHandler += urgentwithdrawalclick;
|
urgentwithdiconBtn.MouseUpEventHandler += urgentwithdrawalclick;
|
|
if (IsDeviceEditor)
|
{
|
foreach (var actions in Common.Logic.CurrentLogic.Actions)
|
{
|
if (actions["LinkType"].ToString() == "6")
|
{
|
|
if (actions["SecuritySetting"].ToString() == "0")
|
{
|
if (actions["Password"].ToString() == "888888")
|
{
|
athomedefenceSelected.Visible = false;
|
leavehomedefenceSelected.Visible = false;
|
withdrawalSelected.Visible = false;
|
urgentwithdrawalSelected.Visible = true;
|
}
|
else
|
{
|
athomedefenceSelected.Visible = false;
|
leavehomedefenceSelected.Visible = false;
|
withdrawalSelected.Visible = true;
|
urgentwithdrawalSelected.Visible = false;
|
}
|
|
}
|
else if (actions["SecuritySetting"].ToString() == "1")
|
{
|
athomedefenceSelected.Visible = true;
|
leavehomedefenceSelected.Visible = false;
|
withdrawalSelected.Visible = false;
|
urgentwithdrawalSelected.Visible = false;
|
}
|
else if (actions["SecuritySetting"].ToString() == "2")
|
{
|
athomedefenceSelected.Visible = false;
|
leavehomedefenceSelected.Visible = true;
|
withdrawalSelected.Visible = false;
|
urgentwithdrawalSelected.Visible = false;
|
|
}
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
btnsave.MouseUpEventHandler += (sender, e) =>
|
{
|
if (!athomedefenceSelected.Visible && !leavehomedefenceSelected.Visible && !withdrawalSelected.Visible && !urgentwithdrawalSelected.Visible)
|
{
|
return;
|
}
|
|
if (actionsInfo.ContainsKey("LinkType"))
|
{
|
actionsInfo.Remove("LinkType");
|
}
|
if (actionsInfo.ContainsKey("CheckIASStatus"))
|
{
|
actionsInfo.Remove("CheckIASStatus");
|
}
|
if (actionsInfo.ContainsKey("IsDelayStart"))
|
{
|
actionsInfo.Remove("IsDelayStart");
|
}
|
|
actionsInfo.Add("LinkType", 6);
|
actionsInfo.Add("CheckIASStatus", 0);
|
actionsInfo.Add("IsDelayStart", 0);
|
|
if (actionsInfo.ContainsKey("Password"))
|
{
|
actionsInfo.Remove("Password");
|
}
|
if (actionsInfo.ContainsKey("SecuritySetting"))
|
{
|
actionsInfo.Remove("SecuritySetting");
|
}
|
if (actionsInfo.ContainsKey("SecurityModeId"))
|
{
|
actionsInfo.Remove("SecurityModeId");
|
}
|
///在家布防
|
if (athomedefenceSelected.Visible)
|
{
|
actionsInfo.Add("SecuritySetting", "1");
|
actionsInfo.Add("SecurityModeId", "1");
|
actionsInfo.Add("Password", "666666");
|
|
}
|
///离家布防
|
if (leavehomedefenceSelected.Visible)
|
{
|
actionsInfo.Add("SecuritySetting", "1");
|
actionsInfo.Add("SecurityModeId", "2");
|
actionsInfo.Add("Password", "666666");
|
|
}
|
///撤防
|
if (withdrawalSelected.Visible)
|
{
|
actionsInfo.Add("SecuritySetting", "0");
|
actionsInfo.Add("SecurityModeId", "0");
|
actionsInfo.Add("Password", "999999");
|
|
}
|
///紧迫撤防
|
if (urgentwithdrawalSelected.Visible)
|
{
|
actionsInfo.Add("SecuritySetting", "0");
|
actionsInfo.Add("SecurityModeId", "0");
|
actionsInfo.Add("Password", "888888");
|
|
}
|
LogicIfon.AddSecurityactions(actionsInfo);
|
this.RemoveFromParent();
|
var logicCommunalPage = new LogicCommunalPage();
|
UserView.HomePage.Instance.AddChidren(logicCommunalPage);
|
UserView.HomePage.Instance.PageIndex += 1;
|
logicCommunalPage.Show(() => { });
|
|
|
};
|
}
|
|
|
}
|
}
|