コード例 #1
0
        public void UpdateTreeView()
        {
            var selectedFolder = FindTreeView(allHierarchyFolderList, ServiceLocator.Get <IFolderService>().SelectedFolderId);

            SecureItemList.All(x => x.ShowLastModifiedDate = _sortBySelectedIndex == 4);


            if (_sortBySelectedIndex != 6)
            {
                if (selectedFolder != null)
                {
                    HierarchyFolderList = new ObservableCollection <FolderView>()
                    {
                        selectedFolder
                    }
                }
                ;
                else
                {
                    HierarchyFolderList = new ObservableCollection <FolderView>(allHierarchyFolderList);
                }

                SortTreeItemsCollection(HierarchyFolderList);
                HierarchyFolderList = new ObservableCollection <FolderView>(HierarchyFolderList.OrderBy(x => x, new CompareCommonViews()));
            }
            else
            {
                RebuildByTypeTreeView(selectedFolder == null ? SecureItemList : selectedFolder.GetAllSecureItems());
                HierarchyFolderList = new ObservableCollection <FolderView>(allHierarchyTypeList);
            }
        }
コード例 #2
0
        private void RefreshList(object sender, RoutedEventArgs e)
        {
            if (pbData.Locked)
            {
                return;
            }
            ShowLandingScreen = pbData.GetSecureItemCountByType(SecureItemType) == 0 ? true : false;

            Stopwatch watch = new Stopwatch();

            watch.Start();

            if (forceReloadFromDatabase || SecureItemList == null || SecureItemList.Count == 0 ||
                lastSortIndex != SortBySelectedIndex || _recommendedsiteFlag || pbData.IsSecureItemOrSiteChanged(lastCheckDate) ||
                lastAccount != pbData.ActiveUser)    //TODO: We should check are there any changes in DB and if there are only then reload
            {
                List <SecureItemViewModel> items = GetViewItems(_recommendedsiteFlag);
                SecureItemList.Clear();
                items.ForEach(x =>
                {
                    x.FavoritesIcon_Clicked += FavoriteImage_Clicked;
                    x.OpenInBrowser_Clicked += OpenBrowser_Clicked;
                    x.SharingIcon_Clicked   += ShareImage_Clicked;
                    x.DeletingIcon_Clicked  += DeleteImage_Clicked;
                    x.Edit_Clicked          += Edit_Clicked;
                    x.AddNewFolder_Clicked  += AddNewFolder_Clicked;
                });

                SecureItemList = new List <ISecureItemVM>(items);
                RebuildFolderTreeView(items);


                lastCheckDate = DateTime.Now;
                lastSortIndex = SortBySelectedIndex;
                lastAccount   = pbData.ActiveUser;
            }

            UpdateTreeView();
            forceReloadFromDatabase = false;
            watch.Stop();
            logger.Debug("SecureItemsHolderViewModel.RefreshList: Elapsed time {0}", watch.ElapsedMilliseconds);
        }