陈嘉乐
2021-03-17 dbc23459fdf4e8b74a5f955fbb9fc631b4babc70
HDL_ON/UI/UI2/4-PersonalCenter/AddFunction/AddDevciePage.cs
New file
@@ -0,0 +1,144 @@
using System;
using System.Collections.Generic;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
namespace HDL_ON.UI
{
    public class AddDevciePage : FrameLayout
    {
        FrameLayout bodyView;
        IntegratedBrand brand;
        VerticalRefreshLayout contentView;
        public AddDevciePage(IntegratedBrand integratedBrand)
        {
            bodyView = this;
            brand = integratedBrand;
        }
        public void LoadPage()
        {
            new TopViewDiv(bodyView, Language.StringByID(StringId.AddDevice)).LoadTopView();
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            contentView = new VerticalRefreshLayout()
            {
                Y = Application.GetRealHeight(64),
                Height = Application.GetRealHeight(667 - 64),
                VerticalScrollBarEnabled = false,
            };
            bodyView.AddChidren(contentView);
            Load3tyBrandDeviceList();
        }
        void Load3tyBrandDeviceList()
        {
            var waitPage = new Loading();
            waitPage.Start();
            new System.Threading.Thread(() => {
                try
                {
                    var pm = new DAL.Server.HttpServerRequest();
                    //var result = pm.Get3tyBindBrandList
                    var pack = pm.Get3TyBrandDeviceList(brand.productPlatform, brand.productBrand);
                    if (pack.Code == DAL.Server.StateCode.SUCCESS)
                    {
                        var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<IntegratedBrandDevice>>(pack.Data.ToString());
                        Application.RunOnMainThread(() =>
                        {
                            LoadRow(revData);
                        });
                    }
                }
                catch (Exception ex)
                {
                    MainPage.Log("1--::" + ex.Message);
                }
                finally
                {
                    Application.RunOnMainThread(() => { waitPage.Hide(); });
                }
            })
            { IsBackground = true }.Start();
        }
        void LoadRow(List<IntegratedBrandDevice> deviceList)
        {
            contentView.RemoveAll();
            bool isFrist = true;
            foreach (var device in deviceList)
            {
                FrameLayout row = new FrameLayout()
                {
                    Height = Application.GetRealHeight(50),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
                };
                contentView.AddChidren(row);
                if (isFrist)
                {
                    isFrist = false;
                }
                else
                {
                    Button btnLine = new Button()
                    {
                        X = Application.GetRealWidth(56),
                        Width = Application.GetRealWidth(303),
                        Height = 1,
                        BackgroundColor = CSS_Color.DividingLineColor,
                    };
                    row.AddChidren(btnLine);
                }
                var btnIcon = new Button()
                {
                    X = Application.GetRealWidth(12),
                    Gravity = Gravity.CenterVertical,
                    Width = Application.GetRealWidth(32),
                    Height = Application.GetRealWidth(32),
                    Radius = (uint)Application.GetRealWidth(4),
                    UnSelectedImagePath = $"FunctionIcon/Icon/{device.spk.Replace(".","")}.png",
                };
                row.AddChidren(btnIcon);
                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(56),
                    Width = Application.GetRealWidth(303),
                    TextAlignment = TextAlignment.CenterLeft,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextSize = CSS_FontSize.TextFontSize,
                    Text = device.productName,
                };
                row.AddChidren(btnName);
                btnName.MouseUpEventHandler = (sender, e) => {
                    switch (device.spk)
                    {
                        case SPK.IrModule:
                            var form = new AddMiniRemoteControlDirection1Page();
                            form.AddForm();
                            break;
                    }
                };
            }
        }
    }
}