using System;
using System.Collections.Generic;
using HDL_ON.DAL.Server;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI
{
///
/// 第三方品牌列表界面
///
public class Iot_BrandListPage : FrameLayout
{
FrameLayout bodyView;
VerticalScrolViewLayout contentView;//VerticalRefreshLayout
List brandList;
public Iot_BrandListPage()
{
bodyView = this;
brandList = new List();
}
public void LoadPage()
{
var topView = new TopViewDiv(bodyView, Language.StringByID(StringId.Bind3thIotAccount));
topView.maginY = 10;
topView.LoadTopView(CSS_Color.MainBackgroundColor);
bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
bodyView.AddChidren(new Button
{
Y = Application.GetRealHeight(64+10),
Height = Application.GetRealHeight(1),
BackgroundColor = CSS_Color.DividingLineColor,
});
Button btnTipText = new Button()
{
Y = Application.GetRealHeight(80+10),
Width = Application.GetRealWidth(347),
Height = Application.GetRealHeight(65),
Gravity = Gravity.CenterHorizontal,
Radius = (uint)Application.GetRealWidth(5),
BackgroundColor = 0x194484F4,
TextColor = CSS_Color.FirstLevelTitleColor,
Padding = new Padding(12, Application.GetRealWidth(16), 12, Application.GetRealWidth(16)),
TextSize = CSS_FontSize.TextFontSize,
Text = "通过绑定第三方平台账号寄哪里云端连接,将您在三方平台的设备同步到On Pro进行控制",
IsMoreLines = true,
TextAlignment = TextAlignment.CenterLeft,
};
bodyView.AddChidren(btnTipText);
if (Language.CurrentLanguage != "Chinese")
{
btnTipText.Text = "Synchronize your devices on the third-party platform to on Pro for control by binding the third-party platform account to the cloud connection";
}
contentView = new VerticalScrolViewLayout()
{
Y = Application.GetRealHeight(150+10),
Height = Application.GetRealHeight(573-10),
};
bodyView.AddChidren(contentView);
GetBindList();
//contentView.BeginHeaderRefreshingAction = () =>
//{
// contentView.EndHeaderRefreshing();
// GetBindList();
//};
}
///
/// 获取列表
///
void GetBindList()
{
var waitPage = new Loading();
waitPage.Start();
new System.Threading.Thread(() => {
try
{
var pm = new DAL.Server.HttpServerRequest();
var pack = pm.Get3tyIotBrandList();
if (pack.Code == DAL.Server.StateCode.SUCCESS)
{
brandList = Newtonsoft.Json.JsonConvert.DeserializeObject>(pack.Data.ToString());
if (brandList.Count > 0)
{
Application.RunOnMainThread(() =>
{
LoadRow();
});
}
else
{
Application.RunOnMainThread(() =>
{
//NotListTipView();
LoadRow();
});
}
}
else
{
IMessageCommon.Current.ShowErrorInfoAlter(pack.Code);
}
}
catch (Exception ex)
{
MainPage.Log("2--::" + ex.Message);
}
finally
{
Application.RunOnMainThread(() => { waitPage.Hide(); });
}
})
{ IsBackground = true }.Start();
}
void LoadRow()
{
contentView.RemoveAll();
//brandList.Add(new IntegratedBrand_Iot
//{
// authBrandNameCn = "Test Hdl",
// authBrandNameEn = "Test Hdl",
// hasAuthorization = false
//});
foreach (var brand in brandList)
{
var row = new RowLayout()
{
Height = Application.GetRealHeight(87),
BackgroundColor = CSS_Color.MainBackgroundColor,
LineColor = 0x00000000,
};
contentView.AddChidren(row);
Button btnLine = new Button()
{
Y = Application.GetRealWidth(86),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(343),
Height = 1,
BackgroundColor = CSS_Color.DividingLineColor,
};
row.AddChidren(btnLine);
ImageView btnIcon = new ImageView()
{
X = Application.GetRealWidth(12),
Gravity = Gravity.CenterVertical,
Width = Application.GetRealWidth(47),
Height = Application.GetRealWidth(47),
Radius = (uint)Application.GetRealWidth(9),
BackgroundColor = CSS_Color.PromptingColor1
};
row.AddChidren(btnIcon);
Button btnBindTip = new Button()
{
Width = Application.GetRealWidth(326),
TextAlignment = TextAlignment.CenterRight,
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.SubheadingFontSize,
TextID = brand.hasAuthorization ? StringId.Bound : StringId.Unbound,
};
row.AddChidren(btnBindTip);
Button btnRight = new Button()
{
X = Application.GetRealWidth(339),
Gravity = Gravity.CenterVertical,
Width = Application.GetMinRealAverage(16),
Height = Application.GetMinRealAverage(16),
UnSelectedImagePath = "Public/Right.png",
};
row.AddChidren(btnRight);
Button btnName = new Button()
{
X = Application.GetRealWidth(83),
Width = Application.GetRealWidth(310),
TextAlignment = TextAlignment.CenterLeft,
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
Text = brand.authBrandNameCn,
};
row.AddChidren(btnName);
//下载第三方品牌icon
ImageUtlis.Current.Load3tyBrandIconImages(brand.brandName, brand.authBrandIconUrl, btnIcon);
EventHandler eventHandler = (sender, e) => {
if (brand.hasAuthorization)
{
Action unboundAction = () =>
{
brand.hasAuthorization = false;
btnBindTip.TextID = StringId.Unbound;
};
var page = new Iot_BrandFunctionListPage(brand);
MainPage.BasePageView.AddChidren(page);
page.unboundAction = unboundAction;
page.LoadPage();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
}
else
{
Action action = () => {
brand.hasAuthorization = true;
btnBindTip.TextID = StringId.Bound;
};
Action action2 = () => {
brand.hasAuthorization = false;
btnBindTip.TextID = StringId.Unbound;
};
var page = new iot_BindTipPage();
MainPage.BasePageView.AddChidren(page);
page.boundAction = action;
page.unboundAction = action2;
page.LoadPage(brand);
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
}
};
btnRight.MouseUpEventHandler = eventHandler;
row.MouseUpEventHandler = eventHandler;
btnName.MouseUpEventHandler = eventHandler;
btnBindTip.MouseUpEventHandler = eventHandler;
}
}
}
}