lss
2020-06-12 9c16d3614d9b88c637f967518a329f239fcd3aaf
ZigbeeApp/Shared/Phone/UserCenter/Device/DoorLock/DoorLockHistoryLogForm.cs
@@ -49,10 +49,6 @@
        /// 其他消息的主键,它存在另外的一张数据库表中
        /// </summary>
        private List<string> listOtherMsgId = new List<string>();
        /// <summary>
        /// 无法识别的开锁记录的用户ID(因为那个密码有可能没有分配给成员)
        /// </summary>
        private List<string> listOtherUserId = new List<string>();
        #endregion
@@ -69,33 +65,37 @@
            //设置头部信息
            base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uHistoryLog));
            //删除
            var btnDelete = new MostRightIconControl(69, 69);
            btnDelete.UnSelectedImagePath = "Item/DeleteIcon2Selected.png";
            topFrameLayout.AddChidren(btnDelete);
            btnDelete.InitControl();
            btnDelete.ButtonClickEvent += (sender, e) =>
            //成员不允许清空记录
            if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
            {
                var form = new TopRightMenuControl(1, 2);
                //清空记录
                form.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uClearLog), "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () =>
                //删除
                var btnDelete = new MostRightIconControl(69, 69);
                btnDelete.UnSelectedImagePath = "Item/DeleteIcon2Selected.png";
                topFrameLayout.AddChidren(btnDelete);
                btnDelete.InitControl();
                btnDelete.ButtonClickEvent += (sender, e) =>
                {
                    if (this.listView.frameTable.ChildrenCount == 0)
                    var form = new TopRightMenuControl(1, 2);
                    //清空记录
                    form.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uClearLog), "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () =>
                    {
                        //无数据可删
                        return;
                    }
                    //确认清空当前记录?
                    this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uConfirmClearNowLog), () =>
                    {
                        HdlThreadLogic.Current.RunThread(() =>
                        if (this.listView.frameTable.ChildrenCount == 0)
                        {
                            //清空所有记录
                            this.ClearAllHistoryLog();
                            //无数据可删
                            return;
                        }
                        //确认清空当前记录?
                        this.ShowMassage(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.uConfirmClearNowLog), () =>
                        {
                            HdlThreadLogic.Current.RunThread(() =>
                            {
                                //清空所有记录
                                this.ClearAllHistoryLog();
                            });
                        });
                    });
                });
            };
                };
            }
            //初始化中部信息
            this.InitMiddleFrame();
@@ -332,7 +332,7 @@
        {
            var frameTable = new FrameRowControl(listView.rowSpace / 2);
            frameTable.UseClickStatu = false;
            this.listView.AddChidrenFrame2(frameTable);
            this.listView.AddChidren2(frameTable);
            //图标
            var btnIcon = frameTable.AddLeftIcon();
            //信息
@@ -493,7 +493,6 @@
            //历史记录太麻烦了,存在不同的数据库表里,并且数据还不一样,只能这样一个个判断了
            var listScreeningData = new List<HistoryInfo>();
            //清除掉之前的记录
            this.listOtherUserId = new List<string>();
            this.listOtherMsgId = new List<string>();
            //是否选择全选用户
@@ -574,12 +573,6 @@
                    this.listOtherMsgId.Add(info.MsgKeyId);
                }
            }
            if (info.CloudAccountId != string.Empty && dicMemberName.ContainsKey(info.CloudAccountId) == false
                && this.listOtherUserId.Contains(info.CloudAccountId) == false)
            {
                //无法识别的开锁记录的用户ID(因为那个密码有可能没有分配给成员)
                this.listOtherUserId.Add(info.CloudAccountId);
            }
            return true;
        }
@@ -659,6 +652,10 @@
                    if (data.OpenLockMode == 9000 && data.OtherOpenLockMode <= 9000)
                    {
                        continue;
                    }
                    if (data.CloudAccountId == null)
                    {
                        data.CloudAccountId = string.Empty;
                    }
                    listLog.Add(data);
                }
@@ -873,7 +870,7 @@
        /// </summary>
        private async void ClearAllHistoryLog()
        {
            //获取访问云端接口的启动参数
            //获取访问云端接口的启动参数(2020.05.08:全部清空)
            var pra = this.GetDeleteDataPra();
            //打开进度条
@@ -908,7 +905,6 @@
            //清空
            this.listOtherMsgId = new List<string>();
            this.listOtherUserId = new List<string>();
            this.listHistoryInfo = null;
            HdlThreadLogic.Current.RunMain(() =>
@@ -950,34 +946,11 @@
            DateTime dateFrom = new DateTime(dateFromControl.Year, dateFromControl.Month, dateFromControl.Day, 0, 0, 0);
            DateTime dateTo = new DateTime(dateToControl.Year, dateToControl.Month, dateToControl.Day, 23, 59, 59);
            List<string> listUser = null;
            //指定用户
            if (listSearchUserId.Contains("-1") == false)
            {
                listUser = new List<string>();
                listUser.AddRange(listSearchUserId);
                //如果指定有其他
                if (listSearchUserId.Contains("-9999") == true)
                {
                    listUser.AddRange(this.listOtherUserId);
                }
            }
            //全选则为null
            List<int> listLock = null;
            if (listSearchLockId.Contains(-1) == false)
            {
                listLock = new List<int>();
                listLock.AddRange(listSearchLockId);
            }
            var pra = new DeleteHistoryDataPra();
            pra.UnlockTimeBegin = dateFrom.ToUniversalTime().ToString();
            pra.UnlockTimeEnd = dateTo.ToUniversalTime().ToString();
            pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken();
            pra.DoorLockId = this.DeviceDoor.DeviceAddr + "_" + this.DeviceDoor.DeviceEpoint;
            pra.CloudAccountIds = listUser;
            pra.OpenLockModes = listLock;
            return pra;
        }