陈嘉乐
2020-05-18 e96e11d6f8b965ea522c983e040d41e3b9ef105a
ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs
@@ -31,7 +31,10 @@
        /// 记录选中时间
        /// </summary>
        public int timeValue = 0;
        /// <summary>
        /// 标记显示执行日期(用网关的,还是用系统的时间)
        /// </summary>
        public bool _if = false;
        /// <summary>
        /// 时间戳
        /// </summary>
@@ -94,7 +97,6 @@
                BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor,
            };
            middle.AddChidren(fLayout);
            ModeView();
            #endregion
            #region 常开自动化
            ///第三块第一级父控件
@@ -108,7 +110,7 @@
            };
            middle.AddChidren(listLogicFl);
            listLogicFl.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft);
            ModeView();
            ///添加常开自动化的父控件
            var addLogicfL = new FrameLayout
            {
@@ -282,6 +284,7 @@
                                Send.DelLogic(logicId);
                            }
                            Send.CurrentDoorLock.IsDoorLockNormallyMode = false;
                            _if = false;
                            ModeView();
                        }
                        else
@@ -304,8 +307,8 @@
                var timeTextBtn = new Button
                {
                    Y = Application.GetRealHeight(127 + 69),
                    X = Application.GetRealWidth(125),
                    Width = Application.GetRealWidth(634 + 200),
                    X = Application.GetRealWidth(86),//125
                    Width = Application.GetRealWidth(907),//634 + 200
                    Height = Application.GetRealHeight(60),
                    TextSize = 15,
                    TextColor = ZigbeeColor.Current.LogicTextBlackColor,
@@ -313,24 +316,50 @@
                if (logicId != 0)
                {
                    openModeFl.AddChidren(timeTextBtn);
                    var datetime = GetLocalTime(timeLong);
                    ///有时效性常开才显示时间条件文本
                    var y = datetime.Year.ToString();//那一年
                    var m = datetime.Month.ToString();//那一月
                    var d = datetime.ToString("dd");//那一天
                    var h = int.Parse(datetime.ToString("HH"));//小时
                                                               // int dayInt = (h + timeValue) / 24;//算出几天后执行
                                                               // int hour = (h + timeValue) % 24;//算出几天后那个时间执行
                                                               // int days = int.Parse(d) + dayInt;
                    int minute = datetime.Minute;//分钟
                    string text1 = Language.StringByID(MyInternationalizationString.timeSensitive);
                    string text2 = Language.StringByID(MyInternationalizationString.yearSone);
                    string text3 = Language.StringByID(MyInternationalizationString.monthSone);
                    string text4 = Language.StringByID(MyInternationalizationString.numberSone);
                    string text5 = Language.StringByID(MyInternationalizationString.hour1);
                    string text6 = Language.StringByID(MyInternationalizationString.executeSone);
                    // timeTextBtn.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5 + minute.ToString() + text6;
                    timeTextBtn.Text = text1 + m + text3 + d + text4 + h + text5 + minute.ToString() + text6;
                    if (_if)
                    {
                        ///第一次进来读取网关时间;
                        var datetime = GetLocalTime(timeLong);
                        ///有时效性常开才显示时间条件文本
                        var y = datetime.Year.ToString();//那一年
                        var m = datetime.Month.ToString();//那一月
                        var d = datetime.ToString("dd");//那一天
                        var h = int.Parse(datetime.ToString("HH"));//小时
                                                                   // int dayInt = (h + timeValue) / 24;//算出几天后执行
                                                                   // int hour = (h + timeValue) % 24;//算出几天后那个时间执行
                                                                   // int days = int.Parse(d) + dayInt;
                        int minute = datetime.Minute;//分钟
                        string text1 = Language.StringByID(MyInternationalizationString.timeSensitive);
                        string text2 = Language.StringByID(MyInternationalizationString.yearSone);
                        string text3 = Language.StringByID(MyInternationalizationString.monthSone);
                        string text4 = Language.StringByID(MyInternationalizationString.numberSone);
                        string text5 = Language.StringByID(MyInternationalizationString.hour1);
                        string text6 = Language.StringByID(MyInternationalizationString.executeSone);
                        timeTextBtn.Text = text1 + y + text2 + m + text3 + d + text4 + h + text5 + minute.ToString() + text6;
                    }
                    else
                    {
                        ///有时效性常开才显示时间条件文本                         var y = DateTime.Now.Year.ToString();//那一年
                        var m = DateTime.Now.Month.ToString();//那一月
                        var d = DateTime.Now.ToString("dd");//那一天
                        var h = int.Parse(DateTime.Now.ToString("HH"));//小时
                        int dayInt = (h + timeValue) / 24;//算出几天后执行
                        int hour = (h + timeValue) % 24;//算出几天后那个时间执行
                        int days = int.Parse(d) + dayInt;
                        int minute = DateTime.Now.Minute;//分钟
                        string text1 = Language.StringByID(MyInternationalizationString.timeSensitive);
                        string text2 = Language.StringByID(MyInternationalizationString.yearSone);
                        string text3 = Language.StringByID(MyInternationalizationString.monthSone);
                        string text4 = Language.StringByID(MyInternationalizationString.numberSone);
                        string text5 = Language.StringByID(MyInternationalizationString.hour1);
                        string text6 = Language.StringByID(MyInternationalizationString.executeSone);
                        timeTextBtn.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5 + minute.ToString() + text6;
                    }
                }
@@ -419,6 +448,7 @@
                                          logicId = addResult;
                                          timeValue = int.Parse(str);
                                          Send.CurrentDoorLock.IsDoorLockNormallyMode = true;
                                          _if = false;
                                          ModeView();
                                          ///添加APP开启常开模式的历史记录
                                          UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock, 9001, string.Empty);
@@ -450,6 +480,11 @@
            listLogicFl.Height = Application.GetRealHeight(Method.H - 184) - fLayout.Height;
            listLogicFl.Width = Application.GetRealWidth(1022);
            listLogicFl.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor;
           // verticalRefresh.Y = Application.GetRealHeight(187);
           // verticalRefresh.X = Application.GetRealWidth(46);
            verticalRefresh.Height = listLogicFl.Height - Application.GetRealHeight(187);//动态改动上下滑动view高度;
            //verticalRefresh.Width = listLogicFl.Width - Application.GetRealWidth(46);
        }
        /// <summary>
        /// 读取自动化列表数据;