CrabtreeOn,印度客户定制APP,迁移2.0平台版本
1
wxr
2023-03-31 d53e6af2c5f17838fa79659614b15a2a1f383399
Crabtree/SmartHome/UI/SimpleControl/Phone/Schedule/AddSchedule.cs
@@ -177,65 +177,69 @@
            timeView.AddChidren (btnTimelbl);
            btnTimelbl.MouseUpEventHandler += (timeSender, eee) => {
                var dialog = new Dialog ();
                var chooseTimeBodyView = new FrameLayout () {
                };
                dialog.AddChidren (chooseTimeBodyView);
                var chooseTime = new TimeView () {
                    Y = Application.GetRealHeight (1136 - 420 - 90),
                    Height = Application.GetRealHeight (420),
                    BackgroundColor = 0xFFD7D7D7,
                    //BackgroundColor = SkinStyle.Current.ViewColor,
                };
                chooseTimeBodyView.AddChidren (chooseTime);
                ShowTimePickerView (btnTimelbl);
                return;
                var bottomView = new FrameLayout () {
                    Y = chooseTime.Bottom,
                    Height = Application.GetRealHeight (90) + 1,
                    BackgroundColor = 0xFFD7D7D7,
                };
                chooseTimeBodyView.AddChidren (bottomView);
                //var dialog = new Dialog ();
                //var chooseTimeBodyView = new FrameLayout () {
                //};
                //dialog.AddChidren (chooseTimeBodyView);
                var btnCloseTime = new Button () {
                    Y = 1,
                    Width = Application.GetRealWidth (320),
                    BackgroundColor = SkinStyle.Current.ViewColor,
                    TextID = R.MyInternationalizationString.Close,
                    TextAlignment = TextAlignment.Center,
                    TextColor = SkinStyle.Current.TextColor1,
                };
                bottomView.AddChidren (btnCloseTime);
                btnCloseTime.MouseUpEventHandler += (ddf, dddf) => {
                    chooseTimeBodyView.RemoveAll ();
                    chooseTimeBodyView.RemoveFromParent ();
                    dialog.Close ();
                };
                //var chooseTime = new TimeView () {
                //    Y = Application.GetRealHeight (1136 - 420 - 90),
                //    Height = Application.GetRealHeight (420),
                //    BackgroundColor = 0xFFD7D7D7,
                //    //BackgroundColor = SkinStyle.Current.ViewColor,
                //};
                //chooseTimeBodyView.AddChidren (chooseTime);
                var btnSaveTime = new Button () {
                    X = btnCloseTime.Right + 1,
                    Y = 1,
                    Width = Application.GetRealWidth (320),
                    TextID = R.MyInternationalizationString.SAVE,
                    BackgroundColor = SkinStyle.Current.ViewColor,
                    TextAlignment = TextAlignment.Center,
                    TextColor = SkinStyle.Current.TextColor1,
                };
                bottomView.AddChidren (btnSaveTime);
                btnSaveTime.MouseUpEventHandler += (sender3, e3) => {
                    // var chooseHour = chooseTime.Hour - timerTemp.TimeZone;
                    var chooseTimeString = chooseTime.Hour.ToString ().PadLeft (2, '0') + ":" + chooseTime.Minute.ToString ().PadLeft (2, '0');
                    //if (chooseTime.Hour > 12) {
                    //    chooseTimeString = (chooseTime.Hour -12) + ":" + chooseTime.Minute + " PM";
                    //} else {
                    //    chooseTimeString = chooseTime.Hour + ":" + chooseTime.Minute + " AM";
                    //}
                    btnTimelbl.Text = chooseTimeString;
                    dialog.Close ();
                };
                //var bottomView = new FrameLayout () {
                //    Y = chooseTime.Bottom,
                //    Height = Application.GetRealHeight (90) + 1,
                //    BackgroundColor = 0xFFD7D7D7,
                //};
                //chooseTimeBodyView.AddChidren (bottomView);
                //var btnCloseTime = new Button () {
                //    Y = 1,
                //    Width = Application.GetRealWidth (320),
                //    BackgroundColor = SkinStyle.Current.ViewColor,
                //    TextID = R.MyInternationalizationString.Close,
                //    TextAlignment = TextAlignment.Center,
                //    TextColor = SkinStyle.Current.TextColor1,
                //};
                //bottomView.AddChidren (btnCloseTime);
                //btnCloseTime.MouseUpEventHandler += (ddf, dddf) => {
                //    chooseTimeBodyView.RemoveAll ();
                //    chooseTimeBodyView.RemoveFromParent ();
                //    dialog.Close ();
                //};
                //var btnSaveTime = new Button () {
                //    X = btnCloseTime.Right + 1,
                //    Y = 1,
                //    Width = Application.GetRealWidth (320),
                //    TextID = R.MyInternationalizationString.SAVE,
                //    BackgroundColor = SkinStyle.Current.ViewColor,
                //    TextAlignment = TextAlignment.Center,
                //    TextColor = SkinStyle.Current.TextColor1,
                //};
                //bottomView.AddChidren (btnSaveTime);
                //btnSaveTime.MouseUpEventHandler += (sender3, e3) => {
                //    // var chooseHour = chooseTime.Hour - timerTemp.TimeZone;
                //    var chooseTimeString = chooseTime.Hour.ToString ().PadLeft (2, '0') + ":" + chooseTime.Minute.ToString ().PadLeft (2, '0');
                //    //if (chooseTime.Hour > 12) {
                //    //    chooseTimeString = (chooseTime.Hour -12) + ":" + chooseTime.Minute + " PM";
                //    //} else {
                //    //    chooseTimeString = chooseTime.Hour + ":" + chooseTime.Minute + " AM";
                //    //}
                //    btnTimelbl.Text = chooseTimeString;
                //    dialog.Close ();
                //};
                dialog.Show ();
                //dialog.Show ();
            };
            #endregion
