using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.Safety
{
///
/// 添加胁迫联系人
///
public class AddCoerceContactForm : UserCenterCommonForm
{
///
/// 信息提示控件
///
private ViewNormalControl txtMsg = null;
///
/// 电话列表
///
private List listPhoneData = null;
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
///
public void ShowForm(List listData)
{
this.listPhoneData = listData;
//设置头部信息
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uAddContactPersion));
//初始化中部信息
this.InitMiddleFrame();
}
///
/// 初始化中部信息
///
private void InitMiddleFrame()
{
var row = new RowLayout();
row.Height = ControlCommonResourse.ListViewRowHeight;
bodyFrameLayout.AddChidren(row);
//联系电话
var txtPhone = new PhoneAreaControl();
txtPhone.Gravity = Gravity.CenterVertical;
row.AddChidren(txtPhone);
txtPhone.InitControl(this);
txtPhone.txtPhone.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputContactWay);
//提示信息
this.txtMsg = new ViewNormalControl(800, true);
txtMsg.X = ControlCommonResourse.XXLeft;
txtMsg.Y = row.Bottom + Application.GetRealHeight(5);
txtMsg.TextColor = UserCenterColor.Current.Red;
bodyFrameLayout.AddChidren(txtMsg);
//完成
var btnfinish = new TopLayoutFinshView();
topFrameLayout.AddChidren(btnfinish);
btnfinish.MouseUpEventHandler += (sender, e) =>
{
//执行保存手机操作
this.SavePhoneNumber(txtPhone.AreaCode, txtPhone.PhoneNumber);
};
}
///
/// 执行保存手机操作
///
private void SavePhoneNumber(string areaCode, string phoneNum)
{
//手机号检测
if (this.CheckPhoneNumber(areaCode, phoneNum) == false)
{
return;
}
//变更联系人方式
this.ChangedCoercePhoneNumber(areaCode, phoneNum);
}
///
/// 变更联系人方式
///
///
///
private async void ChangedCoercePhoneNumber(string areaCode, string phoneNum)
{
Dictionary dicPhone = new Dictionary();
dicPhone[phoneNum] = areaCode;
//变更
var result = await Common.LocalSafeguard.Current.SetCoercePhoneNumber(dicPhone);
if (result == false)
{
return;
}
Application.RunOnMainThread(() =>
{
var data = new ZigBee.Device.Safeguard.PushTargetInfo();
data.PushNumber = areaCode + "-" + phoneNum;
this.listPhoneData.Add(data);
//添加明细行
this.LoadFormMethodByName("CoerceContactSettionForm", "AddPhoneNumRowLayout", data);
//刷新主界面
this.LoadFormMethodByName("CoercePasswordMainForm", "InitMiddleFrame");
this.CloseForm();
});
}
///
/// 检测手机号
///
///
///
private bool CheckPhoneNumber(string areaCode, string phone)
{
//输入为空
if (phone == string.Empty)
{
//请输入联系方式
txtMsg.Text = Language.StringByID(R.MyInternationalizationString.uPleaseInputContactWay);
return false;
}
//检测手机号格式
if (UserCenterLogic.CheckPhoneNumber(phone, areaCode) == false)
{
//这不是一个有效的手机号
txtMsg.Text = Language.StringByID(R.MyInternationalizationString.uThisIsNotPhoneNumberType);
return false;
}
foreach (var data in this.listPhoneData)
{
if (data.PushNumber == areaCode + "-" + phone)
{
//联系方式已经存在
txtMsg.Text = Language.StringByID(R.MyInternationalizationString.uThePhoneNumIsRepeat);
return false;
}
}
txtMsg.Text = string.Empty;
return true;
}
}
}