HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2019-11-04 c7698e163e43cea9e7f8ee45f8e3f91c9265cca4
ZigbeeApp/Shared/Phone/UserCenter/Safety/GarrisonAreaDelayedSettionForm.cs
File was renamed from ZigbeeApp/Shared/Phone/UserCenter/Safety/DelayedSettionMainForm.cs
@@ -8,7 +8,7 @@
    /// <summary>
    /// 延时设置的主界面★
    /// </summary>
    public class DelayedSettionMainForm : EditorCommonForm
    public class GarrisonAreaDelayedSettionForm : EditorCommonForm
    {
        #region ■ 变量声明___________________________
@@ -56,7 +56,7 @@
            bodyFrameLayout.AddChidren(frameBack);
            //该功能只对出入防区有效
            var btnTitle = new NormalViewControl(864, 49, true);
            var btnTitle = new NormalViewControl(864, 50, true);
            btnTitle.X = ControlCommonResourse.XXLeft;
            btnTitle.Y = Application.GetRealHeight(38);
            btnTitle.TextSize = 12;
@@ -134,13 +134,8 @@
            row.ButtonClickEvent += (sender, e) =>
            {
                List<string> listTime = this.GetTimeList();
                PickerView.Show(listTime, (value) =>
                {
                    //保存时间
                    int inTime = Convert.ToInt32(listTime[value].Replace(second, string.Empty).Trim());
                    this.SaveTime(inTime, this.timeResponseData.GoOutDelayTime);
                });
                //显示延时时间
                this.ShowDelayListTime(1);
            };
        }
@@ -168,13 +163,8 @@
            row.ButtonClickEvent += (sender, e) =>
            {
                List<string> listTime = this.GetTimeList();
                PickerView.Show(listTime, (value) =>
                 {
                     //保存时间
                     int outTime = Convert.ToInt32(listTime[value].Replace(second, string.Empty).Trim());
                     this.SaveTime(this.timeResponseData.EntranceDelayTime, outTime);
                 });
                //显示延时时间
                this.ShowDelayListTime(2);
            };
        }
@@ -217,27 +207,82 @@
        #endregion
        #region ■ 一般方法___________________________
        #region ■ 显示延时时间_______________________
        /// <summary>
        /// 获取时间列表
        /// 显示延时时间列表
        /// </summary>
        /// <returns></returns>
        private List<string> GetTimeList()
        /// <param name="div">1:进入延迟 2:外出延迟</param>
        private void ShowDelayListTime(int div)
        {
            List<string> list = new List<string>();
            string second = Language.StringByID(R.MyInternationalizationString.Second);
            list.Add("3 " + second);
            for (int i = 5; i <= 120; i = i + 5)
            //分
            string strMinute = Language.StringByID(R.MyInternationalizationString.uMinute);
            //秒
            string strSecond = Language.StringByID(R.MyInternationalizationString.uSecond);
            var listfirst = new List<string>();
            var listSecond = new List<List<string>>();
            for (int i = 0; i <= 29; i++)
            {
                list.Add(i + " " + second);
                listfirst.Add(i.ToString().PadLeft(2, '0') + strMinute);
                var listTemp = new List<string>();
                for (int j = 0; j <= 59; j++)
                {
                    if (i == 0 && j == 0)
                    {
                        continue;
                    }
                    listTemp.Add(j.ToString().PadLeft(2, '0') + strSecond);
                }
                listSecond.Add(listTemp);
            }
            list.Add("180 " + second);
            list.Add("240 " + second);
            list.Add("300 " + second);
            //加一个30分钟吧
            listfirst.Add("30" + strMinute);
            var listTemp2 = new List<string>() { "00" + strSecond };
            listSecond.Add(listTemp2);
            return list;
            //进入延迟
            int delayTime = this.timeResponseData.EntranceDelayTime;
            string title = Language.StringByID(R.MyInternationalizationString.uInDelayed);
            if (div == 2)
            {
                //外出延迟
                delayTime = this.timeResponseData.GoOutDelayTime;
                title = Language.StringByID(R.MyInternationalizationString.uOutDelayed);
            }
            string value = (delayTime / 60).ToString().PadLeft(2, '0') + strMinute;
            int index1 = listfirst.IndexOf(value);
            if (index1 == -1)
            {
                index1 = 0;
            }
            value = (delayTime % 60).ToString().PadLeft(2, '0') + strSecond;
            int index2 = listSecond[index1].IndexOf(value);
            if (index2 == -1)
            {
                index2 = 0;
            }
            PickerView.ShowSecondary(listfirst, listSecond, (value1, value2) =>
            {
                int minute = Convert.ToInt32(listfirst[value1].Substring(0, 2));
                int second = Convert.ToInt32(listSecond[value1][value2].Substring(0, 2));
                int delaySecond = minute * 60 + second;
                //保存时间
                if (div == 1)
                {
                    //进入延迟
                    this.SaveTime(delaySecond, this.timeResponseData.GoOutDelayTime);
                }
                else
                {
                    //外出延迟
                    this.SaveTime(this.timeResponseData.EntranceDelayTime, delaySecond);
                }
            },
             index1, index2, title,
             Language.StringByID(R.MyInternationalizationString.uFinish),
             Language.StringByID(R.MyInternationalizationString.uCancel));
        }
        #endregion