@@ -447,7 +451,7 @@
                Height = Application.GetRealHeight (60),
                TextAlignment = TextAlignment.CenterLeft,
                TextColor = SkinStyle.Current.TextColor1,
                Text = "ALL",
                Text = timerTemp.RoomName,
            };
            roomContenView.AddChidren (btnRoomChoose);
@@ -481,7 +485,7 @@
            MainPage.Loading.Start ("Please wait...");
            SmartHome.Method mMthod = new SmartHome.Method ();
            var devList = mMthod.GetRoomDeviceList ("ALL");
            var devList = mMthod.GetRoomDeviceList (timerTemp.RoomName);
            InitDeviceListView (devList);
            #region -----Room 点击事件
            btnRoomChoose.MouseUpEventHandler += (sender, e) => {
@@ -536,6 +540,8 @@
                    roomListView.AddChidren (btnLine);
                    btnRoomNameChoose.MouseUpEventHandler += (sd, ds) => {
                        //切换房间清空之前选择数据;
                        selectedDeviceList.Clear ();
                        btnRoomChoose.Text = (sd as Button).Text;
                        //获取设备列表
                        var deviceList = mMthod.GetRoomDeviceList (btnRoomChoose.Text);
@@ -621,6 +627,8 @@
                        return;
                    }
                }
                // 2021-03-30 先清空,再重新统计
                timerTemp.whichDay = new List<int>();
                if (btnMonday.IsSelected == true && btnFriday.IsSelected == true && btnThursday.IsSelected == true && btnSunday.IsSelected == true && btnTuesday.IsSelected == true && btnSaturday.IsSelected == true && btnWednesday.IsSelected == true) {
                    timerTemp.timerType = TimerType.EveryDay;
@@ -702,20 +710,18 @@
                                string id = "";
                                if (!isEdit) {
                                    var jObject = JObject.Parse (revertObj.Data.ToString ());
                                     id = jObject ["id"].ToString ();
                                    id = jObject ["id"].ToString ();
                                    timerTemp.id = id;
                                }
                                this.RemoveFromParent ();
                                action (timerTemp);
                            } else if (revertObj.Code == "10107") {
                                new Alert ("", "Timer name already exists.", "Close").Show ();
                            } else {
                                //提示错误
                                SmartHome.Method method = new SmartHome.Method ();
                                if (revertObj.Data != null) {
                                    method.ShowGetTimerListErrorInfo (revertObj.Data.ToString ());
                                }
                                IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code);
                            }
                        });
                    } catch (Exception ex) {
@@ -729,6 +735,122 @@
            };
        }
        /// <summary>
        /// 自定义TimePickerView
        /// 2021-03-24
        /// </summary>
        void ShowTimePickerView (Button btnTimelbl)
        {
            var chooseTimeString = "00:00";
            var dialog = new Dialog ();
            var chooseTimeBodyView = new FrameLayout () {
            };
            dialog.AddChidren (chooseTimeBodyView);
            var timeView = new FrameLayout () {
                Y = Application.GetRealHeight (1136 - 420 - 90),
                Height = Application.GetRealHeight (420),
                BackgroundColor = SkinStyle.Current.ViewColor,
            };
            chooseTimeBodyView.AddChidren (timeView);
            var chooseTime = new UIPickerView () {
                Height = Application.GetRealHeight (400),
                BackgroundColor = SkinStyle.Current.Transparent,
                Gravity = Gravity.CenterVertical
            };
            timeView.AddChidren (chooseTime);
            var bottomView = new FrameLayout () {
                Y = timeView.Bottom,
                Height = Application.GetRealHeight (90) + 1,
                BackgroundColor = 0xFFD7D7D7,
            };
            chooseTimeBodyView.AddChidren (bottomView);
            var btnCloseTime = new Button () {
                Y = 1,
                Width = Application.GetRealWidth (320),
                BackgroundColor = SkinStyle.Current.ViewColor,
                TextID = R.MyInternationalizationString.Close,
                TextAlignment = TextAlignment.Center,
                TextColor = SkinStyle.Current.TextColor1,
            };
            bottomView.AddChidren (btnCloseTime);
            btnCloseTime.MouseUpEventHandler += (ddf, dddf) => {
                chooseTimeBodyView.RemoveAll ();
                chooseTimeBodyView.RemoveFromParent ();
                dialog.Close ();
            };
            var btnSaveTime = new Button () {
                X = btnCloseTime.Right + 1,
                Y = 1,
                Width = Application.GetRealWidth (320),
                TextID = R.MyInternationalizationString.SAVE,
                BackgroundColor = SkinStyle.Current.ViewColor,
                TextAlignment = TextAlignment.Center,
                TextColor = SkinStyle.Current.TextColor1,
            };
            bottomView.AddChidren (btnSaveTime);
            btnSaveTime.MouseUpEventHandler += (sender3, e3) => {
                btnTimelbl.Text = chooseTimeString;
                dialog.Close ();
            };
            var nowDateTime = DateTime.Now;
            var hour = nowDateTime.Hour;
            //hourStr
            var hourStr = hour.ToString();
            if (hour < 10) {
                hourStr = "0" + hour;
            }
            var minute = nowDateTime.Minute;
            //minuteStr
            var minuteStr = minute.ToString ();
            if (minute < 10) {
                minuteStr = "0" + minute;
            }
            var hourList = new List<string> ();
            for (int i = 0; i < 24; i++) {
                if (i < 10) {
                    var a = "0" + i.ToString ();
                    hourList.Add (a);
                } else {
                    hourList.Add (i.ToString ());
                }
            }
            var minuteList = new List<string> ();
            for (int i = 0; i < 60; i++) {
                if (i < 10) {
                    var a = "0" + i.ToString ();
                    minuteList.Add (a);
                } else {
                    minuteList.Add (i.ToString ());
                }
            }
            chooseTime.setNPicker (hourList, minuteList, null);
            chooseTime.setCurrentItems (hour, minute, 0);
            chooseTimeString = hourStr + ":" + minuteStr;
            //string selectde = "";
            chooseTime.OnSelectChangeEvent += (s1, s2, s3) => {
                var hourV = hourList [s1];
                var minuteV = minuteList [s2];
                chooseTimeString = hourV + ":" + minuteV;
            };
            dialog.Show ();
        }
        /// <summary>
        /// 加载房间设备列表界面
        /// </summary>
