using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.GatewayManage
{
///
/// 网关数据上传及下载界面
///
public class GatewayUploadAndDownLoadForm : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 网关ID
///
private string gatewayId = string.Empty;
///
/// 网关对象
///
private ZbGateway realGateway = null;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
/// 网关ID
public void ShowForm(string i_gatewayId)
{
this.gatewayId = i_gatewayId;
HdlGatewayLogic.Current.GetRealGateway(ref this.realGateway, gatewayId);
//设置头部信息
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDataUploadAndDownLoad));
//初始化中部信息
this.InitMiddleFrame();
}
///
/// 初始化中部信息
///
private void InitMiddleFrame()
{
//清空bodyFrame
this.ClearBodyFrame();
var frameBack = new FrameLayout();
frameBack.Height = Application.GetRealHeight(11);
frameBack.BackgroundColor = UserCenterColor.Current.White;
bodyFrameLayout.AddChidren(frameBack);
var listView = new VerticalListControl(12);
listView.Y = frameBack.Bottom;
listView.Height = bodyFrameLayout.Height - frameBack.Height;
listView.BackgroundColor = UserCenterColor.Current.White;
bodyFrameLayout.AddChidren(listView);
//自动备份
var frameAuto = new FrameRowControl(listView.rowSpace / 2);
frameAuto.UseClickStatu = false;
listView.AddChidren(frameAuto);
frameAuto.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uAutoBackup), 700);
frameAuto.AddBottomLine();
var btnSwicth = frameAuto.AddMostRightSwitchIcon();
btnSwicth.ButtonClickEvent += (sender, e) =>
{
//设置状态
if (HdlGatewayLogic.Current.SetGatewayAutoBackupStatu(this.realGateway, !btnSwicth.IsSelected) == true)
{
btnSwicth.IsSelected = !btnSwicth.IsSelected;
}
};
//上传数据至云端
var frameUp = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(frameUp);
frameUp.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uUploadDataToDb), 700);
frameUp.AddRightArrow();
frameUp.AddBottomLine();
frameUp.ButtonClickEvent += (sender, e) =>
{
if (this.realGateway == null)
{
//错误:网关对象丢失
string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg);
this.ShowMassage(ShowMsgType.Error, msg);
return;
}
//生成一个弹窗画面
this.ShowDialogInputForm(Language.StringByID(R.MyInternationalizationString.uUploadData),
Language.StringByID(R.MyInternationalizationString.uPleaseInpuBackupName), null, (contr, textValue) =>
{
//画面关闭
contr.CloseDialog();
HdlThreadLogic.Current.RunThread(() =>
{
//上传备份
HdlGatewayBackupLogic.Current.DoBackupGateway(this.realGateway.GwId, textValue);
});
});
};
//从云端下载数据
var frameDown = new FrameRowControl(listView.rowSpace / 2);
listView.AddChidren(frameDown);
frameDown.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uDwonloadDataFromDb), 700);
frameDown.AddRightArrow();
frameDown.ButtonClickEvent += (sender, e) =>
{
if (this.realGateway == null)
{
//错误:网关对象丢失
string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg);
this.ShowMassage(ShowMsgType.Error, msg);
return;
}
var form = new GatewayBackUpListForm();
form.AddForm(this.realGateway);
};
//调整真实高度
listView.AdjustRealHeight(Application.GetRealHeight(23));
HdlThreadLogic.Current.RunThread(() =>
{
//获取网关数据
this.GetGatewayData(btnSwicth);
});
}
#endregion
#region ■ 获取数据___________________________
///
/// 获取网关数据
///
///
private void GetGatewayData(MostRightIconControl btnSwitch)
{
//打开进度条
this.ShowProgressBar();
//获取网关自动设置状态
var statu = HdlGatewayLogic.Current.GetGatewayAutoBackupStatu(realGateway);
if (statu == -1)
{
//关闭进度条
this.CloseProgressBar(ShowReLoadMode.YES);
return;
}
if (statu == 1)
{
HdlThreadLogic.Current.RunMain(() =>
{
btnSwitch.IsSelected = true;
});
}
//关闭进度条
this.CloseProgressBar();
}
#endregion
}
}