using System;
|
using System.Collections.Generic;
|
using System.Text;
|
|
namespace Shared.Phone.UserCenter.Safety
|
{
|
/// <summary>
|
/// 各防区的设置内容的菜单界面
|
/// </summary>
|
public class GarrisonAreaSettionMenuForm : EditorCommonForm
|
{
|
#region ■ 变量声明___________________________
|
|
/// <summary>
|
/// 防区ID
|
/// </summary>
|
private int zoonID = 0;
|
/// <summary>
|
/// 防区名字
|
/// </summary>
|
private string SectorsName = string.Empty;
|
|
#endregion
|
|
#region ■ 初始化_____________________________
|
|
/// <summary>
|
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
|
/// </summary>
|
/// <param name="i_SectorsName">防区名字</param>
|
/// <param name="i_zoonID">防区ID</param>
|
public void ShowForm(string i_SectorsName, int i_zoonID)
|
{
|
this.zoonID = i_zoonID;
|
this.SectorsName = i_SectorsName;
|
|
//设置头部信息
|
base.SetTitleText(SectorsName);
|
|
//初始化中部信息
|
this.InitMiddleFrame();
|
}
|
|
/// <summary>
|
/// 初始化中部信息
|
/// </summary>
|
private void InitMiddleFrame()
|
{
|
//清空bodyFrame
|
this.ClearBodyFrame();
|
|
var listView = new VerticalListControl(29);
|
listView.Y = Application.GetRealHeight(-6);
|
listView.Height = zoonID == 3 ? Application.GetRealHeight(639) : Application.GetRealHeight(481);
|
listView.BackgroundColor = UserCenterColor.Current.White;
|
bodyFrameLayout.AddChidren(listView);
|
|
//初始化【传感器设置】行
|
var row1 = new FrameRowControl(listView.rowSpace / 2);
|
listView.AddChidren(row1);
|
row1.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uSensorSettion), 500);
|
row1.AddRightArrow();
|
row1.AddBottomLine();
|
row1.ButtonClickEvent += (sender, e) =>
|
{
|
var form = new GarrisonAreaExistSensorForm();
|
form.AddForm(this.SectorsName, this.zoonID);
|
};
|
|
//初始化【报警目标设置】行
|
var row2 = new FrameRowControl(listView.rowSpace / 2);
|
listView.AddChidren(row2);
|
row2.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uAlarmTargetSettion), 500);
|
row2.AddRightArrow();
|
row2.AddBottomLine();
|
row2.ButtonClickEvent += (sender, e) =>
|
{
|
var form = new AlarmTargetExistSettionForm();
|
form.AddForm(this.zoonID);
|
};
|
|
//出入防区的时候才显示
|
if (zoonID == 3)
|
{
|
//初始化【延时设置】行
|
var row3 = new FrameRowControl(listView.rowSpace / 2);
|
listView.AddChidren(row3);
|
row3.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDelayedSettion), 500);
|
row3.AddRightArrow();
|
row3.AddBottomLine();
|
row3.ButtonClickEvent += (sender, e) =>
|
{
|
var form = new GarrisonAreaDelayedSettionForm();
|
form.AddForm();
|
};
|
}
|
|
//初始化【信息通知】的行
|
var row4 = new FrameRowControl(listView.rowSpace / 2);
|
row4.UseClickStatu = false;
|
listView.AddChidren(row4);
|
row4.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uInformationPush), 500);
|
//开关图标
|
var btnSwicth = row4.AddMostRightSwitchIcon();
|
btnSwicth.IsSelected = HdlSafeguardLogic.Current.GetGarrisonInformationPushStatu(this.zoonID) == 0;
|
btnSwicth.ButtonClickEvent += (sender, e) =>
|
{
|
//设置信息通知的状态
|
this.SetInformationPush(btnSwicth);
|
};
|
|
//初始化提示信息
|
this.InitTipControl();
|
}
|
|
#endregion
|
|
#region ■ 设置信息推送的状态_________________
|
|
/// <summary>
|
/// 设置信息推送的状态
|
/// </summary>
|
/// <param name="btnswich"></param>
|
private async void SetInformationPush(MostRightIconControl btnswich)
|
{
|
//获取状态(取反)
|
int statu = btnswich.IsSelected == true ? 1 : 0;
|
|
//执行修改
|
var result = await HdlSafeguardLogic.Current.SetGarrisonInformationPushStatu(this.zoonID, statu);
|
if (result == false)
|
{
|
return;
|
}
|
btnswich.IsSelected = !btnswich.IsSelected;
|
}
|
|
#endregion
|
|
#region ■ 初始化提示信息_____________________
|
|
/// <summary>
|
/// 初始化提示信息
|
/// </summary>
|
private void InitTipControl()
|
{
|
var btnIcon = new IconViewControl(58);
|
btnIcon.Y = Application.GetRealHeight(1426);
|
btnIcon.UnSelectedImagePath = "Item/Tips.png";
|
bodyFrameLayout.AddChidren(btnIcon);
|
|
string msg = string.Empty;
|
//24小时防区
|
if (zoonID == 1)
|
{
|
//24小时防区不受布防、撤防影响{0}防区被触发立即报警{0}一般设置烟雾、燃气、水浸等传感器
|
msg = Language.StringByID(R.MyInternationalizationString.u24HourSectorsTipMsg);
|
}
|
//静音防区
|
else if (zoonID == 2)
|
{
|
//静音防区不受布防、撤防影响,防区被{0}触发立即报警,通常不产生声音或{0}其他提示,只发送信息到特定的接收者
|
msg = Language.StringByID(R.MyInternationalizationString.uMuteSectorsTipMsg);
|
}
|
//内部防区
|
else if (zoonID == 4)
|
{
|
//在离家布防模式下,内部防区传感器触发{0}立即报警。在在家布防模式下{0}内部防区所有传感器不参与报警
|
msg = Language.StringByID(R.MyInternationalizationString.uInteriorSectorsTipMsg);
|
}
|
//周界防区
|
else if (zoonID == 5)
|
{
|
//离家布防模式或在家布防模式下{0}周界防区传感器触发立即报警
|
msg = Language.StringByID(R.MyInternationalizationString.uPerimeterSectorsTipMsg);
|
}
|
//出入防区
|
else
|
{
|
//在布防后系统提供一定的延迟时间。出门时{0}外出延时结束后,系统触发目标报警{0}回家时,进入延时结束后,系统触发目标报警
|
msg = Language.StringByID(R.MyInternationalizationString.uInAndOutSectorsTipMsg);
|
}
|
var ArryMsg = msg.Split(new string[] { "{0}" }, StringSplitOptions.RemoveEmptyEntries);
|
|
int yy = Application.GetRealHeight(1428);
|
int firstXX = 0;
|
for (int i = 0; i < ArryMsg.Length; i++)
|
{
|
var btnTip = new NormalViewControl(100, 50, true);
|
btnTip.Y = yy;
|
btnTip.TextAlignment = TextAlignment.Center;
|
btnTip.TextColor = UserCenterColor.Current.TextGrayColor1;
|
btnTip.TextSize = 12;
|
btnTip.Text = ArryMsg[i];
|
btnTip.Width = btnTip.GetRealWidthByText();
|
btnTip.Gravity = Gravity.CenterHorizontal;
|
bodyFrameLayout.AddChidren(btnTip);
|
|
yy = btnTip.Bottom;
|
if (i == 0)
|
{
|
//记录第一条msg的X轴
|
firstXX = btnTip.X;
|
}
|
}
|
btnIcon.X = firstXX - Application.GetRealWidth(23) - btnIcon.Width;
|
}
|
|
#endregion
|
}
|
}
|