@@ -1005,6 +1127,7 @@
                                            TextColor = SkinStyle.Current.TextColor1,
                                            SelectedTextColor = SkinStyle.Current.TextColor1,
                                            Text = "OFF",
                                            //Text = "",
                                            TextAlignment = TextAlignment.CenterLeft,
                                        };
                                        deviceRowView.AddChidren (btnFanLevel);
@@ -1040,12 +1163,23 @@
                                        };
                                        deviceRowView.AddChidren (fanLevel);
                                        //刚开始默认显示1档
                                        value = "2";
                                        SetFanButtonState (btnFanLevel, value);
                                        fanLevel.ProgressChanged += (sender, e) => {
                                            if (!btnChoose.IsSelected) {
                                                btnChoose.IsSelected = true;
                                            }
                                            value = e.ToString ();
                                            //if (value == "0") {
                                            //    btnFanLevel.Text = "OFF";
                                            //} else {
                                            //    btnFanLevel.Text = value;
                                            //}
                                            SetFanButtonState (btnFanLevel, value);
                                            DeviceDateFun (btnChoose.Tag as Function, value, btnChoose.IsSelected);
                                        };
@@ -1063,15 +1197,14 @@
                                                    for (int a = 0; a < dev.attributes.Count; a++) {
                                                        var fundev = dev.attributes [a];
                                                        if (fundev.key == "fan_speed_percent") {
                                                           // if (fundev.value == "0") {
                                                              //  btnLevel.Text = "OFF";
                                                          //  } else {
                                                                fanLevel.Progress = int.Parse (fundev.value);
                                                           // }
                                                            fanLevel.Progress = int.Parse (fundev.value);
                                                            //if (fundev.value == "0") {
                                                            //    btnFanLevel.Text = "OFF";
                                                            //} else {
                                                            //    btnFanLevel.Text = fundev.value;
                                                            //}
                                                            SetFanButtonState (btnFanLevel, fundev.value);
                                                        }
                                                    }
                                                }
                                            } catch { }
@@ -1100,6 +1233,23 @@
                }
            });
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="btnFanLevel"></param>
        /// <param name="value"></param>
        void SetFanButtonState (Button btnFanLevel, string value)
        {
            if (btnFanLevel == null) return;
            if (value == "0") {
                btnFanLevel.Text = "OFF";
            } else {
                btnFanLevel.Text = value;
            }
        }
        /// <summary>
        /// 设备数据转换
        /// </summary>