| | |
| | | public void ShowPage (Timer timerTemp, List<Timer> listTimer, bool isEdit = false) |
| | | { |
| | | UserMiddle.SettingPageView.ScrollEnabled = false; |
| | | timerTemp.RegionID = UserConfig.Instance.CurrentRegion.RegionID; |
| | | timerTemp.RegionID = UserConfig.Instance.CurrentRegion.Id; |
| | | #region topview |
| | | var topView = new RowLayout () { |
| | | Y = Application.GetRealHeight (36), |
| | |
| | | timerTemp.RoomName = roomNameList [0]; |
| | | } |
| | | btnRoomChoose.Text = timerTemp.RoomName; |
| | | |
| | | |
| | | #endregion |
| | | |
| | | #region Devices |
| | | timerControlDeviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<DeviceInfo>> (timerTemp.ControlDeviceData);//devicesControlDataList |
| | | try { |
| | | timerControlDeviceList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<DeviceInfo>> (timerTemp.ControlDeviceData);//devicesControlDataList |
| | | } catch { |
| | | timerControlDeviceList = null; |
| | | } |
| | | |
| | | if (timerControlDeviceList == null) |
| | | timerControlDeviceList = new List<DeviceInfo> (); |
| | | |
| | |
| | | //new Alert ("", "请填写定时器名称!", "Close").Show (); |
| | | new Alert ("", "Please set name for the timer!", "Close").Show (); |
| | | return; |
| | | } else if (listTimer.Find ((obj) => obj.TimerName == timerTemp.TimerName) != null && !isEdit) { |
| | | } else if (listTimer.Find ((obj) => obj.TimerName == timerTemp.TimerName) != null && !isEdit) {//2020-01-09 编辑的时候也提示重复名字 |
| | | //if (isEdit) { |
| | | |
| | | //} |
| | | new Alert ("", "The timer name already exists. Please change it before saving it.", "Close").Show (); |
| | | return; |
| | | } |
| | |
| | | timerTemp.Periodicity = timerTemp.Periodicity.Remove (timerTemp.Periodicity.Length - 1, 1); |
| | | } |
| | | timerTemp.IsStart = true; |
| | | if (string.IsNullOrEmpty (timerTemp.Guid)) { |
| | | timerTemp.Guid = Guid.NewGuid ().ToString (); |
| | | if (string.IsNullOrEmpty (timerTemp.Id)) { |
| | | timerTemp.Id = Guid.NewGuid ().ToString (); |
| | | } |
| | | timerTemp.ControlDeviceData = Newtonsoft.Json.JsonConvert.SerializeObject (timerControlDeviceList); |
| | | MainPage.Loading.Start ("Saving..."); |
| | |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (timerTemp); |
| | | ResponsePack revertObj = null; |
| | | if (isEdit) { |
| | | revertObj = MainPage.RequestHttps ("EditTimer", requestJson); |
| | | } else { |
| | | revertObj = MainPage.RequestHttps ("AddTimer", requestJson); |
| | | revertObj = MainPage.RequestHttps (API.EditTimer, requestJson); |
| | | } else { |
| | | revertObj = MainPage.RequestHttps (API.AddTimer, requestJson); |
| | | } |
| | | |
| | | Application.RunOnMainThread (() => { |
| | | if (revertObj == null) { |
| | | new Alert ("", "Unable to save data, please check the network.", "Close").Show (); |
| | | } else if (revertObj.StateCode == "SUCCESS") { |
| | | } else if (revertObj.StateCode.ToUpper() == "SUCCESS") { |
| | | this.RemoveFromParent (); |
| | | action (timerTemp); |
| | | } else { |
| | | ShowErrorInfo (revertObj.StateCode); |
| | | } |
| | | }); |
| | | } catch (Exception ex) { |
| | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | //(1)Success 则调用此接口成功 |
| | | //(2)NoRecord 住宅未绑定网关! |
| | | //(3)NoExist 住宅不存在! |
| | | //(4)Exist 生成的Guid已存在! |
| | | /// </summary> |
| | | void ShowErrorInfo (string stateCodeStr) |
| | | { |
| | | string mes = ""; |
| | | if (stateCodeStr == "NoRecord") { |
| | | // 住宅未绑定网关! |
| | | mes = ErrorCode.HomeNoRecord; |
| | | } else if (stateCodeStr == "NoExist") { |
| | | //住宅不存在! |
| | | mes = ErrorCode.HomeNoExist; |
| | | } else if (stateCodeStr == "Exist") { |
| | | //生成的Guid已存在! |
| | | mes = ErrorCode.GuidExist; |
| | | } else if (stateCodeStr == ErrorCode.NetworkError) { |
| | | mes = ErrorCode.NetworkError; |
| | | } else { |
| | | mes = ErrorCode.OperationFailed + ErrorCode.Reason + stateCodeStr; |
| | | |
| | | } |
| | | if (!string.IsNullOrEmpty (mes)) { |
| | | //Application.RunOnMainThread (() => { |
| | | new Alert ("", mes, Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | //}); |
| | | } |
| | | |
| | | } |
| | | |
| | | private static void InitDeviceListView (List<Common> roomDeviceList, List<DeviceInfo> timerControlDeviceList, FrameLayout devicesListView) |
| | | { |
| | | devicesListView.RemoveAll (); |