using Shared.Common;
using Shared.Phone.Device.CommonForm;
using Shared.Phone.UserCenter;
using System;
using System.Collections.Generic;
using System.Text;
namespace Shared.Phone.MainPage.Controls
{
///
/// 安防快捷方式控件
///
public class SafetyShortcutControl : Button
{
///
/// dialog
///
private Dialog dialog;
///
/// SafetyShortcut
///
public SafetyShortcutControl()
{
this.Height = HdlControlLogic.Current.GetPictrueRealSize(69);
this.Width = HdlControlLogic.Current.GetPictrueRealSize(69);
this.UnSelectedImagePath = "Item/SafetyShortcut.png";
this.MouseUpEventHandler += (sender, e) =>
{
Show();
};
}
///
/// Show
///
private void Show()
{
Common.CommonPage.Instance.IsDrawerLockMode = true;
dialog = new Dialog();
dialog.BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor;
dialog.Show();
var closeBGview = new FrameLayout();
dialog.AddChidren(closeBGview);
closeBGview.MouseUpEventHandler += (send1, e1) =>
{
dialog.Close();
};
var bg = new Button
{
X = Application.GetRealWidth(495),
Y = Application.GetRealHeight(161),
Width = Application.GetRealWidth(449),
Height = Application.GetRealHeight(495),
UnSelectedImagePath = "Item/SafetyShortcut_background.png"
};
closeBGview.AddChidren(bg);
var bg1 = new FrameLayout
{
X = Application.GetRealWidth(495),
Y = Application.GetRealHeight(161),
Width = Application.GetRealWidth(449),
Height = Application.GetRealHeight(495),
};
closeBGview.AddChidren(bg1);
new System.Threading.Thread(async () =>
{
//刷新
var result = await HdlSafeguardLogic.Current.ReFreshByGateway();
if (result == false)
{
return;
}
//是否设置有内部防区
HdlThreadLogic.Current.RunMain(() =>
{
RefreshSafeZone(bg1, HdlSafeguardLogic.Current.IsHadInternalDefenseArea());
});
})
{ IsBackground = true }.Start();
}
///
/// 显示防区
///
/// true 3个防区 false 2个防区
private void RefreshSafeZone(FrameLayout layout, bool statu)
{
if (statu)
{
ShowThreeSafeType(layout);
}
else
{
ShowTwoSafeType(layout);
}
}
///
/// 布防撤防
///
///
private void ShowTwoSafeType(FrameLayout layout)
{
Device.CommonForm.LeftIconButtonRow tempRow;
var atHome = new Device.CommonForm.LeftIconButtonRow(449, 150);
atHome.Y = Application.GetRealHeight(32);
atHome.Init("Item/SafetyShortcut_item.png", "Item/SafetyShortcut_itemSelected.png", Language.StringByID(R.MyInternationalizationString.uGarrison));
layout.AddChidren(atHome);
atHome.Tag = GarrisonMode.AtHome;
if (HdlSafeguardLogic.Current.NowGarrisonMode == GarrisonMode.AtHome)
{
atHome.IsSelected = true;
tempRow = atHome;
}
atHome.ButtonClickEvent += (sender, e) =>
{
dialog.Close();
if (sender.IsSelected)
{
return;
}
CommonPage.Loading.Start();
new System.Threading.Thread(async () =>
{
var result = await HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.AtHome);
HdlThreadLogic.Current.RunMain(() =>
{
CommonPage.Loading.Hide();
if (result == GarrisonMode.AtHome)
{
HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uSetGarrisonSuccess));
}
else
{
HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uSetGarrisonFail));
}
});
})
{ IsBackground = true }.Start();
};
var withdrawGarriso = new Device.CommonForm.LeftIconButtonRow(449, 150);
withdrawGarriso.Y = atHome.Bottom + Application.GetRealHeight(3);
withdrawGarriso.Init("Item/SafetyShortcut_item.png", "Item/SafetyShortcut_itemSelected.png", Language.StringByID(R.MyInternationalizationString.uWithdrawGarrison));
layout.AddChidren(withdrawGarriso);
withdrawGarriso.Tag = GarrisonMode.RemoveGarrison;
if (HdlSafeguardLogic.Current.NowGarrisonMode == GarrisonMode.None)
{
withdrawGarriso.IsSelected = true;
tempRow = withdrawGarriso;
}
withdrawGarriso.ButtonClickEvent += (sender, e) =>
{
dialog.Close();
if (sender.IsSelected)
{
return;
}
CommonPage.Loading.Start();
new System.Threading.Thread(async () =>
{
var result = await HdlSafeguardLogic.Current.RemoveSafetyGarrison(GarrisonMode.RemoveGarrison, true);
HdlThreadLogic.Current.RunMain(() =>
{
CommonPage.Loading.Hide();
if (result == 1)
{
HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uRemoveGarrisonSuccess));
}
else
{
HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uRemoveGarrisonFail));
}
});
})
{ IsBackground = true }.Start();
};
}
///
/// 在家 离家 撤防
///
///
private void ShowThreeSafeType(FrameLayout layout)
{
var atHome = new Device.CommonForm.LeftIconButtonRow(449, 150);
atHome.Y = Application.GetRealHeight(32);
atHome.Init("Item/SafetyShortcut_item.png", "Item/SafetyShortcut_itemSelected.png", Language.StringByID(R.MyInternationalizationString.uAtHomeGarrison));
layout.AddChidren(atHome);
if (HdlSafeguardLogic.Current.NowGarrisonMode == GarrisonMode.AtHome)
{
atHome.IsSelected = true;
}
atHome.ButtonClickEvent += (sender, e) =>
{
dialog.Close();
if (sender.IsSelected)
{
return;
}
CommonPage.Loading.Start();
new System.Threading.Thread(async () =>
{
var result = await HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.AtHome);
HdlThreadLogic.Current.RunMain(() =>
{
CommonPage.Loading.Hide();
if (result == GarrisonMode.AtHome)
{
HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uSetAtHomeGarrisonSuccess));
}
else
{
HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uSetGarrisonFail));
}
});
})
{ IsBackground = true }.Start();
};
var removeHome = new Device.CommonForm.LeftIconButtonRow(449, 150);
removeHome.Y = atHome.Bottom + Application.GetRealHeight(3);
removeHome.Init("Item/SafetyShortcut_item.png", "Item/SafetyShortcut_itemSelected.png", Language.StringByID(R.MyInternationalizationString.uRemoveHomeGarrison));
layout.AddChidren(removeHome);
if (HdlSafeguardLogic.Current.NowGarrisonMode == GarrisonMode.RemoveHome)
{
removeHome.IsSelected = true;
}
removeHome.ButtonClickEvent += (sender, e) =>
{
dialog.Close();
if (sender.IsSelected)
{
return;
}
CommonPage.Loading.Start();
new System.Threading.Thread(async () =>
{
var result = await HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.RemoveHome);
HdlThreadLogic.Current.RunMain(() =>
{
CommonPage.Loading.Hide();
if (result == GarrisonMode.RemoveHome)
{
HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uSetRemoveHomeGarrisonSuccess));
}
else
{
HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uSetGarrisonFail));
}
});
})
{ IsBackground = true }.Start();
};
var withdrawGarriso = new Device.CommonForm.LeftIconButtonRow(449, 150);
withdrawGarriso.Y = removeHome.Bottom + Application.GetRealHeight(3);
withdrawGarriso.Init("Item/SafetyShortcut_item.png", "Item/SafetyShortcut_itemSelected.png", Language.StringByID(R.MyInternationalizationString.uWithdrawGarrison));
layout.AddChidren(withdrawGarriso);
withdrawGarriso.HidenLine(true);
if (HdlSafeguardLogic.Current.NowGarrisonMode == GarrisonMode.None)
{
withdrawGarriso.IsSelected = true;
}
withdrawGarriso.ButtonClickEvent += (sender, e) =>
{
dialog.Close();
if (sender.IsSelected)
{
return;
}
CommonPage.Loading.Start();
new System.Threading.Thread(async () =>
{
var result = await HdlSafeguardLogic.Current.RemoveSafetyGarrison(GarrisonMode.RemoveGarrison, true);
HdlThreadLogic.Current.RunMain(() =>
{
CommonPage.Loading.Hide();
if (result == 1)
{
HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uRemoveGarrisonSuccess));
}
else
{
HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uRemoveGarrisonFail));
}
});
})
{ IsBackground = true }.Start();
};
}
///
/// RemoveFromParent
///
public override void RemoveFromParent()
{
Common.CommonPage.Instance.IsDrawerLockMode = false;
base.RemoveFromParent();
}
}
}