JLChen
2020-04-03 be95e839f40eb3ddf64706b60cba6dfcf4fad5e5
Crabtree/SmartHome/UI/SimpleControl/Phone/Alexa/AlexaDeviceListPage.cs
@@ -77,7 +77,7 @@
                        });
                    }
                } catch (Exception ex) {
                    Console.WriteLine (ex.Message);
                    Utlis.WriteLine (ex.Message);
                } finally {
                    Application.RunOnMainThread (() => {
                        MainPage.Loading.Hide ();
@@ -88,7 +88,7 @@
            ItemButton.MouseUpEventHandler += (sender, e) => {
                Action action = () => {
                    Application.RunOnMainThread (() => {
                        MainPage.Loading.Start ("please wait...");
                        MainPage.Loading.Start ("Please wait...");
                    });
                    System.Threading.Tasks.Task.Run (() => {
                        try {
@@ -98,7 +98,7 @@
                                InitDevcieRow (alexaDeviceLista, bodyView);
                            });
                        } catch (Exception ex) {
                            Console.WriteLine (ex.Message);
                            Utlis.WriteLine (ex.Message);
                        } finally {
                            Application.RunOnMainThread (() => {
                                MainPage.Loading.Hide ();
@@ -111,7 +111,7 @@
                    System.Threading.Tasks.Task.Factory.StartNew (() => {
                        try {
                            Application.RunOnMainThread (() => {
                                MainPage.Loading.Start ("please wait...");
                                MainPage.Loading.Start ("Please wait...");
                            });
                            foreach (var newDevicePath in roomDeviceFilePathList) {
                                var common = Newtonsoft.Json.JsonConvert.DeserializeObject<Common> (CommonPage.MyEncodingUTF8.GetString (IO.FileUtils.ReadFile (newDevicePath)));
@@ -131,7 +131,7 @@
                                if (!roomDeviceFilePathList.Contains (oldDevicePath)) {
                                    DelDevice (oldDevice.Id);
                                    Console.WriteLine ("delDevice " + oldDevice.DeviceName);
                                    Utlis.WriteLine ("delDevice " + oldDevice.DeviceName);
                                }
                            }
@@ -141,7 +141,7 @@
                                    var oldScene = alexaSceneList.Find ((obj) => obj.SceneName == tempScene.Name);
                                    if (oldScene == null) {
                                        int sceneDeviceCount = tempScene.DeviceFilePathList.Count;
                                        var uploadScene = new SceneAndDeviceList () { MAC = UserConfig.Instance.GatewayMAC, RegionID = UserConfig.Instance.CurrentRegion.RegionID, SceneName = tempScene.Name };
                                        var uploadScene = new SceneAndDeviceList () { MAC = UserConfig.Instance.GatewayMAC, RegionID = UserConfig.Instance.CurrentRegion.Id, SceneName = tempScene.Name };
                                        byte [] replyBytes = null;
                                        if (!tempScene.busScene) {
@@ -372,7 +372,7 @@
                            });
                        } catch (Exception ex) {
                            Console.WriteLine (ex.Message);
                            Utlis.WriteLine (ex.Message);
                        } finally {
                            Application.RunOnMainThread (() => {
                                MainPage.Loading.Hide ();
@@ -384,7 +384,7 @@
                System.Threading.Tasks.Task.Factory.StartNew (() => {
                    try {
                        Application.RunOnMainThread (() => {
                            MainPage.Loading.Start ("please wait...");
                            MainPage.Loading.Start ("Please wait...");
                        });
                        var tempRoom = new Room ();
                        foreach (var device in alexaDeviceLista) {//特殊处理服务器与本地设备类型不一样的设备
@@ -415,7 +415,7 @@
                            userDeviceListPage.ShowPage (action, saveAction);
                        });
                    } catch (Exception ex) {
                        Console.WriteLine (ex.Message);
                        Utlis.WriteLine (ex.Message);
                    } finally {
                        Application.RunOnMainThread (() => {
                            MainPage.Loading.Hide ();
@@ -432,10 +432,10 @@
        public List<UpdateDeviceObj> ReadDeviceList ()
        {
            var deviceList = new List<UpdateDeviceObj> ();
            var requestObj = new DeviceByRegionListObj () { RegionID = UserConfig.Instance.CurrentRegion.RegionID };
            var requestObj = new GetDeviceListObj () { RegionID = UserConfig.Instance.CurrentRegion.Id };
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
            var revertObj = MainPage.RequestHttps ("DeviceByRegionList", requestJson);
            if (revertObj.StateCode == "SUCCESS") {
            var revertObj = MainPage.RequestHttps (API.GetDeviceList, requestJson);
            if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                deviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UpdateDeviceObj>> (revertObj.ResponseData.ToString());
            }
            return deviceList;
@@ -446,8 +446,8 @@
        /// </summary>
        public bool AddDevice (Common device)
        {
            var uploadDevice = new AlexaDevice () {
                RegionID = UserConfig.Instance.CurrentRegion.RegionID, MAC = UserConfig.Instance.GatewayMAC.Replace (".", ""),
            var uploadDevice = new AlexaDeviceObj () {
                RegionID = UserConfig.Instance.CurrentRegion.Id, MAC = UserConfig.Instance.GatewayMAC.Replace (".", ""),
                DeviceName = device.Name, DeviceID = device.DeviceID, SubnetID = device.SubnetID, LoopID = device.LoopID, DeviceType = device.Type.ToString ()
            };
            if (device.Type.ToString () == "CurtainModel") {
@@ -457,10 +457,10 @@
            } else if (device.Type.ToString () == "ACInfrared") {
                uploadDevice.DeviceType = "HVAC";
            }
            var requestObj = new UploadDevicesObj () { Device = uploadDevice };
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
            var revertObj = MainPage.RequestHttps ("UploadDevices", requestJson);
            if (revertObj.StateCode == "SUCCESS") {
            //var requestObj = new UploadDevicesObj () { Device = uploadDevice };
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (uploadDevice);
            var revertObj = MainPage.RequestHttps (API.UploadDevices, requestJson);
            if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                return true;
            }
            return false;
@@ -469,12 +469,12 @@
        /// <summary>
        /// 删除设备
        /// </summary>
        public bool DelDevice(int commonId)
        public bool DelDevice(string commonId)
        {
            var requestObj = new DelDeviceObj () { Id = commonId };
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
            var revertObj = MainPage.RequestHttps ("DelDevice", requestJson);
            if (revertObj.StateCode == "SUCCESS") {
            var revertObj = MainPage.RequestHttps (API.DeleteDevice, requestJson);
            if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                return true;
            }
            return false;
@@ -488,10 +488,10 @@
        public List<SceneByRegion> ReadSceneList ()
        {
            var sceneList = new List<SceneByRegion> ();
            var requestObj = new SceneByRegionListObj () { RegionID = UserConfig.Instance.CurrentRegion.RegionID };
            var requestObj = new SceneByRegionListObj () { RegionID = UserConfig.Instance.CurrentRegion.Id };
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
            var revertObj = MainPage.RequestHttps ("SceneByRegionList", requestJson);
            if (revertObj.StateCode == "SUCCESS") {
            var revertObj = MainPage.RequestHttps (API.GetSceneList, requestJson);
            if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SceneByRegion>> (revertObj.ResponseData.ToString ());
            }
            return sceneList;
@@ -503,12 +503,12 @@
        public bool AddScene (SceneAndDeviceList sceneMark)
        {
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (sceneMark);
            var revertObj = MainPage.RequestHttps ("AddSceneAndDeviceList", requestJson);
            if (revertObj.StateCode == "SUCCESS") {
            var revertObj = MainPage.RequestHttps (API.AddSceneAndDeviceList, requestJson);
            if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                //var requestAddDeviceObj = new BindDeviceToSceneItemObj () { SceneId = sceneId, Command = command, DeviceID = 0, DataString = dataString };
                //var requestAddDeviceJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestAddDeviceObj);
                //var revertAddDeviceObj = MainPage.RequestHttps ("BindDeviceToSceneItem", requestAddDeviceJson);
                //if (revertAddDeviceObj.StateCode == "SUCCESS") {
                //if (revertAddDeviceObj.StateCode.ToUpper() == "SUCCESS") {
                    return true;
                //}
            }
@@ -523,7 +523,7 @@
        //    var requestAddDeviceObj = new BindDeviceToSceneItemObj () { SceneId = sceneId, Command = command, DeviceID = 0, DataString = dataString };
        //    var requestAddDeviceJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestAddDeviceObj);
        //    var revertAddDeviceObj = MainPage.RequestHttps ("BindDeviceToSceneItem", requestAddDeviceJson);
        //    if (revertAddDeviceObj.StateCode == "SUCCESS") {
        //    if (revertAddDeviceObj.StateCode.ToUpper() == "SUCCESS") {
        //        return true;
        //    }
        //    return false;
@@ -532,12 +532,12 @@
        /// <summary>
        /// 删除场景
        /// </summary>
        public bool DelScene (int sceneId)
        public bool DelScene (string sceneId)
        {
            var requestObj = new DeleteScene () { Id = sceneId };
            var requestObj = new DeleteSceneObj () { Id = sceneId };
            var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj);
            var revertObj = MainPage.RequestHttps ("DeleteScene", requestJson);
            if (revertObj.StateCode == "SUCCESS") {
            var revertObj = MainPage.RequestHttps (API.DeleteScene, requestJson);
            if (revertObj.StateCode.ToUpper() == "SUCCESS") {
                return true;
            }
            return false;