Example #1
0
        public async Task <bool> LoadEntities(IKntService service, FolderInfoDto folder, bool refreshView = true)
        {
            try
            {
                Service     = service;
                Folder      = folder;
                NotesFilter = null;

                Guid f;
                if (Folder == null)
                {
                    f = Guid.Empty;
                }
                else
                {
                    f = Folder.FolderId;
                }

                Result <List <NoteInfoDto> > response;
                if (folder == null)
                {
                    response = await Service.Notes.GetAllAsync();
                }
                else
                {
                    response = await Service.Notes.GetByFolderAsync(f);
                }

                if (response.IsValid)
                {
                    ListEntities = response.Entity;

                    if (refreshView)
                    {
                        View.RefreshView();
                    }

                    if (ListEntities?.Count > 0)
                    {
                        SelectedEntity = ListEntities[0];
                    }
                    else
                    {
                        SelectedEntity = null;
                    }
                }
                else
                {
                    View.ShowInfo(response.Message);
                    return(false);
                }
            }
            catch (Exception ex)
            {
                View.ShowInfo(ex.Message);
                return(false);
            }

            return(true);
        }
Example #2
0
        public FolderNode(FolderInfoDto folderInfo, int?selectedFolderId)
        {
            Id            = folderInfo.FolderId;
            Name          = folderInfo.Name;
            FullName      = folderInfo.FullName;
            IsSubsiteRoot = folderInfo.IsSubsiteRoot;
            if (selectedFolderId.HasValue && selectedFolderId.Value == Id)
            {
                IsSelected = true;
            }

            switch (folderInfo.FolderType)
            {
            case FolderType.Content:
                Controller = "Folder";
                Action     = "Explorer";
                break;

            case FolderType.Document:
                Controller = "Document";
                Action     = "Explorer";
                break;

            case FolderType.Setting:
                Controller = "Setting";
                Action     = folderInfo.Name;
                break;
            }

            SubNodes = new List <FolderNode>();
        }
Example #3
0
 private void BuildTree()
 {
     if (NodeList != null)
     {
         FolderInfoDto rootNode = NodeList.FirstOrDefault(o => o.ParentId == null);
         if (rootNode != null)
         {
             TreeRoot = new FolderNode(rootNode, SelectedFolderId);
             // add first level nodes
             foreach (FolderInfoDto item in NodeList.Where(o => object.Equals(o.ParentId, rootNode.FolderId)).OrderBy(o => o.Sort))
             {
                 // add node
                 FolderNode node = new FolderNode(item, SelectedFolderId);
                 TreeRoot.SubNodes.Add(node);
                 // explorer next level
                 BuildSubTree(node, 1);
             }
         }
     }
 }