CrabtreeOn,印度客户定制APP,迁移2.0平台版本
陈嘉乐
2021-03-03 375751523a86b9ba0b3a27f04c3d3c4f19538690
Crabtree/SmartHome/HDL/Common/HDLLinkUtlis.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using Shared;
using Shared.IO;
using Shared.SimpleControl;
namespace Shared
{
@@ -116,6 +117,71 @@
        }
        #endregion
        /// <summary>
        /// 一键将本地回路设备和场景数据转换
        /// 然后上传oid、sid、以及场景列表
        /// </summary>
        /// <returns></returns>
        public void OneclickUpload ()
        {
            MainPage.Loading.Start ("Uploading device list...");
            System.Threading.Tasks.Task.Run (() => {
                try {
                    var res = false;
                    res = UploadOidAndSidList ();
                    if (res) {
                        res = GetFunctionList ();
                        if (res) {
                            res = UploadSecneList ();
                        }
                    }
                    if (!res) {
                        Utlis.ShowAlertOnMainThread (Language.StringByID (SimpleControl.R.MyInternationalizationString.SuccessfullySynchronizedToTheCloud));
                    } else {
                        Utlis.ShowAlertOnMainThread (Language.StringByID (SimpleControl.R.MyInternationalizationString.FailedToSyncToTheCloud));
                    }
                } catch {
                } finally {
                    Application.RunOnMainThread (() => {
                        MainPage.Loading.Hide ();
                    });
                }
            });
        }
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public bool GetFunctionList ()
        {
            var res = false;
            try {
                var revertObj = HttpServerRequest.Current.GetDeviceList ();
                if (revertObj.Code == StateCode.SUCCESS) {
                    var devcieFunctionRes = Newtonsoft.Json.JsonConvert.DeserializeObject<DevcieFunctionRes> (revertObj.Data.ToString ());
                    if (devcieFunctionRes != null && devcieFunctionRes.list != null && devcieFunctionRes.list.Count > 0) {
                        CommonConfig.Current.FunctionList = devcieFunctionRes.list;
                    } else {
                        CommonConfig.Current.FunctionList = new List<Function> ();
                    }
                    CommonConfig.Current.Save ();
                    res = true;
                } else {
                    //提示错误
                    IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code);
                }
            } catch {
            }
            return res;
        }
        #region ■ 上传场景列表___________________________
        /// <summary>
        /// 上传场景列表
@@ -144,7 +210,6 @@
            }
            return res;
        }
        /// <summary>
        /// 获取所有场景列表
@@ -220,25 +285,25 @@
            return res;
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="mScene"></param>
        bool UpdateSceneList (List<HDLLinkScene> updateLinkSceneList)
        {
            var res = false;
            try {
                var revertObj = HttpServerRequest.Current.EditScene (updateLinkSceneList);
                if (revertObj.Code == StateCode.SUCCESS) {
                    res = true;
                } else {
                    IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code);
                }
            } catch {
        ///// <summary>
        /////
        ///// </summary>
        ///// <param name="mScene"></param>
        //bool UpdateSceneList (List<HDLLinkScene> updateLinkSceneList)
        //{
        //    var res = false;
        //    try {
        //        var revertObj = HttpServerRequest.Current.EditScene (updateLinkSceneList);
        //        if (revertObj.Code == StateCode.SUCCESS) {
        //            res = true;
        //        } else {
        //            IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code);
        //        }
        //    } catch {
            }
            return res;
        }
        //    }
        //    return res;
        //}
        /// <summary>
        /// 原生协议Scene 转换成 HDLLinkScene数据格式